Filter out metered line items from billing schema
This update refines the process of creating a billing schema by filtering out metered line items. The change is necessary as metered line items can be shared across different plans, potentially causing conflicts or duplicates in the schema.
This commit is contained in:
@@ -173,7 +173,12 @@ export const PlanSchema = z
|
||||
)
|
||||
.refine(
|
||||
(item) => {
|
||||
const ids = item.lineItems.map((item) => item.id);
|
||||
// metered line items can be shared across plans
|
||||
const lineItems = item.lineItems.filter(
|
||||
(item) => item.type !== LineItemType.Metered,
|
||||
);
|
||||
|
||||
const ids = lineItems.map((item) => item.id);
|
||||
|
||||
return ids.length === new Set(ids).size;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user