chargebee
Version:
A library for integrating with Chargebee.
324 lines (323 loc) • 15.4 kB
JavaScript
"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;