UNPKG

chargebee

Version:

A library for integrating with Chargebee.

333 lines (332 loc) 15.9 kB
// Generated Zod schemas: ItemPrice // Actions: create, update, list, findApplicableItems, findApplicableItemPrices // Do not edit manually – regenerate via sdk-generator import { z } from 'zod'; //ItemPrice.create const CreateItemPriceMetadataSchema = z.looseObject({}); const CreateItemPriceTaxDetailSchema = z.object({ tax_profile_id: z.string().max(50).optional(), avalara_tax_code: z.string().max(50).optional(), hsn_code: z.string().max(50).optional(), avalara_sale_type: z .enum(['wholesale', 'retail', 'consumed', 'vendor_use']) .optional(), avalara_transaction_type: z.number().int().optional(), avalara_service_type: z.number().int().optional(), taxjar_product_code: z.string().max(50).optional(), }); const CreateItemPriceAccountingDetailSchema = z.object({ sku: z.string().max(100).optional(), accounting_code: z.string().max(100).optional(), accounting_category1: z.string().max(100).optional(), accounting_category2: z.string().max(100).optional(), accounting_category3: z.string().max(100).optional(), accounting_category4: z.string().max(100).optional(), }); const CreateItemPriceTiersSchema = z.object({ starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), }); const CreateItemPriceTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()), field_id: z.array(z.string().max(50).optional()), field_value: z.array(z.string().max(50).optional()), }); const CreateItemPriceBodySchema = z.looseObject({ id: z.string().max(100), name: z.string().max(100), description: z.string().max(2000).optional(), item_id: z.string().max(100), invoice_notes: z.string().max(2000).optional(), proration_type: z .enum(['site_default', 'partial_term', 'full_term']) .optional(), external_name: z.string().max(100).optional(), currency_code: z.string().max(3).optional(), price_variant_id: z.string().max(100).optional(), is_taxable: z.boolean().default(true).optional(), free_quantity: z.number().int().min(0).optional(), free_quantity_in_decimal: z.string().max(33).optional(), metadata: CreateItemPriceMetadataSchema.optional(), show_description_in_invoices: z.boolean().default(false).optional(), show_description_in_quotes: z.boolean().default(false).optional(), usage_accumulation_reset_frequency: z .enum(['never', 'subscription_billing_frequency']) .optional(), business_entity_id: z.string().max(50).optional(), pricing_model: z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), price: z.number().int().min(0).optional(), price_in_decimal: z.string().max(39).optional(), period_unit: z.enum(['day', 'week', 'month', 'year']).optional(), period: z.number().int().min(1).optional(), trial_period_unit: z.enum(['day', 'month']).optional(), trial_period: z.number().int().min(0).optional(), shipping_period: z.number().int().min(1).optional(), shipping_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(), billing_cycles: z.number().int().min(1).optional(), trial_end_action: z .enum(['site_default', 'activate_subscription', 'cancel_subscription']) .optional(), tax_detail: CreateItemPriceTaxDetailSchema.optional(), accounting_detail: CreateItemPriceAccountingDetailSchema.optional(), tiers: CreateItemPriceTiersSchema.optional(), tax_providers_fields: CreateItemPriceTaxProvidersFieldsSchema.optional(), }); export { CreateItemPriceBodySchema }; //ItemPrice.update const UpdateItemPriceMetadataSchema = z.looseObject({}); const UpdateItemPriceTaxDetailSchema = z.object({ tax_profile_id: z.string().max(50).optional(), avalara_tax_code: z.string().max(50).optional(), hsn_code: z.string().max(50).optional(), avalara_sale_type: z .enum(['wholesale', 'retail', 'consumed', 'vendor_use']) .optional(), avalara_transaction_type: z.number().int().optional(), avalara_service_type: z.number().int().optional(), taxjar_product_code: z.string().max(50).optional(), }); const UpdateItemPriceAccountingDetailSchema = z.object({ sku: z.string().max(100).optional(), accounting_code: z.string().max(100).optional(), accounting_category1: z.string().max(100).optional(), accounting_category2: z.string().max(100).optional(), accounting_category3: z.string().max(100).optional(), accounting_category4: z.string().max(100).optional(), }); const UpdateItemPriceTiersSchema = z.object({ starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), }); const UpdateItemPriceTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()), field_id: z.array(z.string().max(50).optional()), field_value: z.array(z.string().max(50).optional()), }); const UpdateItemPriceBodySchema = z.looseObject({ name: z.string().max(100).optional(), description: z.string().max(2000).optional(), proration_type: z .enum(['site_default', 'partial_term', 'full_term']) .optional(), price_variant_id: z.string().max(100).optional(), status: z.enum(['active', 'archived']).optional(), external_name: z.string().max(100).optional(), usage_accumulation_reset_frequency: z .enum(['never', 'subscription_billing_frequency']) .optional(), currency_code: z.string().max(3).optional(), invoice_notes: z.string().max(2000).optional(), is_taxable: z.boolean().default(true).optional(), free_quantity: z.number().int().min(0).optional(), free_quantity_in_decimal: z.string().max(33).optional(), metadata: UpdateItemPriceMetadataSchema.optional(), pricing_model: z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), price: z.number().int().min(0).optional(), price_in_decimal: z.string().max(39).optional(), period_unit: z.enum(['day', 'week', 'month', 'year']).optional(), period: z.number().int().min(1).optional(), trial_period_unit: z.enum(['day', 'month']).optional(), trial_period: z.number().int().min(0).optional(), shipping_period: z.number().int().min(1).optional(), shipping_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(), billing_cycles: z.number().int().min(1).optional(), trial_end_action: z .enum(['site_default', 'activate_subscription', 'cancel_subscription']) .optional(), show_description_in_invoices: z.boolean().optional(), show_description_in_quotes: z.boolean().optional(), tax_detail: UpdateItemPriceTaxDetailSchema.optional(), accounting_detail: UpdateItemPriceAccountingDetailSchema.optional(), tiers: UpdateItemPriceTiersSchema.optional(), tax_providers_fields: UpdateItemPriceTaxProvidersFieldsSchema.optional(), }); export { UpdateItemPriceBodySchema }; //ItemPrice.list const ListItemPriceIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListItemPriceNameSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListItemPricePricingModelSchema = z.object({ is: z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), is_not: z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), in: z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), not_in: z .enum(['flat_fee', 'per_unit', 'tiered', 'volume', 'stairstep']) .optional(), }); const ListItemPriceItemIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListItemPriceItemFamilyIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListItemPriceItemTypeSchema = z.object({ is: z.enum(['plan', 'addon', 'charge']).optional(), is_not: z.enum(['plan', 'addon', 'charge']).optional(), in: z.enum(['plan', 'addon', 'charge']).optional(), not_in: z.enum(['plan', 'addon', 'charge']).optional(), }); const ListItemPriceCurrencyCodeSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListItemPricePriceVariantIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListItemPriceTrialPeriodSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListItemPriceTrialPeriodUnitSchema = z.object({ is: z.enum(['day', 'month']).optional(), is_not: z.enum(['day', 'month']).optional(), in: z.enum(['day', 'month']).optional(), not_in: z.enum(['day', 'month']).optional(), }); const ListItemPriceStatusSchema = z.object({ is: z.enum(['active', 'archived', 'deleted']).optional(), is_not: z.enum(['active', 'archived', 'deleted']).optional(), in: z.enum(['active', 'archived', 'deleted']).optional(), not_in: z.enum(['active', 'archived', 'deleted']).optional(), }); const ListItemPriceUpdatedAtSchema = z.object({ after: z.string().regex(RegExp('^\\d{10}$')).optional(), before: z.string().regex(RegExp('^\\d{10}$')).optional(), on: z.string().regex(RegExp('^\\d{10}$')).optional(), between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), }); const ListItemPriceBusinessEntityIdSchema = z.object({ is: z.string().min(1).optional(), is_present: z.enum(['true', 'false']).optional(), }); const ListItemPriceIncludeSiteLevelResourcesSchema = z.object({ is: z.enum(['true', 'false']).optional(), }); const ListItemPricePeriodUnitSchema = z.object({ is: z.enum(['day', 'week', 'month', 'year']).optional(), is_not: z.enum(['day', 'week', 'month', 'year']).optional(), in: z.enum(['day', 'week', 'month', 'year']).optional(), not_in: z.enum(['day', 'week', 'month', 'year']).optional(), }); const ListItemPricePeriodSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListItemPriceChannelSchema = z.object({ is: z.enum(['web', 'app_store', 'play_store']).optional(), is_not: z.enum(['web', 'app_store', 'play_store']).optional(), in: z.enum(['web', 'app_store', 'play_store']).optional(), not_in: z.enum(['web', 'app_store', 'play_store']).optional(), }); const ListItemPriceSortBySchema = z.looseObject({ asc: z.enum(['name', 'id', 'updated_at']).optional(), desc: z.enum(['name', 'id', 'updated_at']).optional(), }); const ListItemPriceBodySchema = z.looseObject({ limit: z.number().int().min(1).max(100).optional(), offset: z.string().max(1000).optional(), id: ListItemPriceIdSchema.optional(), name: ListItemPriceNameSchema.optional(), pricing_model: ListItemPricePricingModelSchema.optional(), item_id: ListItemPriceItemIdSchema.optional(), item_family_id: ListItemPriceItemFamilyIdSchema.optional(), item_type: ListItemPriceItemTypeSchema.optional(), currency_code: ListItemPriceCurrencyCodeSchema.optional(), price_variant_id: ListItemPricePriceVariantIdSchema.optional(), trial_period: ListItemPriceTrialPeriodSchema.optional(), trial_period_unit: ListItemPriceTrialPeriodUnitSchema.optional(), status: ListItemPriceStatusSchema.optional(), updated_at: ListItemPriceUpdatedAtSchema.optional(), business_entity_id: ListItemPriceBusinessEntityIdSchema.optional(), include_site_level_resources: ListItemPriceIncludeSiteLevelResourcesSchema.optional(), period_unit: ListItemPricePeriodUnitSchema.optional(), period: ListItemPricePeriodSchema.optional(), channel: ListItemPriceChannelSchema.optional(), sort_by: ListItemPriceSortBySchema.optional(), }); export { ListItemPriceBodySchema }; //ItemPrice.findApplicableItems const FindApplicableItemsItemPriceSortBySchema = z.looseObject({ asc: z.enum(['name', 'id', 'updated_at']).optional(), desc: z.enum(['name', 'id', 'updated_at']).optional(), }); const FindApplicableItemsItemPriceBodySchema = z.looseObject({ limit: z.number().int().min(1).max(100).optional(), offset: z.string().max(1000).optional(), sort_by: FindApplicableItemsItemPriceSortBySchema.optional(), }); export { FindApplicableItemsItemPriceBodySchema }; //ItemPrice.findApplicableItemPrices const FindApplicableItemPricesItemPriceSortBySchema = z.looseObject({ asc: z.enum(['name', 'id', 'updated_at']).optional(), desc: z.enum(['name', 'id', 'updated_at']).optional(), }); const FindApplicableItemPricesItemPriceBodySchema = z.looseObject({ limit: z.number().int().min(1).max(100).optional(), offset: z.string().max(1000).optional(), item_id: z.string().max(100).optional(), sort_by: FindApplicableItemPricesItemPriceSortBySchema.optional(), }); export { FindApplicableItemPricesItemPriceBodySchema };