chargebee
Version:
A library for integrating with Chargebee.
246 lines (245 loc) • 12.9 kB
JavaScript
"use strict";
// Generated Zod schemas: Ramp
// Actions: createForSubscription, update, list
// Do not edit manually – regenerate via sdk-generator
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListRampBodySchema = exports.UpdateRampBodySchema = exports.CreateForSubscriptionRampBodySchema = void 0;
const zod_1 = require("zod");
//Ramp.createForSubscription
const CreateForSubscriptionRampContractTermSchema = zod_1.z.object({
action_at_term_end: zod_1.z
.enum(['renew', 'evergreen', 'cancel', 'renew_once'])
.optional(),
cancellation_cutoff_period: zod_1.z.number().int().optional(),
renewal_billing_cycles: zod_1.z.number().int().optional(),
});
const CreateForSubscriptionRampItemsToAddSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).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(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
});
const CreateForSubscriptionRampItemsToUpdateSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).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(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
});
const CreateForSubscriptionRampItemTiersSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
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(),
pricing_type: zod_1.z
.array(zod_1.z.enum(['per_unit', 'flat_fee', 'package']).optional())
.optional(),
package_size: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const CreateForSubscriptionRampCouponsToAddSchema = zod_1.z.object({
coupon_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
apply_till: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
});
const CreateForSubscriptionRampDiscountsToAddSchema = zod_1.z.object({
apply_on: zod_1.z.array(zod_1.z.enum(['invoice_amount', 'specific_item_price']).optional()),
duration_type: zod_1.z.array(zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional()),
percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
period: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
period_unit: zod_1.z
.array(zod_1.z.enum(['day', 'week', 'month', 'year']).optional())
.optional(),
included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
});
const CreateForSubscriptionRampBodySchema = zod_1.z.looseObject({
effective_from: zod_1.z.number().int(),
description: zod_1.z.string().max(250).optional(),
coupons_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
discounts_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
items_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
contract_term: CreateForSubscriptionRampContractTermSchema.optional(),
items_to_add: CreateForSubscriptionRampItemsToAddSchema.optional(),
items_to_update: CreateForSubscriptionRampItemsToUpdateSchema.optional(),
item_tiers: CreateForSubscriptionRampItemTiersSchema.optional(),
coupons_to_add: CreateForSubscriptionRampCouponsToAddSchema.optional(),
discounts_to_add: CreateForSubscriptionRampDiscountsToAddSchema.optional(),
});
exports.CreateForSubscriptionRampBodySchema = CreateForSubscriptionRampBodySchema;
//Ramp.update
const UpdateRampContractTermSchema = zod_1.z.object({
action_at_term_end: zod_1.z
.enum(['renew', 'evergreen', 'cancel', 'renew_once'])
.optional(),
cancellation_cutoff_period: zod_1.z.number().int().optional(),
renewal_billing_cycles: zod_1.z.number().int().optional(),
});
const UpdateRampItemsToAddSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).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(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
});
const UpdateRampItemsToUpdateSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).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(),
unit_price: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
unit_price_in_decimal: zod_1.z.array(zod_1.z.string().max(39).optional()).optional(),
billing_cycles: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
service_period_days: zod_1.z
.array(zod_1.z.number().int().min(1).max(730).optional())
.optional(),
charge_on_event: zod_1.z
.array(zod_1.z
.enum([
'subscription_trial_start',
'plan_activation',
'subscription_activation',
'contract_termination',
])
.optional())
.optional(),
charge_once: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
charge_on_option: zod_1.z
.array(zod_1.z.enum(['immediately', 'on_event']).optional())
.optional(),
});
const UpdateRampItemTiersSchema = zod_1.z.object({
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
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(),
pricing_type: zod_1.z
.array(zod_1.z.enum(['per_unit', 'flat_fee', 'package']).optional())
.optional(),
package_size: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
});
const UpdateRampCouponsToAddSchema = zod_1.z.object({
coupon_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
apply_till: zod_1.z.array(zod_1.z.number().int().optional()).optional(),
});
const UpdateRampDiscountsToAddSchema = zod_1.z.object({
apply_on: zod_1.z.array(zod_1.z.enum(['invoice_amount', 'specific_item_price']).optional()),
duration_type: zod_1.z.array(zod_1.z.enum(['one_time', 'forever', 'limited_period']).optional()),
percentage: zod_1.z.array(zod_1.z.number().min(0.01).max(100).optional()).optional(),
amount: zod_1.z.array(zod_1.z.number().int().min(0).optional()).optional(),
period: zod_1.z.array(zod_1.z.number().int().min(1).optional()).optional(),
period_unit: zod_1.z
.array(zod_1.z.enum(['day', 'week', 'month', 'year']).optional())
.optional(),
included_in_mrr: zod_1.z.array(zod_1.z.boolean().optional()).optional(),
item_price_id: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
});
const UpdateRampBodySchema = zod_1.z.looseObject({
effective_from: zod_1.z.number().int(),
description: zod_1.z.string().max(250).optional(),
coupons_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
discounts_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
items_to_remove: zod_1.z.array(zod_1.z.string().max(100).optional()).optional(),
contract_term: UpdateRampContractTermSchema.optional(),
items_to_add: UpdateRampItemsToAddSchema.optional(),
items_to_update: UpdateRampItemsToUpdateSchema.optional(),
item_tiers: UpdateRampItemTiersSchema.optional(),
coupons_to_add: UpdateRampCouponsToAddSchema.optional(),
discounts_to_add: UpdateRampDiscountsToAddSchema.optional(),
});
exports.UpdateRampBodySchema = UpdateRampBodySchema;
//Ramp.list
const ListRampStatusSchema = zod_1.z.object({
is: zod_1.z.enum(['scheduled', 'succeeded', 'failed', 'draft']).optional(),
in: zod_1.z.enum(['scheduled', 'succeeded', 'failed', 'draft']).optional(),
});
const ListRampSubscriptionIdSchema = zod_1.z.object({
is: zod_1.z.string().min(1).optional(),
in: zod_1.z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
});
const ListRampEffectiveFromSchema = 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 ListRampUpdatedAtSchema = 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 ListRampSortBySchema = zod_1.z.looseObject({
asc: zod_1.z.enum(['effective_from', 'updated_at']).optional(),
desc: zod_1.z.enum(['effective_from', 'updated_at']).optional(),
});
const ListRampBodySchema = zod_1.z.looseObject({
limit: zod_1.z.number().int().min(1).max(100).optional(),
offset: zod_1.z.string().max(1000).optional(),
include_deleted: zod_1.z.boolean().default(false).optional(),
status: ListRampStatusSchema.optional(),
subscription_id: ListRampSubscriptionIdSchema,
effective_from: ListRampEffectiveFromSchema.optional(),
updated_at: ListRampUpdatedAtSchema.optional(),
sort_by: ListRampSortBySchema.optional(),
});
exports.ListRampBodySchema = ListRampBodySchema;