wcz-layout
Version:
188 lines (187 loc) • 6.1 kB
JavaScript
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