65 lines
3.0 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.vpnCatalogProductSchema = exports.simActivationFeeCatalogItemSchema = exports.simCatalogProductSchema = exports.internetAddonCatalogItemSchema = exports.internetInstallationCatalogItemSchema = exports.internetPlanCatalogItemSchema = exports.internetPlanTemplateSchema = exports.internetCatalogProductSchema = exports.catalogPricebookEntrySchema = exports.catalogProductBaseSchema = void 0;
const zod_1 = require("zod");
exports.catalogProductBaseSchema = zod_1.z.object({
id: zod_1.z.string(),
sku: zod_1.z.string(),
name: zod_1.z.string(),
description: zod_1.z.string().optional(),
displayOrder: zod_1.z.number().optional(),
billingCycle: zod_1.z.string().optional(),
monthlyPrice: zod_1.z.number().optional(),
oneTimePrice: zod_1.z.number().optional(),
unitPrice: zod_1.z.number().optional(),
});
exports.catalogPricebookEntrySchema = zod_1.z.object({
id: zod_1.z.string().optional(),
name: zod_1.z.string().optional(),
unitPrice: zod_1.z.number().optional(),
pricebook2Id: zod_1.z.string().optional(),
product2Id: zod_1.z.string().optional(),
isActive: zod_1.z.boolean().optional(),
});
exports.internetCatalogProductSchema = exports.catalogProductBaseSchema.extend({
internetPlanTier: zod_1.z.string().optional(),
internetOfferingType: zod_1.z.string().optional(),
features: zod_1.z.array(zod_1.z.string()).optional(),
});
exports.internetPlanTemplateSchema = zod_1.z.object({
tierDescription: zod_1.z.string(),
description: zod_1.z.string().optional(),
features: zod_1.z.array(zod_1.z.string()).optional(),
});
exports.internetPlanCatalogItemSchema = exports.internetCatalogProductSchema.extend({
catalogMetadata: zod_1.z.object({
tierDescription: zod_1.z.string().optional(),
features: zod_1.z.array(zod_1.z.string()).optional(),
isRecommended: zod_1.z.boolean().optional(),
}).optional(),
});
exports.internetInstallationCatalogItemSchema = exports.internetCatalogProductSchema.extend({
catalogMetadata: zod_1.z.object({
installationTerm: zod_1.z.enum(["One-time", "12-Month", "24-Month"]),
}).optional(),
});
exports.internetAddonCatalogItemSchema = exports.internetCatalogProductSchema.extend({
isBundledAddon: zod_1.z.boolean().optional(),
bundledAddonId: zod_1.z.string().optional(),
});
exports.simCatalogProductSchema = exports.catalogProductBaseSchema.extend({
simDataSize: zod_1.z.string().optional(),
simPlanType: zod_1.z.string().optional(),
simHasFamilyDiscount: zod_1.z.boolean().optional(),
isBundledAddon: zod_1.z.boolean().optional(),
bundledAddonId: zod_1.z.string().optional(),
});
exports.simActivationFeeCatalogItemSchema = exports.simCatalogProductSchema.extend({
catalogMetadata: zod_1.z.object({
isDefault: zod_1.z.boolean(),
}).optional(),
});
exports.vpnCatalogProductSchema = exports.catalogProductBaseSchema.extend({
vpnRegion: zod_1.z.string().optional(),
});
//# sourceMappingURL=schema.js.map