chargebee
Version:
A library for integrating with Chargebee.
196 lines (195 loc) • 10.2 kB
JavaScript
"use strict";
// Generated Zod schemas: Item
// Actions: create, update, list
// Do not edit manually – regenerate via sdk-generator
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListItemBodySchema = exports.UpdateItemBodySchema = exports.CreateItemBodySchema = void 0;
const zod_1 = require("zod");
//Item.create
const CreateItemMetadataSchema = zod_1.z.looseObject({});
const CreateItemBundleConfigurationSchema = zod_1.z.object({
type: zod_1.z.enum(['fixed']).optional(),
});
const CreateItemBundleItemsToAddSchema = zod_1.z.object({
item_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
price_allocation: zod_1.z.array(zod_1.z.number().min(0).max(100).optional()).optional(),
});
const CreateItemBodySchema = zod_1.z.looseObject({
id: zod_1.z.string().max(100),
name: zod_1.z.string().max(100),
type: zod_1.z.enum(['plan', 'addon', 'charge']),
description: zod_1.z.string().max(2000).optional(),
item_family_id: zod_1.z.string().max(100),
is_giftable: zod_1.z.boolean().default(false).optional(),
is_shippable: zod_1.z.boolean().default(false).optional(),
external_name: zod_1.z.string().max(100).optional(),
enabled_in_portal: zod_1.z.boolean().default(true).optional(),
redirect_url: zod_1.z.string().max(500).optional(),
enabled_for_checkout: zod_1.z.boolean().default(true).optional(),
item_applicability: zod_1.z.enum(['all', 'restricted']).optional(),
applicable_items: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
unit: zod_1.z.string().max(30).optional(),
gift_claim_redirect_url: zod_1.z.string().max(500).optional(),
included_in_mrr: zod_1.z.boolean().optional(),
metered: zod_1.z.boolean().default(false).optional(),
usage_calculation: zod_1.z
.enum(['sum_of_usages', 'last_usage', 'max_usage'])
.optional(),
is_percentage_pricing: zod_1.z.boolean().default(false).optional(),
metadata: CreateItemMetadataSchema.optional(),
business_entity_id: zod_1.z.string().max(50).optional(),
bundle_configuration: CreateItemBundleConfigurationSchema.optional(),
bundle_items_to_add: CreateItemBundleItemsToAddSchema.optional(),
});
exports.CreateItemBodySchema = CreateItemBodySchema;
//Item.update
const UpdateItemMetadataSchema = zod_1.z.looseObject({});
const UpdateItemBundleConfigurationSchema = zod_1.z.object({
type: zod_1.z.enum(['fixed']).optional(),
});
const UpdateItemBundleItemsToAddSchema = zod_1.z.object({
item_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
price_allocation: zod_1.z.array(zod_1.z.number().min(0).max(100).optional()).optional(),
});
const UpdateItemBundleItemsToUpdateSchema = zod_1.z.object({
item_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(),
quantity: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
price_allocation: zod_1.z.array(zod_1.z.number().min(0).max(100).optional()).optional(),
});
const UpdateItemBundleItemsToRemoveSchema = zod_1.z.object({
item_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
item_type: zod_1.z.array(zod_1.z.enum(['plan', 'addon', 'charge']).optional()).optional(),
});
const UpdateItemBodySchema = zod_1.z.looseObject({
name: zod_1.z.string().max(100).optional(),
description: zod_1.z.string().max(2000).optional(),
is_shippable: zod_1.z.boolean().default(false).optional(),
external_name: zod_1.z.string().max(100).optional(),
item_family_id: zod_1.z.string().max(100).optional(),
enabled_in_portal: zod_1.z.boolean().default(true).optional(),
redirect_url: zod_1.z.string().max(500).optional(),
enabled_for_checkout: zod_1.z.boolean().default(true).optional(),
item_applicability: zod_1.z.enum(['all', 'restricted']).optional(),
clear_applicable_items: zod_1.z.boolean().default(false).optional(),
applicable_items: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
unit: zod_1.z.string().max(30).optional(),
gift_claim_redirect_url: zod_1.z.string().max(500).optional(),
metadata: UpdateItemMetadataSchema.optional(),
included_in_mrr: zod_1.z.boolean().optional(),
status: zod_1.z.enum(['active', 'archived']).optional(),
is_percentage_pricing: zod_1.z.boolean().default(false).optional(),
bundle_configuration: UpdateItemBundleConfigurationSchema.optional(),
bundle_items_to_add: UpdateItemBundleItemsToAddSchema.optional(),
bundle_items_to_update: UpdateItemBundleItemsToUpdateSchema.optional(),
bundle_items_to_remove: UpdateItemBundleItemsToRemoveSchema.optional(),
});
exports.UpdateItemBodySchema = UpdateItemBodySchema;
//Item.list
const ListItemIdSchema = 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 ListItemItemFamilyIdSchema = 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 ListItemTypeSchema = zod_1.z.object({
is: zod_1.z.enum(['plan', 'addon', 'charge']).optional(),
is_not: zod_1.z.enum(['plan', 'addon', 'charge']).optional(),
in: zod_1.z.enum(['plan', 'addon', 'charge']).optional(),
not_in: zod_1.z.enum(['plan', 'addon', 'charge']).optional(),
});
const ListItemNameSchema = 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(),
});
const ListItemItemApplicabilitySchema = 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 ListItemStatusSchema = 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 ListItemIsGiftableSchema = zod_1.z.object({
is: zod_1.z.enum(['true', 'false']).optional(),
});
const ListItemUpdatedAtSchema = 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 ListItemEnabledForCheckoutSchema = zod_1.z.object({
is: zod_1.z.enum(['true', 'false']).optional(),
});
const ListItemEnabledInPortalSchema = zod_1.z.object({
is: zod_1.z.enum(['true', 'false']).optional(),
});
const ListItemMeteredSchema = zod_1.z.object({
is: zod_1.z.enum(['true', 'false']).optional(),
});
const ListItemUsageCalculationSchema = zod_1.z.object({
is: zod_1.z.enum(['sum_of_usages', 'last_usage', 'max_usage']).optional(),
is_not: zod_1.z.enum(['sum_of_usages', 'last_usage', 'max_usage']).optional(),
in: zod_1.z.enum(['sum_of_usages', 'last_usage', 'max_usage']).optional(),
not_in: zod_1.z.enum(['sum_of_usages', 'last_usage', 'max_usage']).optional(),
});
const ListItemChannelSchema = 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 ListItemBusinessEntityIdSchema = zod_1.z.object({
is: zod_1.z.string().min(1).optional(),
is_present: zod_1.z.enum(['true', 'false']).optional(),
});
const ListItemIncludeSiteLevelResourcesSchema = zod_1.z.object({
is: zod_1.z.enum(['true', 'false']).optional(),
});
const ListItemSortBySchema = zod_1.z.looseObject({
asc: zod_1.z.enum(['name', 'id', 'updated_at']).optional(),
desc: zod_1.z.enum(['name', 'id', 'updated_at']).optional(),
});
const ListItemBundleConfigurationSchema = zod_1.z.object({
type: ListItemTypeSchema.optional(),
});
const ListItemBodySchema = zod_1.z.looseObject({
limit: zod_1.z.number().int().min(1).max(100).optional(),
offset: zod_1.z.string().max(1000).optional(),
id: ListItemIdSchema.optional(),
item_family_id: ListItemItemFamilyIdSchema.optional(),
type: ListItemTypeSchema.optional(),
name: ListItemNameSchema.optional(),
item_applicability: ListItemItemApplicabilitySchema.optional(),
status: ListItemStatusSchema.optional(),
is_giftable: ListItemIsGiftableSchema.optional(),
updated_at: ListItemUpdatedAtSchema.optional(),
enabled_for_checkout: ListItemEnabledForCheckoutSchema.optional(),
enabled_in_portal: ListItemEnabledInPortalSchema.optional(),
metered: ListItemMeteredSchema.optional(),
usage_calculation: ListItemUsageCalculationSchema.optional(),
channel: ListItemChannelSchema.optional(),
business_entity_id: ListItemBusinessEntityIdSchema.optional(),
include_site_level_resources: ListItemIncludeSiteLevelResourcesSchema.optional(),
sort_by: ListItemSortBySchema.optional(),
bundle_configuration: ListItemBundleConfigurationSchema.optional(),
});
exports.ListItemBodySchema = ListItemBodySchema;