UNPKG

chargebee

Version:

A library for integrating with Chargebee.

324 lines (323 loc) 15.4 kB
"use strict"; // Generated Zod schemas: Coupon // Actions: create, createForItems, updateForItems, list, update, copy // Do not edit manually – regenerate via sdk-generator Object.defineProperty(exports, "__esModule", { value: true }); exports.CopyCouponBodySchema = exports.UpdateCouponBodySchema = exports.ListCouponBodySchema = exports.UpdateForItemsCouponBodySchema = exports.CreateForItemsCouponBodySchema = exports.CreateCouponBodySchema = void 0; const zod_1 = require("zod"); //Coupon.create const CreateCouponMetaDataSchema = zod_1.z.looseObject({}); const CreateCouponBodySchema = zod_1.z.looseObject({ id: zod_1.z.string().max(100), name: zod_1.z.string().max(50), invoice_name: zod_1.z.string().max(100).optional(), discount_type: zod_1.z .enum(['fixed_amount', 'percentage', 'offer_quantity']) .optional(), discount_amount: zod_1.z.number().int().min(0).optional(), currency_code: zod_1.z.string().max(3).optional(), discount_percentage: zod_1.z.number().min(0.01).max(100).optional(), discount_quantity: zod_1.z.number().int().min(1).optional(), apply_on: zod_1.z.enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]), duration_type: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), duration_month: zod_1.z.number().int().min(1).max(240).optional(), valid_till: zod_1.z.number().int().optional(), max_redemptions: zod_1.z.number().int().min(1).optional(), invoice_notes: zod_1.z.string().max(2000).optional(), meta_data: CreateCouponMetaDataSchema.optional(), included_in_mrr: zod_1.z.boolean().optional(), period: zod_1.z.number().int().min(1).optional(), period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), plan_constraint: zod_1.z.enum(['none', 'all', 'specific']).optional(), addon_constraint: zod_1.z.enum(['none', 'all', 'specific']).optional(), plan_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), addon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), status: zod_1.z.enum(['active', 'archived']).optional(), }); exports.CreateCouponBodySchema = CreateCouponBodySchema; //Coupon.createForItems const CreateForItemsCouponMetaDataSchema = zod_1.z.looseObject({}); const CreateForItemsCouponItemConstraintsSchema = zod_1.z.object({ constraint: zod_1.z.array(zod_1.z.enum(['none', 'all', 'specific', 'criteria']).optional()), item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()), item_price_ids: zod_1.z.array(zod_1.z.array(zod_1.z.string().optional()).optional()).optional(), }); const CreateForItemsCouponItemConstraintCriteriaSchema = zod_1.z.object({ item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(), item_family_ids: zod_1.z .array(zod_1.z.array(zod_1.z.string().optional()).optional()) .optional(), currencies: zod_1.z.array(zod_1.z.array(zod_1.z.string().optional()).optional()).optional(), item_price_periods: zod_1.z .array(zod_1.z.array(zod_1.z.string().optional()).optional()) .optional(), }); const CreateForItemsCouponCouponConstraintsSchema = zod_1.z.object({ entity_type: zod_1.z.array(zod_1.z.enum(['customer']).optional()), type: zod_1.z.array(zod_1.z .enum([ 'max_redemptions', 'unique_by', 'existing_customer', 'new_customer', ]) .optional()), value: zod_1.z.array(zod_1.z.string().max(65000).optional()).optional(), }); const CreateForItemsCouponBodySchema = zod_1.z.looseObject({ id: zod_1.z.string().max(100), name: zod_1.z.string().max(50), invoice_name: zod_1.z.string().max(100).optional(), discount_type: zod_1.z .enum(['fixed_amount', 'percentage', 'offer_quantity']) .optional(), discount_amount: zod_1.z.number().int().min(0).optional(), currency_code: zod_1.z.string().max(3).optional(), discount_percentage: zod_1.z.number().min(0.01).max(100).optional(), discount_quantity: zod_1.z.number().int().min(1).optional(), apply_on: zod_1.z.enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]), duration_type: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), duration_month: zod_1.z.number().int().min(1).max(240).optional(), valid_from: zod_1.z.number().int().optional(), valid_till: zod_1.z.number().int().optional(), max_redemptions: zod_1.z.number().int().min(1).optional(), invoice_notes: zod_1.z.string().max(2000).optional(), meta_data: CreateForItemsCouponMetaDataSchema.optional(), included_in_mrr: zod_1.z.boolean().optional(), period: zod_1.z.number().int().min(1).optional(), period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), status: zod_1.z.enum(['active', 'archived']).optional(), item_constraints: CreateForItemsCouponItemConstraintsSchema.optional(), item_constraint_criteria: CreateForItemsCouponItemConstraintCriteriaSchema.optional(), coupon_constraints: CreateForItemsCouponCouponConstraintsSchema.optional(), }); exports.CreateForItemsCouponBodySchema = CreateForItemsCouponBodySchema; //Coupon.updateForItems const UpdateForItemsCouponMetaDataSchema = zod_1.z.looseObject({}); const UpdateForItemsCouponItemConstraintsSchema = zod_1.z.object({ constraint: zod_1.z.array(zod_1.z.enum(['none', 'all', 'specific', 'criteria']).optional()), item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()), item_price_ids: zod_1.z.array(zod_1.z.array(zod_1.z.string().optional()).optional()).optional(), }); const UpdateForItemsCouponItemConstraintCriteriaSchema = zod_1.z.object({ item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(), item_family_ids: zod_1.z .array(zod_1.z.array(zod_1.z.string().optional()).optional()) .optional(), currencies: zod_1.z.array(zod_1.z.array(zod_1.z.string().optional()).optional()).optional(), item_price_periods: zod_1.z .array(zod_1.z.array(zod_1.z.string().optional()).optional()) .optional(), }); const UpdateForItemsCouponCouponConstraintsSchema = zod_1.z.object({ entity_type: zod_1.z.array(zod_1.z.enum(['customer']).optional()), type: zod_1.z.array(zod_1.z .enum([ 'max_redemptions', 'unique_by', 'existing_customer', 'new_customer', ]) .optional()), value: zod_1.z.array(zod_1.z.string().max(65000).optional()).optional(), }); const UpdateForItemsCouponBodySchema = zod_1.z.looseObject({ name: zod_1.z.string().max(50).optional(), invoice_name: zod_1.z.string().max(100).optional(), discount_type: zod_1.z .enum(['fixed_amount', 'percentage', 'offer_quantity']) .optional(), discount_amount: zod_1.z.number().int().min(0).optional(), currency_code: zod_1.z.string().max(3).optional(), discount_percentage: zod_1.z.number().min(0.01).max(100).optional(), discount_quantity: zod_1.z.number().int().min(1).optional(), apply_on: zod_1.z .enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]) .optional(), duration_type: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), duration_month: zod_1.z.number().int().min(1).max(240).optional(), valid_from: zod_1.z.number().int().optional(), valid_till: zod_1.z.number().int().optional(), max_redemptions: zod_1.z.number().int().min(1).optional(), invoice_notes: zod_1.z.string().max(2000).optional(), meta_data: UpdateForItemsCouponMetaDataSchema.optional(), included_in_mrr: zod_1.z.boolean().optional(), period: zod_1.z.number().int().min(1).optional(), period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), item_constraints: UpdateForItemsCouponItemConstraintsSchema.optional(), item_constraint_criteria: UpdateForItemsCouponItemConstraintCriteriaSchema.optional(), coupon_constraints: UpdateForItemsCouponCouponConstraintsSchema.optional(), }); exports.UpdateForItemsCouponBodySchema = UpdateForItemsCouponBodySchema; //Coupon.list const ListCouponIdSchema = zod_1.z.object({ is: zod_1.z.string().min(1).optional(), is_not: zod_1.z.string().min(1).optional(), starts_with: zod_1.z.string().min(1).optional(), in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListCouponNameSchema = zod_1.z.object({ is: zod_1.z.string().min(1).optional(), is_not: zod_1.z.string().min(1).optional(), starts_with: zod_1.z.string().min(1).optional(), in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListCouponDiscountTypeSchema = zod_1.z.object({ is: zod_1.z.enum(['fixed_amount', 'percentage', 'offer_quantity']).optional(), is_not: zod_1.z.enum(['fixed_amount', 'percentage', 'offer_quantity']).optional(), in: zod_1.z.enum(['fixed_amount', 'percentage', 'offer_quantity']).optional(), not_in: zod_1.z.enum(['fixed_amount', 'percentage', 'offer_quantity']).optional(), }); const ListCouponDurationTypeSchema = zod_1.z.object({ is: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), is_not: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), in: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), not_in: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), }); const ListCouponStatusSchema = zod_1.z.object({ is: zod_1.z.enum(['active', 'expired', 'archived', 'deleted', 'future']).optional(), is_not: zod_1.z .enum(['active', 'expired', 'archived', 'deleted', 'future']) .optional(), in: zod_1.z.enum(['active', 'expired', 'archived', 'deleted', 'future']).optional(), not_in: zod_1.z .enum(['active', 'expired', 'archived', 'deleted', 'future']) .optional(), }); const ListCouponApplyOnSchema = zod_1.z.object({ is: zod_1.z .enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]) .optional(), is_not: zod_1.z .enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]) .optional(), in: zod_1.z .enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]) .optional(), not_in: zod_1.z .enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]) .optional(), }); const ListCouponCreatedAtSchema = zod_1.z.object({ after: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(), before: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(), on: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(), between: zod_1.z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), }); const ListCouponUpdatedAtSchema = zod_1.z.object({ after: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(), before: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(), on: zod_1.z.string().regex(RegExp('^\\d{10}$')).optional(), between: zod_1.z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), }); const ListCouponSortBySchema = zod_1.z.looseObject({ asc: zod_1.z.enum(['created_at']).optional(), desc: zod_1.z.enum(['created_at']).optional(), }); const ListCouponCurrencyCodeSchema = zod_1.z.object({ is: zod_1.z.string().min(1).optional(), is_not: zod_1.z.string().min(1).optional(), starts_with: zod_1.z.string().min(1).optional(), in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListCouponApplicableItemPriceIdsSchema = zod_1.z.object({ is: zod_1.z.string().min(1).optional(), in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListCouponBodySchema = zod_1.z.looseObject({ limit: zod_1.z.number().int().min(1).max(100).optional(), offset: zod_1.z.string().max(1000).optional(), id: ListCouponIdSchema.optional(), name: ListCouponNameSchema.optional(), discount_type: ListCouponDiscountTypeSchema.optional(), duration_type: ListCouponDurationTypeSchema.optional(), status: ListCouponStatusSchema.optional(), apply_on: ListCouponApplyOnSchema.optional(), created_at: ListCouponCreatedAtSchema.optional(), updated_at: ListCouponUpdatedAtSchema.optional(), sort_by: ListCouponSortBySchema.optional(), currency_code: ListCouponCurrencyCodeSchema.optional(), applicable_item_price_ids: ListCouponApplicableItemPriceIdsSchema.optional(), }); exports.ListCouponBodySchema = ListCouponBodySchema; //Coupon.update const UpdateCouponMetaDataSchema = zod_1.z.looseObject({}); const UpdateCouponBodySchema = zod_1.z.looseObject({ name: zod_1.z.string().max(50).optional(), invoice_name: zod_1.z.string().max(100).optional(), discount_type: zod_1.z .enum(['fixed_amount', 'percentage', 'offer_quantity']) .optional(), discount_amount: zod_1.z.number().int().min(0).optional(), currency_code: zod_1.z.string().max(3).optional(), discount_percentage: zod_1.z.number().min(0.01).max(100).optional(), discount_quantity: zod_1.z.number().int().min(1).optional(), apply_on: zod_1.z .enum([ 'invoice_amount', 'specified_items_total', 'each_specified_item', 'each_unit_of_specified_items', ]) .optional(), duration_type: zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional(), duration_month: zod_1.z.number().int().min(1).max(240).optional(), valid_till: zod_1.z.number().int().optional(), max_redemptions: zod_1.z.number().int().min(1).optional(), invoice_notes: zod_1.z.string().max(2000).optional(), meta_data: UpdateCouponMetaDataSchema.optional(), included_in_mrr: zod_1.z.boolean().optional(), period: zod_1.z.number().int().min(1).optional(), period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), plan_constraint: zod_1.z.enum(['none', 'all', 'specific']).optional(), addon_constraint: zod_1.z.enum(['none', 'all', 'specific']).optional(), plan_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), addon_ids: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), }); exports.UpdateCouponBodySchema = UpdateCouponBodySchema; //Coupon.copy const CopyCouponBodySchema = zod_1.z.looseObject({ from_site: zod_1.z.string().max(50), id_at_from_site: zod_1.z.string().max(100), id: zod_1.z.string().max(100).optional(), for_site_merging: zod_1.z.boolean().default(false).optional(), }); exports.CopyCouponBodySchema = CopyCouponBodySchema;