Files
cfw-autumn/shared/models/cusModels/cusResModels/cusProductResponse.ts
John Yeo 3d0e4f94f2 wip
2025-09-29 11:15:23 +01:00

36 lines
1.0 KiB
TypeScript

import { z } from "zod/v4";
import { CusProductStatus } from "../../cusProductModels/cusProductEnums.js";
import { ProductItemResponseSchema } from "../../productV2Models/productItemModels/prodItemResponseModels.js";
export const CusProductResponseSchema = z.object({
id: z.string(),
name: z.string().nullable(),
group: z.string().nullable(),
status: z.nativeEnum(CusProductStatus),
// created_at: z.number(),
canceled: z.boolean().nullish(),
trialing: z.boolean().nullish(),
canceled_at: z.number().nullish(),
started_at: z.number(),
is_default: z.boolean(),
is_add_on: z.boolean(),
version: z.number().nullish(),
stripe_subscription_ids: z.array(z.string()).nullish(),
current_period_start: z.number().nullish(),
current_period_end: z.number().nullish(),
entity_id: z.string().nullish(),
items: z.array(ProductItemResponseSchema).nullish(),
quantity: z.number().optional(),
prepaid_quantities: z
.array(
z.object({
quantity: z.number(),
feature_id: z.string(),
}),
)
.nullish(),
});