UNPKG

wcz-layout

Version:

188 lines (187 loc) 6.1 kB
import { n as ApprovalStepResult, r as ApprovalStatus, t as FileMetaSchema } from "./FileMeta-D9HyhrGi.js"; import z$1, { z } from "zod"; //#region src/models/email/EmailAttachment.ts const EmailAttachmentSchema = z$1.object({ appName: z$1.string().trim().min(1).max(100), subId: z$1.uuid() }); //#endregion //#region src/models/email/Email.ts const EmailSchema = z$1.object({ subject: z$1.string().trim().min(1).max(60), body: z$1.string().trim().min(1), to: z$1.array(z$1.email()).min(1), bcc: z$1.array(z$1.email()).optional(), cc: z$1.array(z$1.email()).optional(), attachments: z$1.array(EmailAttachmentSchema).optional() }); //#endregion //#region src/models/peoplesoft/EmployeeCategoryGroup.ts const EmployeeCategoryGroup = z$1.enum([ "IDL", "FD", "FI" ]); //#endregion //#region src/models/peoplesoft/EmployeeStatus.ts const EmployeeStatus = z$1.enum([ "Active", "Terminated", "Leave of Absence" ]); //#endregion //#region src/models/peoplesoft/Employee.ts const EmployeeSchema = z$1.object({ badgeId: z$1.string().trim(), category: z$1.string().trim(), categoryGroup: EmployeeCategoryGroup, companyCode: z$1.string().trim(), contactPhone: z$1.string().trim(), departmentId: z$1.string().trim(), departmentDescription: z$1.string().trim(), emailString: z$1.string().trim(), employeeId: z$1.string().trim(), extensionNumber: z$1.string().trim(), firstName: z$1.string().trim(), gender: z$1.string().trim(), hiredDate: z$1.date(), lastName: z$1.string().trim(), managerId: z$1.string().trim(), middleName: z$1.string().trim(), name: z$1.string().trim(), nameTitleCase: z$1.string().trim(), nfcSn: z$1.string().trim(), plantId: z$1.string().trim(), position: z$1.string().trim(), previousEmployeeIds: z$1.string().trim().nullable(), reHiredDate: z$1.date().nullable(), recordNumber: z$1.number(), status: EmployeeStatus, supervisorId: z$1.string().trim(), terminationDate: z$1.date().nullable(), terminationFutureDate: z$1.date().nullable(), type: z$1.string().trim(), upperDepartmentId: z$1.string().trim(), jobCode: z$1.string().trim(), jobDescription: z$1.string().trim(), terminationReason: z$1.string().trim().nullable(), supervisorRecordNumber: z$1.number() }); //#endregion //#region src/models/peoplesoft/Department.ts const DepartmentSchema = z$1.object({ departmentId: z$1.string().trim(), description: z$1.string().trim(), managerId: z$1.string().trim(), managerRecordNumber: z$1.string().trim(), treeLevel: z$1.number(), upperDepartmentId: z$1.string().trim(), companyCode: z$1.string().trim(), location: z$1.string().trim(), salLocation: z$1.string().trim(), plantId: z$1.string().trim(), manager: EmployeeSchema }); //#endregion //#region src/models/approval/StepApprovalOrder.ts const StepApprovalOrder = z$1.enum([ "Serial", "Parallel", "OneOfThem" ]); //#endregion //#region src/models/approval/ApprovalFlow.ts const ApprovalFlowSchema = z.object({ id: z.uuid(), approvalStage: z.number(), batchSequence: z.number().optional(), approvalSequence: z.number(), stepApprovalOrder: StepApprovalOrder, steps: z.array(z.custom()), isActive: z.boolean().default(false).optional() }); //#endregion //#region src/models/approval/ApprovalEmployee.ts const ApprovalEmployeeSchema = z.object({ employeeId: z.string().trim().min(1).max(20), name: z.string().trim().min(1).max(50), email: z.email().min(1).max(100) }); //#endregion //#region src/models/approval/ApprovalFlowStep.ts const ApprovalFlowStepSchema = z.object({ id: z.uuid(), order: z.number(), approverRole: z.string().trim().min(1).max(100).default("Approver").optional(), approver: ApprovalEmployeeSchema, actualApprover: ApprovalEmployeeSchema.optional(), result: ApprovalStepResult.default("NotAvailable").optional(), resultDate: z.date().optional(), resultComment: z.string().trim().max(2e3).optional() }); //#endregion //#region src/models/approval/ApprovalRequestType.ts const ApprovalRequestType = z$1.enum(["Single", "Batch"]); //#endregion //#region src/models/approval/Approval.ts const ApprovalSchema = z$1.object({ id: z$1.uuid(), number: z$1.string().trim().max(30).optional(), applicationName: z$1.string().trim().min(1).max(50), type: ApprovalRequestType.default("Single").optional(), status: ApprovalStatus, emailBody: z$1.string().trim().min(1), created: z$1.date(), createdBy: z$1.custom(), updated: z$1.date(), updatedBy: z$1.custom(), approvalFlows: z$1.array(z$1.custom()).min(1), currentApprovers: z$1.array(z$1.custom()) }); const CreateApprovalSchema = ApprovalSchema.pick({ id: true, number: true, applicationName: true, type: true, emailBody: true, approvalFlows: true }).extend({ approvalFlows: z$1.array(ApprovalFlowSchema.pick({ approvalStage: true, batchSequence: true, stepApprovalOrder: true, steps: true }).extend({ steps: z$1.array(ApprovalFlowStepSchema.pick({ approverRole: true, approver: true })) })).min(1) }); const ApproveApprovalSchema = z$1.object({ id: z$1.uuid(), result: ApprovalStepResult, resultComment: z$1.string().trim().max(2e3).optional(), emailBody: z$1.string().trim().min(1) }); const ResubmitApprovalSchema = ApprovalSchema.pick({ id: true, approvalFlows: true }).extend({ approvalFlows: z$1.array(ApprovalFlowSchema.pick({ approvalStage: true, batchSequence: true, stepApprovalOrder: true, steps: true }).extend({ steps: z$1.array(ApprovalFlowStepSchema.pick({ approverRole: true, approver: true })) })).min(1) }); const CancelApprovalSchema = z$1.object({ id: z$1.uuid(), comment: z$1.string().trim().min(1).max(2e3), emailBody: z$1.string().trim().min(1) }); const WithdrawApprovalSchema = z$1.object({ id: z$1.uuid(), comment: z$1.string().trim().min(1).max(2e3), emailBody: z$1.string().trim().min(1) }); //#endregion export { ApprovalEmployeeSchema, ApprovalFlowSchema, ApprovalFlowStepSchema, ApprovalSchema, ApproveApprovalSchema, CancelApprovalSchema, CreateApprovalSchema, DepartmentSchema, EmailAttachmentSchema, EmailSchema, EmployeeSchema, FileMetaSchema, ResubmitApprovalSchema, WithdrawApprovalSchema }; //# sourceMappingURL=models.js.map