71 lines
2.9 KiB
JavaScript
71 lines
2.9 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.simPlanChangeResultSchema = exports.simActionResponseSchema = exports.subscriptionStatsSchema = exports.subscriptionQuerySchema = exports.subscriptionQueryParamsSchema = exports.subscriptionListSchema = exports.subscriptionSchema = exports.subscriptionCycleSchema = exports.subscriptionStatusSchema = void 0;
|
|
const zod_1 = require("zod");
|
|
exports.subscriptionStatusSchema = zod_1.z.enum([
|
|
"Active",
|
|
"Inactive",
|
|
"Pending",
|
|
"Cancelled",
|
|
"Suspended",
|
|
"Terminated",
|
|
"Completed",
|
|
]);
|
|
exports.subscriptionCycleSchema = zod_1.z.enum([
|
|
"Monthly",
|
|
"Quarterly",
|
|
"Semi-Annually",
|
|
"Annually",
|
|
"Biennially",
|
|
"Triennially",
|
|
"One-time",
|
|
"Free",
|
|
]);
|
|
exports.subscriptionSchema = zod_1.z.object({
|
|
id: zod_1.z.number().int().positive("Subscription id must be positive"),
|
|
serviceId: zod_1.z.number().int().positive("Service id must be positive"),
|
|
productName: zod_1.z.string().min(1, "Product name is required"),
|
|
domain: zod_1.z.string().optional(),
|
|
cycle: exports.subscriptionCycleSchema,
|
|
status: exports.subscriptionStatusSchema,
|
|
nextDue: zod_1.z.string().optional(),
|
|
amount: zod_1.z.number(),
|
|
currency: zod_1.z.string().min(1, "Currency is required"),
|
|
currencySymbol: zod_1.z.string().optional(),
|
|
registrationDate: zod_1.z.string().min(1, "Registration date is required"),
|
|
notes: zod_1.z.string().optional(),
|
|
customFields: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
orderNumber: zod_1.z.string().optional(),
|
|
groupName: zod_1.z.string().optional(),
|
|
paymentMethod: zod_1.z.string().optional(),
|
|
serverName: zod_1.z.string().optional(),
|
|
});
|
|
exports.subscriptionListSchema = zod_1.z.object({
|
|
subscriptions: zod_1.z.array(exports.subscriptionSchema),
|
|
totalCount: zod_1.z.number().int().nonnegative(),
|
|
});
|
|
exports.subscriptionQueryParamsSchema = zod_1.z.object({
|
|
page: zod_1.z.coerce.number().int().positive().optional(),
|
|
limit: zod_1.z.coerce.number().int().positive().max(100).optional(),
|
|
status: exports.subscriptionStatusSchema.optional(),
|
|
type: zod_1.z.string().optional(),
|
|
});
|
|
exports.subscriptionQuerySchema = exports.subscriptionQueryParamsSchema;
|
|
exports.subscriptionStatsSchema = zod_1.z.object({
|
|
total: zod_1.z.number().int().nonnegative(),
|
|
active: zod_1.z.number().int().nonnegative(),
|
|
completed: zod_1.z.number().int().nonnegative(),
|
|
cancelled: zod_1.z.number().int().nonnegative(),
|
|
});
|
|
exports.simActionResponseSchema = zod_1.z.object({
|
|
success: zod_1.z.boolean(),
|
|
message: zod_1.z.string(),
|
|
data: zod_1.z.unknown().optional(),
|
|
});
|
|
exports.simPlanChangeResultSchema = zod_1.z.object({
|
|
success: zod_1.z.boolean(),
|
|
message: zod_1.z.string(),
|
|
ipv4: zod_1.z.string().optional(),
|
|
ipv6: zod_1.z.string().optional(),
|
|
});
|
|
//# sourceMappingURL=schema.js.map
|