chargebee
Version:
A library for integrating with Chargebee.
94 lines (93 loc) • 4.2 kB
JavaScript
"use strict";
// Generated Zod schemas: Usage
// Actions: create, retrieve, delete, list, pdf
// Do not edit manually – regenerate via sdk-generator
Object.defineProperty(exports, "__esModule", { value: true });
exports.PdfUsageBodySchema = exports.ListUsageBodySchema = exports.DeleteUsageBodySchema = exports.RetrieveUsageBodySchema = exports.CreateUsageBodySchema = void 0;
const zod_1 = require("zod");
//Usage.create
const CreateUsageBodySchema = zod_1.z.looseObject({
id: zod_1.z.string().max(100).optional(),
item_price_id: zod_1.z.string().max(100),
quantity: zod_1.z.string().max(40),
usage_date: zod_1.z.number().int(),
dedupe_option: zod_1.z.enum(['skip', 'update_existing']).optional(),
note: zod_1.z.string().max(500).optional(),
});
exports.CreateUsageBodySchema = CreateUsageBodySchema;
//Usage.retrieve
const RetrieveUsageBodySchema = zod_1.z.looseObject({
id: zod_1.z.string().max(100),
});
exports.RetrieveUsageBodySchema = RetrieveUsageBodySchema;
//Usage.delete
const DeleteUsageBodySchema = zod_1.z.looseObject({
id: zod_1.z.string().max(100),
});
exports.DeleteUsageBodySchema = DeleteUsageBodySchema;
//Usage.list
const ListUsageIdSchema = 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 ListUsageSubscriptionIdSchema = 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 ListUsageUsageDateSchema = 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 ListUsageUpdatedAtSchema = 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 ListUsageItemPriceIdSchema = 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 ListUsageInvoiceIdSchema = 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(),
is_present: zod_1.z.enum(['true', 'false']).optional(),
});
const ListUsageSourceSchema = zod_1.z.object({
is: zod_1.z.enum(['admin_console', 'api', 'bulk_operation']).optional(),
is_not: zod_1.z.enum(['admin_console', 'api', 'bulk_operation']).optional(),
in: zod_1.z.enum(['admin_console', 'api', 'bulk_operation']).optional(),
not_in: zod_1.z.enum(['admin_console', 'api', 'bulk_operation']).optional(),
});
const ListUsageSortBySchema = zod_1.z.looseObject({
asc: zod_1.z.enum(['usage_date', 'updated_at']).optional(),
desc: zod_1.z.enum(['usage_date', 'updated_at']).optional(),
});
const ListUsageBodySchema = zod_1.z.looseObject({
limit: zod_1.z.number().int().min(1).max(100).optional(),
offset: zod_1.z.string().max(1000).optional(),
id: ListUsageIdSchema.optional(),
subscription_id: ListUsageSubscriptionIdSchema.optional(),
usage_date: ListUsageUsageDateSchema.optional(),
updated_at: ListUsageUpdatedAtSchema.optional(),
item_price_id: ListUsageItemPriceIdSchema.optional(),
invoice_id: ListUsageInvoiceIdSchema.optional(),
source: ListUsageSourceSchema.optional(),
sort_by: ListUsageSortBySchema.optional(),
});
exports.ListUsageBodySchema = ListUsageBodySchema;
//Usage.pdf
const PdfUsageInvoiceSchema = zod_1.z.object({
id: zod_1.z.string().max(50),
});
const PdfUsageBodySchema = zod_1.z.looseObject({
disposition_type: zod_1.z.enum(['attachment', 'inline']).optional(),
invoice: PdfUsageInvoiceSchema.optional(),
});
exports.PdfUsageBodySchema = PdfUsageBodySchema;