UNPKG

wcz-layout

Version:

188 lines (187 loc) • 6.59 kB
import z, { z as z$1 } from "zod"; // src/models/approval/ApprovalCoRequestor.ts const ApprovalCoRequestorGroupSchema = z$1.object({ role: z$1.string().trim().min(1), email: z$1.email() }); const ApprovalCoRequestorEmployeeSchema = z$1.object({ employeeId: z$1.string().trim().min(1), name: z$1.string().trim().min(1), email: z$1.email() }); const ApprovalCoRequestorPrincipalSchema = z$1.union([ApprovalCoRequestorGroupSchema, ApprovalCoRequestorEmployeeSchema]); const ApprovalCoRequestorPermissionsSchema = z$1.object({ withdraw: z$1.boolean().default(false).optional(), cancel: z$1.boolean().default(false).optional() }); const ApprovalCoRequestorSchema = z$1.object({ id: z$1.uuid(), principal: ApprovalCoRequestorPrincipalSchema, permissions: ApprovalCoRequestorPermissionsSchema }); // src/models/approval/ApprovalEmployee.ts const ApprovalEmployeeSchema = z$1.object({ employeeId: z$1.string().trim().min(1).max(20), name: z$1.string().trim().min(1).max(50), email: z$1.email().min(1).max(100) }); const ApprovalProxySchema = z$1.object({ proxy: ApprovalEmployeeSchema }); // src/models/approval/StepApprovalOrder.ts const StepApprovalOrder = z.enum([ "Serial", "Parallel", "OneOfThem" ]); // src/models/approval/ApprovalFlow.ts const ApprovalFlowSchema = z$1.object({ id: z$1.uuid(), approvalStage: z$1.number(), batchSequence: z$1.number().optional(), approvalSequence: z$1.number(), stepApprovalOrder: StepApprovalOrder, steps: z$1.array(z$1.custom()), isActive: z$1.boolean().default(false).optional() }); // src/models/approval/ApprovalStepResult.ts const ApprovalStepResult = z.enum([ "NotAvailable", "FutureApproval", "WaitingForApproval", "Approved", "Rejected", "Skipped", "Withdrawn", "Cancelled" ]); // src/models/approval/ApprovalFlowStep.ts const ApprovalFlowStepSchema = z$1.object({ id: z$1.uuid(), order: z$1.number(), approverRole: z$1.string().trim().min(1).max(100).default("Approver").optional(), approver: ApprovalEmployeeSchema, actualApprover: ApprovalEmployeeSchema.optional(), proxies: z$1.array(ApprovalProxySchema), result: ApprovalStepResult.default("NotAvailable").optional(), resultDate: z$1.date().optional(), resultComment: z$1.string().trim().max(2e3).optional() }); // src/models/approval/ApprovalRequestType.ts const ApprovalRequestType = z.enum(["Single", "Batch"]); // src/models/approval/ApprovalStatus.ts const ApprovalStatus = z.enum([ "WaitingForApproval", "Approved", "Rejected", "Withdrawn", "Cancelled" ]); // src/models/approval/HqApprovalRequest.ts const HqApprovalColSchema = z$1.object({ title: z$1.string().optional(), text: z$1.string().optional(), textColor: z$1.string().optional(), textSize: z$1.string().optional() }); const HqApprovalRowSchema = z$1.object({ col: z$1.array(HqApprovalColSchema) }); const HqApprovalSectionSchema = z$1.object({ row: z$1.array(HqApprovalRowSchema), title: z$1.string().optional(), type: z$1.string().optional(), text: z$1.string().optional() }); const HqApprovalPageSchema = z$1.object({ section: z$1.array(HqApprovalSectionSchema) }); const HqApprovalSummarySchema = z$1.object({ page: z$1.array(HqApprovalPageSchema) }); const HqApprovalFormDataSchema = z$1.object({ systemId: z$1.string().optional(), formType: z$1.string().optional(), formId: z$1.string().optional(), stepName: z$1.string().optional(), userId: z$1.string().optional(), title: z$1.string().optional(), subject: z$1.string().optional(), summary: HqApprovalSummarySchema.optional(), messageId: z$1.string().optional(), attachList: z$1.string().optional(), chkResult: z$1.string().optional(), apprSummary: z$1.string().optional(), approvalComment: z$1.string().optional() }); const HqApprovalHeaderSchema = z$1.object({ serviceId: z$1.string().optional(), authorizationCode: z$1.string().optional(), dataCreatedTime: z$1.string().optional(), characterEnable: z$1.boolean().default(false).optional() }); const HqApprovalRequestSchema = z$1.object({ header: HqApprovalHeaderSchema.optional(), formData: HqApprovalFormDataSchema.optional() }); // src/models/approval/Approval.ts const ApprovalSchema = z.object({ id: z.uuid(), number: z.string().trim().min(1).max(30), applicationName: z.string().trim().min(1).max(50), type: ApprovalRequestType.default("Single").optional(), status: ApprovalStatus, created: z.date(), createdBy: z.custom(), updated: z.date().optional(), updatedBy: z.custom().optional(), approvalFlows: z.array(z.custom()).min(1), currentApprovers: z.array(ApprovalEmployeeSchema.extend({ proxies: z.array(ApprovalProxySchema) })), coRequestors: z.array(ApprovalCoRequestorSchema).optional() }); const CreateApprovalSchema = ApprovalSchema.pick({ id: true, number: true, applicationName: true, type: true, status: true, approvalFlows: true }).extend({ emailBody: z.string().trim().min(1), hqApprovalRequest: HqApprovalRequestSchema.optional(), approvalFlows: z.array(ApprovalFlowSchema.pick({ approvalStage: true, batchSequence: true, stepApprovalOrder: true, steps: true }).extend({ steps: z.array(ApprovalFlowStepSchema.pick({ approverRole: true, approver: true })).min(1) })).min(1), coRequestors: z.array(ApprovalCoRequestorSchema).optional() }); const ApproveApprovalSchema = z.object({ id: z.uuid(), result: ApprovalStepResult, resultComment: z.string().trim().max(2e3).optional(), emailBody: z.string().trim().min(1) }); const ResubmitApprovalSchema = ApprovalSchema.pick({ id: true, approvalFlows: true }).extend({ emailBody: z.string().trim().min(1), approvalFlows: z.array(ApprovalFlowSchema.pick({ approvalStage: true, batchSequence: true, stepApprovalOrder: true, steps: true }).extend({ steps: z.array(ApprovalFlowStepSchema.pick({ approverRole: true, approver: true })).min(1) })).min(1) }); const CancelApprovalSchema = z.object({ id: z.uuid(), comment: z.string().trim().min(1).max(2e3), emailBody: z.string().trim().min(1) }); const WithdrawApprovalSchema = z.object({ id: z.uuid(), comment: z.string().trim().min(1).max(2e3), emailBody: z.string().trim().min(1) }); export { ResubmitApprovalSchema as a, ApprovalStatus as c, ApprovalFlowSchema as d, ApprovalEmployeeSchema as f, ApprovalCoRequestorSchema as h, CreateApprovalSchema as i, ApprovalFlowStepSchema as l, ApprovalCoRequestorPrincipalSchema as m, ApproveApprovalSchema as n, WithdrawApprovalSchema as o, ApprovalCoRequestorPermissionsSchema as p, CancelApprovalSchema as r, HqApprovalRequestSchema as s, ApprovalSchema as t, ApprovalStepResult as u }; //# sourceMappingURL=Approval-D1TfISUL.mjs.map