UNPKG

chargebee

Version:

A library for integrating with Chargebee.

364 lines (363 loc) 18.7 kB
"use strict"; // Generated Zod schemas: Plan // Actions: create, update, list, copy // Do not edit manually – regenerate via sdk-generator Object.defineProperty(exports, "__esModule", { value: true }); exports.CopyPlanBodySchema = exports.ListPlanBodySchema = exports.UpdatePlanBodySchema = exports.CreatePlanBodySchema = void 0; const zod_1 = require("zod"); //Plan.create const CreatePlanMetaDataSchema = zod_1.z.looseObject({}); const CreatePlanTiersSchema = zod_1.z.object({ starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(), price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(), }); const CreatePlanTaxProvidersFieldsSchema = zod_1.z.object({ provider_name: zod_1.z.array(zod_1.z.string().max(50).optional()), field_id: zod_1.z.array(zod_1.z.string().max(50).optional()), field_value: zod_1.z.array(zod_1.z.string().max(50).optional()), }); const CreatePlanApplicableAddonsSchema = zod_1.z.object({ id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), }); const CreatePlanEventBasedAddonsSchema = zod_1.z.object({ id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), on_event: zod_1.z .array(zod_1.z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: zod_1.z.array(zod_1.z.boolean().default(true).optional()).optional(), }); const CreatePlanAttachedAddonsSchema = zod_1.z.object({ id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), billing_cycles: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), type: zod_1.z.array(zod_1.z.enum(['recommended', 'mandatory']).optional()).optional(), }); const CreatePlanBodySchema = zod_1.z.looseObject({ id: zod_1.z.string().max(100), name: zod_1.z.string().max(100), invoice_name: zod_1.z.string().max(100).optional(), description: zod_1.z.string().max(2000).optional(), trial_period: zod_1.z.number().int().min(1).optional(), trial_period_unit: zod_1.z.enum(['day', 'month']).optional(), trial_end_action: zod_1.z .enum(['site_default', 'activate_subscription', 'cancel_subscription']) .optional(), period: zod_1.z.number().int().min(1).optional(), period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), setup_cost: zod_1.z.number().int().min(1).optional(), price: zod_1.z.number().int().min(0).optional(), price_in_decimal: zod_1.z.string().max(39).optional(), currency_code: zod_1.z.string().max(3).optional(), billing_cycles: zod_1.z.number().int().min(1).optional(), pricing_model: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), charge_model: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), free_quantity: zod_1.z.number().int().min(0).optional(), free_quantity_in_decimal: zod_1.z.string().max(33).optional(), addon_applicability: zod_1.z.enum(['all', 'restricted']).optional(), downgrade_penalty: zod_1.z.number().min(0.01).max(100).optional(), redirect_url: zod_1.z.string().max(500).optional(), enabled_in_hosted_pages: zod_1.z.boolean().default(true).optional(), enabled_in_portal: zod_1.z.boolean().default(true).optional(), taxable: zod_1.z.boolean().default(true).optional(), tax_profile_id: zod_1.z.string().max(50).optional(), tax_code: zod_1.z.string().max(50).optional(), hsn_code: zod_1.z.string().max(50).optional(), taxjar_product_code: zod_1.z.string().max(50).optional(), avalara_sale_type: zod_1.z .enum(['wholesale', 'retail', 'consumed', 'vendor_use']) .optional(), avalara_transaction_type: zod_1.z.number().int().optional(), avalara_service_type: zod_1.z.number().int().optional(), sku: zod_1.z.string().max(100).optional(), accounting_code: zod_1.z.string().max(100).optional(), accounting_category1: zod_1.z.string().max(100).optional(), accounting_category2: zod_1.z.string().max(100).optional(), accounting_category3: zod_1.z.string().max(100).optional(), accounting_category4: zod_1.z.string().max(100).optional(), is_shippable: zod_1.z.boolean().default(false).optional(), shipping_frequency_period: zod_1.z.number().int().min(1).optional(), shipping_frequency_period_unit: zod_1.z .enum(['year', 'month', 'week', 'day']) .optional(), invoice_notes: zod_1.z.string().max(2000).optional(), meta_data: CreatePlanMetaDataSchema.optional(), show_description_in_invoices: zod_1.z.boolean().default(false).optional(), show_description_in_quotes: zod_1.z.boolean().default(false).optional(), giftable: zod_1.z.boolean().default(false).optional(), status: zod_1.z.enum(['active', 'archived']).optional(), claim_url: zod_1.z.string().max(500).optional(), tiers: CreatePlanTiersSchema.optional(), tax_providers_fields: CreatePlanTaxProvidersFieldsSchema.optional(), applicable_addons: CreatePlanApplicableAddonsSchema.optional(), event_based_addons: CreatePlanEventBasedAddonsSchema.optional(), attached_addons: CreatePlanAttachedAddonsSchema.optional(), }); exports.CreatePlanBodySchema = CreatePlanBodySchema; //Plan.update const UpdatePlanMetaDataSchema = zod_1.z.looseObject({}); const UpdatePlanTiersSchema = zod_1.z.object({ starting_unit: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), ending_unit: zod_1.z.array(zod_1.z.number().int().optional()).optional(), price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), ending_unit_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(), }); const UpdatePlanTaxProvidersFieldsSchema = zod_1.z.object({ provider_name: zod_1.z.array(zod_1.z.string().max(50).optional()), field_id: zod_1.z.array(zod_1.z.string().max(50).optional()), field_value: zod_1.z.array(zod_1.z.string().max(50).optional()), }); const UpdatePlanApplicableAddonsSchema = zod_1.z.object({ id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), }); const UpdatePlanEventBasedAddonsSchema = zod_1.z.object({ id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), on_event: zod_1.z .array(zod_1.z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: zod_1.z.array(zod_1.z.boolean().default(true).optional()).optional(), }); const UpdatePlanAttachedAddonsSchema = zod_1.z.object({ id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(), quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), quantity_in_decimal: zod_1.z.array(zod_1.z.string().max(33).optional()).optional(), billing_cycles: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(), type: zod_1.z.array(zod_1.z.enum(['recommended', 'mandatory']).optional()).optional(), }); const UpdatePlanBodySchema = zod_1.z.looseObject({ name: zod_1.z.string().max(100).optional(), invoice_name: zod_1.z.string().max(100).optional(), description: zod_1.z.string().max(2000).optional(), trial_period: zod_1.z.number().int().min(0).optional(), trial_period_unit: zod_1.z.enum(['day', 'month']).optional(), trial_end_action: zod_1.z .enum(['site_default', 'activate_subscription', 'cancel_subscription']) .optional(), period: zod_1.z.number().int().min(1).optional(), period_unit: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), setup_cost: zod_1.z.number().int().min(1).optional(), price: zod_1.z.number().int().min(0).optional(), price_in_decimal: zod_1.z.string().max(39).optional(), currency_code: zod_1.z.string().max(3).optional(), billing_cycles: zod_1.z.number().int().min(1).optional(), pricing_model: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), charge_model: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), free_quantity: zod_1.z.number().int().min(0).optional(), free_quantity_in_decimal: zod_1.z.string().max(33).optional(), addon_applicability: zod_1.z.enum(['all', 'restricted']).optional(), downgrade_penalty: zod_1.z.number().min(0.01).max(100).optional(), redirect_url: zod_1.z.string().max(500).optional(), enabled_in_hosted_pages: zod_1.z.boolean().default(true).optional(), enabled_in_portal: zod_1.z.boolean().default(true).optional(), taxable: zod_1.z.boolean().default(true).optional(), tax_profile_id: zod_1.z.string().max(50).optional(), tax_code: zod_1.z.string().max(50).optional(), hsn_code: zod_1.z.string().max(50).optional(), taxjar_product_code: zod_1.z.string().max(50).optional(), avalara_sale_type: zod_1.z .enum(['wholesale', 'retail', 'consumed', 'vendor_use']) .optional(), avalara_transaction_type: zod_1.z.number().int().optional(), avalara_service_type: zod_1.z.number().int().optional(), sku: zod_1.z.string().max(100).optional(), accounting_code: zod_1.z.string().max(100).optional(), accounting_category1: zod_1.z.string().max(100).optional(), accounting_category2: zod_1.z.string().max(100).optional(), accounting_category3: zod_1.z.string().max(100).optional(), accounting_category4: zod_1.z.string().max(100).optional(), is_shippable: zod_1.z.boolean().default(false).optional(), shipping_frequency_period: zod_1.z.number().int().min(1).optional(), shipping_frequency_period_unit: zod_1.z .enum(['year', 'month', 'week', 'day']) .optional(), invoice_notes: zod_1.z.string().max(2000).optional(), meta_data: UpdatePlanMetaDataSchema.optional(), show_description_in_invoices: zod_1.z.boolean().default(false).optional(), show_description_in_quotes: zod_1.z.boolean().default(false).optional(), tiers: UpdatePlanTiersSchema.optional(), tax_providers_fields: UpdatePlanTaxProvidersFieldsSchema.optional(), applicable_addons: UpdatePlanApplicableAddonsSchema.optional(), event_based_addons: UpdatePlanEventBasedAddonsSchema.optional(), attached_addons: UpdatePlanAttachedAddonsSchema.optional(), }); exports.UpdatePlanBodySchema = UpdatePlanBodySchema; //Plan.list const ListPlanIdSchema = 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 ListPlanNameSchema = 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 ListPlanPriceSchema = zod_1.z.object({ is: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), lt: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), lte: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), gt: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), gte: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), between: zod_1.z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListPlanPeriodSchema = zod_1.z.object({ is: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), lt: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), lte: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), gt: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), gte: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), between: zod_1.z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListPlanPeriodUnitSchema = zod_1.z.object({ is: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), is_not: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), in: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), not_in: zod_1.z.enum(['day', 'week', 'month', 'year']).optional(), }); const ListPlanTrialPeriodSchema = zod_1.z.object({ is: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), lt: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), lte: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), gt: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), gte: zod_1.z.string().regex(RegExp('^-?\\d+$')).optional(), between: zod_1.z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), is_present: zod_1.z.enum(['true', 'false']).optional(), }); const ListPlanTrialPeriodUnitSchema = zod_1.z.object({ is: zod_1.z.enum(['day', 'month']).optional(), is_not: zod_1.z.enum(['day', 'month']).optional(), in: zod_1.z.enum(['day', 'month']).optional(), not_in: zod_1.z.enum(['day', 'month']).optional(), }); const ListPlanAddonApplicabilitySchema = zod_1.z.object({ is: zod_1.z.enum(['all', 'restricted']).optional(), is_not: zod_1.z.enum(['all', 'restricted']).optional(), in: zod_1.z.enum(['all', 'restricted']).optional(), not_in: zod_1.z.enum(['all', 'restricted']).optional(), }); const ListPlanGiftableSchema = zod_1.z.object({ is: zod_1.z.enum(['true', 'false']).optional(), }); const ListPlanChargeModelSchema = zod_1.z.object({ is: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), is_not: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), in: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), not_in: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), }); const ListPlanPricingModelSchema = zod_1.z.object({ is: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), is_not: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), in: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), not_in: zod_1.z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), }); const ListPlanStatusSchema = zod_1.z.object({ is: zod_1.z.enum(['active', 'archived', 'deleted']).optional(), is_not: zod_1.z.enum(['active', 'archived', 'deleted']).optional(), in: zod_1.z.enum(['active', 'archived', 'deleted']).optional(), not_in: zod_1.z.enum(['active', 'archived', 'deleted']).optional(), }); const ListPlanUpdatedAtSchema = 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 ListPlanCurrencyCodeSchema = 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 ListPlanChannelSchema = zod_1.z.object({ is: zod_1.z.enum(['web', 'app_store', 'play_store']).optional(), is_not: zod_1.z.enum(['web', 'app_store', 'play_store']).optional(), in: zod_1.z.enum(['web', 'app_store', 'play_store']).optional(), not_in: zod_1.z.enum(['web', 'app_store', 'play_store']).optional(), }); const ListPlanBodySchema = zod_1.z.looseObject({ limit: zod_1.z.number().int().min(1).max(100).optional(), offset: zod_1.z.string().max(1000).optional(), id: ListPlanIdSchema.optional(), name: ListPlanNameSchema.optional(), price: ListPlanPriceSchema.optional(), period: ListPlanPeriodSchema.optional(), period_unit: ListPlanPeriodUnitSchema.optional(), trial_period: ListPlanTrialPeriodSchema.optional(), trial_period_unit: ListPlanTrialPeriodUnitSchema.optional(), addon_applicability: ListPlanAddonApplicabilitySchema.optional(), giftable: ListPlanGiftableSchema.optional(), charge_model: ListPlanChargeModelSchema.optional(), pricing_model: ListPlanPricingModelSchema.optional(), status: ListPlanStatusSchema.optional(), updated_at: ListPlanUpdatedAtSchema.optional(), currency_code: ListPlanCurrencyCodeSchema.optional(), channel: ListPlanChannelSchema.optional(), include_deleted: zod_1.z.boolean().default(false).optional(), }); exports.ListPlanBodySchema = ListPlanBodySchema; //Plan.copy const CopyPlanBodySchema = 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.CopyPlanBodySchema = CopyPlanBodySchema;