wcz-layout
Version:
194 lines (193 loc) • 6.51 kB
JavaScript
import z$1, { z } from "zod";
//#region src/models/approval/ApprovalCoRequestor.ts
const ApprovalCoRequestorGroupSchema = z.object({
role: z.string().trim().min(1),
email: z.email()
});
const ApprovalCoRequestorEmployeeSchema = z.object({
employeeId: z.string().trim().min(1),
name: z.string().trim().min(1),
email: z.email()
});
const ApprovalCoRequestorPrincipalSchema = z.union([ApprovalCoRequestorGroupSchema, ApprovalCoRequestorEmployeeSchema]);
const ApprovalCoRequestorPermissionsSchema = z.object({
withdraw: z.boolean().default(false).optional(),
cancel: z.boolean().default(false).optional()
});
const ApprovalCoRequestorSchema = z.object({
id: z.uuid(),
principal: ApprovalCoRequestorPrincipalSchema,
permissions: ApprovalCoRequestorPermissionsSchema
});
//#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/ApprovalStepResult.ts
const ApprovalStepResult = z$1.enum([
"NotAvailable",
"FutureApproval",
"WaitingForApproval",
"Approved",
"Rejected",
"Skipped",
"Withdrawn",
"Cancelled"
]);
//#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/ApprovalStatus.ts
const ApprovalStatus = z$1.enum([
"WaitingForApproval",
"Approved",
"PartiallyApproved",
"Rejected",
"Withdrawn",
"Cancelled"
]);
//#endregion
//#region src/models/approval/HqApprovalRequest.ts
const HqApprovalColSchema = z.object({
title: z.string().optional(),
text: z.string().optional(),
textColor: z.string().optional(),
textSize: z.string().optional()
});
const HqApprovalRowSchema = z.object({ col: z.array(HqApprovalColSchema) });
const HqApprovalSectionSchema = z.object({
row: z.array(HqApprovalRowSchema),
title: z.string().optional(),
type: z.string().optional(),
text: z.string().optional()
});
const HqApprovalPageSchema = z.object({ section: z.array(HqApprovalSectionSchema) });
const HqApprovalSummarySchema = z.object({ page: z.array(HqApprovalPageSchema) });
const HqApprovalFormDataSchema = z.object({
systemId: z.string().optional(),
formType: z.string().optional(),
formId: z.string().optional(),
stepName: z.string().optional(),
userId: z.string().optional(),
title: z.string().optional(),
subject: z.string().optional(),
summary: HqApprovalSummarySchema.optional(),
messageId: z.string().optional(),
attachList: z.string().optional(),
chkResult: z.string().optional(),
apprSummary: z.string().optional(),
approvalComment: z.string().optional()
});
const HqApprovalHeaderSchema = z.object({
serviceId: z.string().optional(),
authorizationCode: z.string().optional(),
dataCreatedTime: z.string().optional(),
characterEnable: z.boolean().default(false).optional()
});
const HqApprovalRequestSchema = z.object({
header: HqApprovalHeaderSchema.optional(),
formData: HqApprovalFormDataSchema.optional()
});
//#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,
created: z$1.date(),
createdBy: z$1.custom(),
updated: z$1.date().optional(),
updatedBy: z$1.custom().optional(),
approvalFlows: z$1.array(z$1.custom()).min(1),
currentApprovers: z$1.array(z$1.custom()),
coRequestors: z$1.array(ApprovalCoRequestorSchema).optional()
});
const CreateApprovalSchema = ApprovalSchema.pick({
id: true,
number: true,
applicationName: true,
type: true,
status: true,
approvalFlows: true
}).extend({
emailBody: z$1.string().trim().min(1),
hqApprovalRequest: HqApprovalRequestSchema.optional(),
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),
coRequestors: z$1.array(ApprovalCoRequestorSchema).optional()
});
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 { ResubmitApprovalSchema as a, ApprovalStatus as c, ApprovalEmployeeSchema as d, ApprovalFlowSchema 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-C3HL2oNY.mjs.map