361 lines
19 KiB
JavaScript
361 lines
19 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.menuCompanyParamSchema = exports.menuPlanParamSchema = exports.menuItemIdParamSchema = exports.menuAuditLogQuerySchema = exports.menuPreviewSchema = exports.menuCompanyAssignmentsSchema = exports.menuPlanAssignmentsSchema = exports.menuItemStatusSchema = exports.menuItemSchema = exports.promotionIdParamSchema = exports.planFeatureIdParamSchema = exports.promotionUpdateSchema = exports.promotionCreateSchema = exports.planFeatureUpdateSchema = exports.planFeatureCreateSchema = exports.pricingUpdateSchema = exports.homepageUpdateSchema = exports.billingRefundSchema = exports.billingCreditNoteSchema = exports.billingReasonSchema = exports.retryBillingInvoiceSchema = exports.payBillingInvoiceSchema = exports.createBillingInvoiceSchema = exports.billingLineItemInputSchema = exports.billingAccountUpdateSchema = exports.invoiceIdParamSchema = exports.billingAccountIdParamSchema = exports.companyIdParamSchema = exports.idParamSchema = exports.marketplaceHomepageConfigSchema = exports.adminCompanyUpdateSchema = exports.companyStatusSchema = exports.adminPermissionsSchema = exports.adminRoleSchema = exports.updateAdminSchema = exports.createAdminSchema = exports.permissionSchema = exports.invoicesQuerySchema = exports.billingQuerySchema = exports.notificationsQuerySchema = exports.auditLogQuerySchema = exports.rentersQuerySchema = exports.companiesQuerySchema = exports.totpVerifySchema = exports.resetPasswordSchema = exports.forgotPasswordSchema = exports.loginSchema = void 0;
|
|
const zod_1 = require("zod");
|
|
exports.loginSchema = zod_1.z.object({
|
|
email: zod_1.z.string().email().max(255).trim().toLowerCase(),
|
|
password: zod_1.z.string().max(128),
|
|
totpCode: zod_1.z.string().length(6).optional(),
|
|
recoveryCode: zod_1.z.string().min(8).max(32).optional(),
|
|
});
|
|
exports.forgotPasswordSchema = zod_1.z.object({
|
|
email: zod_1.z.string().email().max(255).trim().toLowerCase(),
|
|
});
|
|
exports.resetPasswordSchema = zod_1.z.object({
|
|
token: zod_1.z.string().min(1),
|
|
password: zod_1.z.string().min(8).max(128),
|
|
});
|
|
exports.totpVerifySchema = zod_1.z.object({
|
|
code: zod_1.z.string().length(6),
|
|
});
|
|
exports.companiesQuerySchema = zod_1.z.object({
|
|
q: zod_1.z.string().optional(),
|
|
status: zod_1.z.string().optional(),
|
|
plan: zod_1.z.string().optional(),
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
|
});
|
|
exports.rentersQuerySchema = zod_1.z.object({
|
|
q: zod_1.z.string().optional(),
|
|
blocked: zod_1.z.string().optional(),
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
|
});
|
|
exports.auditLogQuerySchema = zod_1.z.object({
|
|
adminId: zod_1.z.string().optional(),
|
|
action: zod_1.z.string().optional(),
|
|
companyId: zod_1.z.string().optional(),
|
|
entityId: zod_1.z.string().optional(),
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(50),
|
|
});
|
|
exports.notificationsQuerySchema = zod_1.z.object({
|
|
channel: zod_1.z.string().optional(),
|
|
status: zod_1.z.string().optional(),
|
|
companyId: zod_1.z.string().optional(),
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(200).default(50),
|
|
});
|
|
exports.billingQuerySchema = zod_1.z.object({
|
|
q: zod_1.z.string().optional(),
|
|
status: zod_1.z.string().optional(),
|
|
plan: zod_1.z.string().optional(),
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
|
});
|
|
exports.invoicesQuerySchema = zod_1.z.object({
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
|
});
|
|
exports.permissionSchema = zod_1.z.object({
|
|
resource: zod_1.z.enum(['COMPANIES', 'COMPANY_EMPLOYEES', 'SUBSCRIPTIONS', 'PAYMENTS', 'OFFERS', 'RENTERS', 'ADMIN_USERS', 'AUDIT_LOGS', 'PLATFORM_METRICS']),
|
|
actions: zod_1.z.array(zod_1.z.enum(['READ', 'CREATE', 'UPDATE', 'DELETE', 'SUSPEND', 'IMPERSONATE'])).min(1),
|
|
});
|
|
exports.createAdminSchema = zod_1.z.object({
|
|
email: zod_1.z.string().email().trim().toLowerCase(),
|
|
firstName: zod_1.z.string().min(1).max(100).trim(),
|
|
lastName: zod_1.z.string().min(1).max(100).trim(),
|
|
role: zod_1.z.enum(['SUPER_ADMIN', 'ADMIN', 'SUPPORT', 'FINANCE', 'VIEWER']),
|
|
password: zod_1.z.string().min(8),
|
|
permissions: zod_1.z.array(exports.permissionSchema).optional(),
|
|
});
|
|
exports.updateAdminSchema = zod_1.z.object({
|
|
email: zod_1.z.string().email().trim().toLowerCase().optional(),
|
|
firstName: zod_1.z.string().min(1).max(100).trim().optional(),
|
|
lastName: zod_1.z.string().min(1).max(100).trim().optional(),
|
|
role: zod_1.z.enum(['SUPER_ADMIN', 'ADMIN', 'SUPPORT', 'FINANCE', 'VIEWER']).optional(),
|
|
password: zod_1.z.string().min(8).optional(),
|
|
isActive: zod_1.z.boolean().optional(),
|
|
});
|
|
exports.adminRoleSchema = zod_1.z.object({
|
|
role: zod_1.z.enum(['SUPER_ADMIN', 'ADMIN', 'SUPPORT', 'FINANCE', 'VIEWER']),
|
|
});
|
|
exports.adminPermissionsSchema = zod_1.z.object({
|
|
permissions: zod_1.z.array(exports.permissionSchema),
|
|
});
|
|
exports.companyStatusSchema = zod_1.z.object({
|
|
status: zod_1.z.enum(['ACTIVE', 'SUSPENDED', 'CANCELLED']),
|
|
reason: zod_1.z.string().optional(),
|
|
});
|
|
const nullableString = zod_1.z.union([zod_1.z.string(), zod_1.z.null()]).optional();
|
|
const nullableEmail = zod_1.z.union([zod_1.z.string().email(), zod_1.z.null()]).optional();
|
|
const nullableUrl = zod_1.z.union([zod_1.z.string().url(), zod_1.z.null()]).optional();
|
|
const nullableDate = zod_1.z.union([zod_1.z.string().datetime(), zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), zod_1.z.null()]).optional();
|
|
exports.adminCompanyUpdateSchema = zod_1.z.object({
|
|
company: zod_1.z.object({
|
|
name: zod_1.z.string().min(1).optional(), slug: zod_1.z.string().min(1).optional(),
|
|
email: zod_1.z.string().email().optional(), phone: nullableString,
|
|
status: zod_1.z.enum(['PENDING', 'TRIALING', 'ACTIVE', 'PAST_DUE', 'SUSPENDED', 'CANCELLED']).optional(),
|
|
subscriptionPaymentRef: nullableString,
|
|
address: zod_1.z.object({
|
|
streetAddress: nullableString,
|
|
city: nullableString,
|
|
country: nullableString,
|
|
zipCode: nullableString,
|
|
legalName: nullableString,
|
|
legalForm: nullableString,
|
|
companyEmail: nullableEmail,
|
|
managerName: nullableString,
|
|
iceNumber: nullableString,
|
|
operatingLicenseNumber: nullableString,
|
|
operatingLicenseIssuedAt: nullableString,
|
|
operatingLicenseIssuedBy: nullableString,
|
|
fax: nullableString,
|
|
yearsActive: nullableString,
|
|
representativeName: nullableString,
|
|
representativeTitle: nullableString,
|
|
responsibleName: nullableString,
|
|
responsibleRole: nullableString,
|
|
responsibleIdentityNumber: nullableString,
|
|
responsibleQualification: nullableString,
|
|
responsiblePhone: nullableString,
|
|
responsibleEmail: nullableEmail,
|
|
}).optional(),
|
|
}).optional(),
|
|
subscription: zod_1.z.object({
|
|
plan: zod_1.z.enum(['STARTER', 'GROWTH', 'PRO']).optional(),
|
|
billingPeriod: zod_1.z.enum(['MONTHLY', 'ANNUAL']).optional(),
|
|
status: zod_1.z.enum(['TRIALING', 'ACTIVE', 'PAST_DUE', 'CANCELLED', 'UNPAID']).optional(),
|
|
currency: zod_1.z.literal('MAD').optional(),
|
|
trialStartAt: nullableDate, trialEndAt: nullableDate,
|
|
currentPeriodStart: nullableDate, currentPeriodEnd: nullableDate,
|
|
cancelledAt: nullableDate, cancelAtPeriodEnd: zod_1.z.boolean().optional(),
|
|
}).optional(),
|
|
brand: zod_1.z.object({
|
|
displayName: zod_1.z.string().min(1).optional(), tagline: nullableString,
|
|
subdomain: zod_1.z.string().min(1).optional(), customDomain: nullableString,
|
|
publicEmail: nullableEmail, publicPhone: nullableString, publicAddress: nullableString,
|
|
publicCity: nullableString, publicCountry: nullableString, websiteUrl: nullableUrl,
|
|
whatsappNumber: nullableString, defaultLocale: zod_1.z.string().min(2).optional(),
|
|
defaultCurrency: zod_1.z.literal('MAD').optional(),
|
|
isListedOnMarketplace: zod_1.z.boolean().optional(),
|
|
homePageConfig: zod_1.z.any().optional(),
|
|
menuConfig: zod_1.z.any().optional(),
|
|
}).optional(),
|
|
contractSettings: zod_1.z.object({
|
|
legalName: nullableString, registrationNumber: nullableString, taxId: nullableString,
|
|
terms: zod_1.z.string().optional(),
|
|
fuelPolicyType: zod_1.z.enum(['FULL_TO_FULL', 'FULL_TO_EMPTY', 'SAME_TO_SAME', 'PREPAID', 'FREE']).optional(),
|
|
lateFeePerHour: zod_1.z.number().int().nullable().optional(), taxRate: zod_1.z.number().nullable().optional(),
|
|
signatureRequired: zod_1.z.boolean().optional(), showTax: zod_1.z.boolean().optional(),
|
|
}).optional(),
|
|
accountingSettings: zod_1.z.object({
|
|
reportingPeriod: zod_1.z.enum(['WEEKLY', 'MONTHLY', 'QUARTERLY', 'ANNUAL']).optional(),
|
|
fiscalYearStart: zod_1.z.number().int().min(1).max(12).optional(),
|
|
currency: zod_1.z.literal('MAD').optional(),
|
|
accountantEmail: nullableEmail, accountantName: nullableString,
|
|
autoSendReport: zod_1.z.boolean().optional(),
|
|
reportFormat: zod_1.z.enum(['PDF', 'CSV', 'BOTH']).optional(),
|
|
}).optional(),
|
|
});
|
|
const marketplaceMetricSchema = zod_1.z.object({ value: zod_1.z.string().min(1), label: zod_1.z.string().min(1) });
|
|
const marketplacePillarSchema = zod_1.z.object({ title: zod_1.z.string().min(1), body: zod_1.z.string().min(1) });
|
|
const marketplaceStepSchema = zod_1.z.object({ step: zod_1.z.string().min(1), title: zod_1.z.string().min(1), body: zod_1.z.string().min(1) });
|
|
const marketplaceSectionSchema = zod_1.z.enum(['hero', 'surface', 'pillars', 'audiences', 'features', 'steps', 'closing']);
|
|
const marketplaceHomepageContentSchema = zod_1.z.object({
|
|
sections: zod_1.z.array(marketplaceSectionSchema).min(1),
|
|
heroKicker: zod_1.z.string().min(1), heroTitle: zod_1.z.string().min(1), heroBody: zod_1.z.string().min(1),
|
|
startTrial: zod_1.z.string().min(1), exploreVehicles: zod_1.z.string().min(1),
|
|
surfaceLabel: zod_1.z.string().min(1), surfaceTitle: zod_1.z.string().min(1), surfaceBody: zod_1.z.string().min(1),
|
|
liveLabel: zod_1.z.string().min(1), trustedFleets: zod_1.z.string().min(1), brandedFlows: zod_1.z.string().min(1), multiTenant: zod_1.z.string().min(1),
|
|
companyKicker: zod_1.z.string().min(1), companyTitle: zod_1.z.string().min(1), companyBody: zod_1.z.string().min(1),
|
|
renterKicker: zod_1.z.string().min(1), renterTitle: zod_1.z.string().min(1), renterBody: zod_1.z.string().min(1),
|
|
pillars: zod_1.z.array(marketplacePillarSchema).length(3),
|
|
metrics: zod_1.z.array(marketplaceMetricSchema).length(3),
|
|
featureLabel: zod_1.z.string().min(1), features: zod_1.z.array(zod_1.z.string().min(1)).min(1),
|
|
stepsTitle: zod_1.z.string().min(1), steps: zod_1.z.array(marketplaceStepSchema).length(3), stepLabel: zod_1.z.string().min(1),
|
|
readyKicker: zod_1.z.string().min(1), readyTitle: zod_1.z.string().min(1), readyBody: zod_1.z.string().min(1),
|
|
viewPricing: zod_1.z.string().min(1), createWorkspace: zod_1.z.string().min(1),
|
|
});
|
|
exports.marketplaceHomepageConfigSchema = zod_1.z.object({
|
|
en: marketplaceHomepageContentSchema,
|
|
fr: marketplaceHomepageContentSchema,
|
|
ar: marketplaceHomepageContentSchema,
|
|
});
|
|
exports.idParamSchema = zod_1.z.object({
|
|
id: zod_1.z.string().min(1),
|
|
});
|
|
exports.companyIdParamSchema = zod_1.z.object({
|
|
companyId: zod_1.z.string().min(1),
|
|
});
|
|
exports.billingAccountIdParamSchema = zod_1.z.object({
|
|
billingAccountId: zod_1.z.string().min(1),
|
|
});
|
|
exports.invoiceIdParamSchema = zod_1.z.object({
|
|
invoiceId: zod_1.z.string().min(1),
|
|
});
|
|
exports.billingAccountUpdateSchema = zod_1.z.object({
|
|
legalName: zod_1.z.string().min(1).max(255).optional(),
|
|
billingEmail: zod_1.z.string().email().optional(),
|
|
billingAddress: zod_1.z.any().optional(),
|
|
taxId: zod_1.z.union([zod_1.z.string().max(120), zod_1.z.null()]).optional(),
|
|
taxExempt: zod_1.z.boolean().optional(),
|
|
invoiceTerms: zod_1.z.enum(['DUE_ON_RECEIPT', 'NET_7', 'NET_15', 'NET_30', 'NET_45', 'NET_60']).optional(),
|
|
netTermsDays: zod_1.z.number().int().min(0).max(365).optional(),
|
|
});
|
|
exports.billingLineItemInputSchema = zod_1.z.object({
|
|
type: zod_1.z.enum([
|
|
'SUBSCRIPTION_FEE',
|
|
'SEAT_FEE',
|
|
'USAGE_FEE',
|
|
'SETUP_FEE',
|
|
'DISCOUNT',
|
|
'TAX',
|
|
'CREDIT',
|
|
'PRORATION',
|
|
'REFUND_ADJUSTMENT',
|
|
'MANUAL_ADJUSTMENT',
|
|
'PROFESSIONAL_SERVICES',
|
|
'CANCELLATION_FEE',
|
|
]),
|
|
description: zod_1.z.string().min(1).max(255),
|
|
quantity: zod_1.z.number().int().positive().max(100000),
|
|
unitAmount: zod_1.z.number().int(),
|
|
periodStart: nullableDate,
|
|
periodEnd: nullableDate,
|
|
});
|
|
exports.createBillingInvoiceSchema = zod_1.z.object({
|
|
subscriptionId: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]).optional(),
|
|
invoiceType: zod_1.z.enum([
|
|
'SUBSCRIPTION_INITIAL',
|
|
'SUBSCRIPTION_RENEWAL',
|
|
'TRIAL_CONVERSION',
|
|
'SUBSCRIPTION_UPGRADE',
|
|
'SUBSCRIPTION_DOWNGRADE_CREDIT',
|
|
'USAGE_BASED',
|
|
'ONE_TIME',
|
|
'MANUAL',
|
|
'CORRECTION',
|
|
'CANCELLATION_FEE',
|
|
]),
|
|
currency: zod_1.z.string().min(3).max(8).optional(),
|
|
dueAt: nullableDate,
|
|
isSubscriptionBlocking: zod_1.z.boolean().optional(),
|
|
adminReason: zod_1.z.union([zod_1.z.string().max(500), zod_1.z.null()]).optional(),
|
|
lineItems: zod_1.z.array(exports.billingLineItemInputSchema).min(1),
|
|
});
|
|
exports.payBillingInvoiceSchema = zod_1.z.object({
|
|
amount: zod_1.z.number().int().positive().optional(),
|
|
paymentMethodId: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]).optional(),
|
|
providerPaymentId: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]).optional(),
|
|
});
|
|
exports.retryBillingInvoiceSchema = zod_1.z.object({
|
|
paymentMethodId: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]).optional(),
|
|
});
|
|
exports.billingReasonSchema = zod_1.z.object({
|
|
reason: zod_1.z.string().min(1).max(500),
|
|
});
|
|
exports.billingCreditNoteSchema = zod_1.z.object({
|
|
amount: zod_1.z.number().int().positive(),
|
|
reason: zod_1.z.string().min(1).max(500),
|
|
});
|
|
exports.billingRefundSchema = zod_1.z.object({
|
|
amount: zod_1.z.number().int().positive(),
|
|
reason: zod_1.z.string().min(1).max(500),
|
|
});
|
|
exports.homepageUpdateSchema = zod_1.z.object({
|
|
homepage: exports.marketplaceHomepageConfigSchema,
|
|
});
|
|
exports.pricingUpdateSchema = zod_1.z.object({
|
|
entries: zod_1.z.array(zod_1.z.object({
|
|
plan: zod_1.z.enum(['STARTER', 'GROWTH', 'PRO']),
|
|
billingPeriod: zod_1.z.enum(['MONTHLY', 'ANNUAL']),
|
|
amount: zod_1.z.number().int().positive(),
|
|
})).min(1),
|
|
});
|
|
const planFeatureSchema = zod_1.z.object({
|
|
plan: zod_1.z.enum(['STARTER', 'GROWTH', 'PRO']),
|
|
label: zod_1.z.string().min(1).max(120),
|
|
sortOrder: zod_1.z.number().int().min(0).default(0),
|
|
});
|
|
exports.planFeatureCreateSchema = planFeatureSchema;
|
|
exports.planFeatureUpdateSchema = planFeatureSchema.partial();
|
|
exports.promotionCreateSchema = zod_1.z.object({
|
|
code: zod_1.z.string().min(2).max(30).regex(/^[A-Z0-9_-]+$/, 'Code must be uppercase A-Z, 0-9, _ or -'),
|
|
name: zod_1.z.string().min(1).max(100),
|
|
description: zod_1.z.string().max(500).optional(),
|
|
discountType: zod_1.z.enum(['PERCENTAGE', 'FIXED']),
|
|
discountValue: zod_1.z.number().int().positive(),
|
|
plans: zod_1.z.array(zod_1.z.enum(['STARTER', 'GROWTH', 'PRO'])),
|
|
periods: zod_1.z.array(zod_1.z.enum(['MONTHLY', 'ANNUAL'])),
|
|
maxUses: zod_1.z.number().int().positive().nullable().optional(),
|
|
validFrom: zod_1.z.string().datetime(),
|
|
validUntil: zod_1.z.string().datetime().nullable().optional(),
|
|
isActive: zod_1.z.boolean().default(true),
|
|
});
|
|
exports.promotionUpdateSchema = exports.promotionCreateSchema.partial();
|
|
exports.planFeatureIdParamSchema = zod_1.z.object({ featureId: zod_1.z.string().min(1) });
|
|
exports.promotionIdParamSchema = zod_1.z.object({ promotionId: zod_1.z.string().min(1) });
|
|
const employeeRoleSchema = zod_1.z.enum(['OWNER', 'MANAGER', 'AGENT']);
|
|
const planSchema = zod_1.z.enum(['STARTER', 'GROWTH', 'PRO']);
|
|
const menuItemTypeSchema = zod_1.z.enum(['INTERNAL_PAGE', 'EXTERNAL_LINK', 'PARENT_MENU', 'SECTION_LABEL', 'DIVIDER']);
|
|
exports.menuItemSchema = zod_1.z.object({
|
|
systemKey: zod_1.z.string().trim().min(1).max(120).optional().nullable(),
|
|
label: zod_1.z.string().trim().min(1).max(120),
|
|
itemType: menuItemTypeSchema,
|
|
routeOrUrl: zod_1.z.string().trim().max(400).optional().nullable(),
|
|
icon: zod_1.z.string().trim().max(120).optional().nullable(),
|
|
parentId: zod_1.z.string().trim().min(1).optional().nullable(),
|
|
displayOrder: zod_1.z.number().int().min(0).default(0),
|
|
openInNewTab: zod_1.z.boolean().default(false),
|
|
isRequired: zod_1.z.boolean().default(false),
|
|
isActive: zod_1.z.boolean().default(true),
|
|
roles: zod_1.z.array(employeeRoleSchema).default([]),
|
|
subscriptionPlans: zod_1.z.array(zod_1.z.object({
|
|
plan: planSchema,
|
|
displayOrder: zod_1.z.number().int().min(0).optional(),
|
|
isActive: zod_1.z.boolean().optional(),
|
|
})).default([]),
|
|
companyAssignments: zod_1.z.array(zod_1.z.object({
|
|
companyId: zod_1.z.string().trim().min(1),
|
|
displayOrder: zod_1.z.number().int().min(0).optional(),
|
|
isActive: zod_1.z.boolean().optional(),
|
|
})).default([]),
|
|
});
|
|
exports.menuItemStatusSchema = zod_1.z.object({
|
|
isActive: zod_1.z.boolean(),
|
|
});
|
|
exports.menuPlanAssignmentsSchema = zod_1.z.object({
|
|
assignments: zod_1.z.array(zod_1.z.object({
|
|
plan: planSchema,
|
|
displayOrder: zod_1.z.number().int().min(0).optional(),
|
|
isActive: zod_1.z.boolean().optional(),
|
|
})).min(1),
|
|
});
|
|
exports.menuCompanyAssignmentsSchema = zod_1.z.object({
|
|
assignments: zod_1.z.array(zod_1.z.object({
|
|
companyId: zod_1.z.string().trim().min(1),
|
|
displayOrder: zod_1.z.number().int().min(0).optional(),
|
|
isActive: zod_1.z.boolean().optional(),
|
|
})).min(1),
|
|
});
|
|
exports.menuPreviewSchema = zod_1.z.object({
|
|
companyId: zod_1.z.string().trim().min(1),
|
|
role: employeeRoleSchema,
|
|
});
|
|
exports.menuAuditLogQuerySchema = zod_1.z.object({
|
|
page: zod_1.z.coerce.number().int().min(1).default(1),
|
|
pageSize: zod_1.z.coerce.number().int().min(1).max(100).default(20),
|
|
});
|
|
exports.menuItemIdParamSchema = zod_1.z.object({
|
|
id: zod_1.z.string().min(1),
|
|
});
|
|
exports.menuPlanParamSchema = zod_1.z.object({
|
|
id: zod_1.z.string().min(1),
|
|
plan: planSchema,
|
|
});
|
|
exports.menuCompanyParamSchema = zod_1.z.object({
|
|
id: zod_1.z.string().min(1),
|
|
companyId: zod_1.z.string().min(1),
|
|
});
|
|
//# sourceMappingURL=admin.schemas.js.map
|