{"version":3,"file":"Approval-BTJTexDo.mjs","names":["z","StepApprovalOrder","enum","z","StepApprovalOrder","ApprovalFlowStep","ApprovalFlowSchema","object","id","uuid","approvalStage","number","batchSequence","optional","approvalSequence","stepApprovalOrder","steps","array","custom","isActive","boolean","default","ApprovalFlow","infer","z","ApprovalEmployeeSchema","object","employeeId","string","trim","min","max","name","email","ApprovalEmployee","infer","z","ApprovalStepResult","enum","z","ApprovalEmployeeSchema","ApprovalStepResult","ApprovalFlowStepSchema","object","id","uuid","order","number","approverRole","string","trim","min","max","default","optional","approver","actualApprover","result","resultDate","date","resultComment","ApprovalFlowStep","infer","z","ApprovalRequestType","enum","z","ApprovalStatus","enum","z","ApprovalEmployee","ApprovalFlow","ApprovalFlowSchema","ApprovalFlowStepSchema","ApprovalRequestType","ApprovalStatus","ApprovalStepResult","ApprovalCoRequestorGroupSchema","object","role","string","trim","min","email","optional","ApprovalCoRequestorEmployeeSchema","employeeId","name","ApprovalCoRequestorPrincipalSchema","union","ApprovalCoRequestorPrincipal","infer","ApprovalSchema","id","uuid","number","max","applicationName","type","default","status","created","date","createdBy","custom","updated","updatedBy","approvalFlows","array","currentApprovers","coRequestors","principal","Approval","CreateApprovalSchema","pick","extend","emailBody","approvalStage","batchSequence","stepApprovalOrder","steps","approverRole","approver","CreateApproval","ApproveApprovalSchema","result","resultComment","ApproveApproval","ResubmitApprovalSchema","ResubmitApproval","CancelApprovalSchema","comment","CancelApproval","WithdrawApprovalSchema","WithdrawApproval"],"sources":["../src/models/approval/StepApprovalOrder.ts","../src/models/approval/ApprovalFlow.ts","../src/models/approval/ApprovalEmployee.ts","../src/models/approval/ApprovalStepResult.ts","../src/models/approval/ApprovalFlowStep.ts","../src/models/approval/ApprovalRequestType.ts","../src/models/approval/ApprovalStatus.ts","../src/models/approval/Approval.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const StepApprovalOrder = z.enum([\"Serial\", \"Parallel\", \"OneOfThem\"]);\n","import { z } from \"zod\";\nimport { StepApprovalOrder } from \"./StepApprovalOrder\";\nimport type { ApprovalFlowStep } from \"./ApprovalFlowStep\";\n\nexport const ApprovalFlowSchema = z.object({\n  id: z.uuid(),\n  approvalStage: z.number(),\n  batchSequence: z.number().optional(),\n  approvalSequence: z.number(),\n  stepApprovalOrder: StepApprovalOrder,\n  steps: z.array(z.custom<ApprovalFlowStep>()),\n  isActive: z.boolean().default(false).optional(),\n});\n\nexport type ApprovalFlow = z.infer<typeof ApprovalFlowSchema>;\n","import { z } from \"zod\";\n\nexport const ApprovalEmployeeSchema = z.object({\n  employeeId: z.string().trim().min(1).max(20),\n  name: z.string().trim().min(1).max(50),\n  email: z.email().min(1).max(100),\n});\n\nexport type ApprovalEmployee = z.infer<typeof ApprovalEmployeeSchema>;\n","import z from \"zod\";\n\nexport const ApprovalStepResult = z.enum([\n  \"NotAvailable\",\n  \"FutureApproval\",\n  \"WaitingForApproval\",\n  \"Approved\",\n  \"Rejected\",\n  \"Skipped\",\n  \"Withdrawn\",\n  \"Cancelled\",\n]);\n","import { z } from \"zod\";\nimport { ApprovalEmployeeSchema } from \"./ApprovalEmployee\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\n\nexport const ApprovalFlowStepSchema = z.object({\n  id: z.uuid(),\n  order: z.number(),\n  approverRole: z.string().trim().min(1).max(100).default(\"Approver\").optional(),\n  approver: ApprovalEmployeeSchema,\n  actualApprover: ApprovalEmployeeSchema.optional(),\n  result: ApprovalStepResult.default(\"NotAvailable\").optional(),\n  resultDate: z.date().optional(),\n  resultComment: z.string().trim().max(2000).optional(),\n});\n\nexport type ApprovalFlowStep = z.infer<typeof ApprovalFlowStepSchema>;\n","import z from \"zod\";\n\nexport const ApprovalRequestType = z.enum([\"Single\", \"Batch\"]);\n","import z from \"zod\";\n\nexport const ApprovalStatus = z.enum([\n  \"WaitingForApproval\",\n  \"Approved\",\n  \"PartiallyApproved\",\n  \"Rejected\",\n  \"Withdrawn\",\n  \"Cancelled\",\n]);\n","import z from \"zod\";\nimport { type ApprovalEmployee } from \"./ApprovalEmployee\";\nimport type { ApprovalFlow } from \"./ApprovalFlow\";\nimport { ApprovalFlowSchema } from \"./ApprovalFlow\";\nimport { ApprovalFlowStepSchema } from \"./ApprovalFlowStep\";\nimport { ApprovalRequestType } from \"./ApprovalRequestType\";\nimport { ApprovalStatus } from \"./ApprovalStatus\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\n\nexport const ApprovalCoRequestorGroupSchema = z.object({\n  role: z.string().trim().min(1),\n  email: z.email().optional(),\n});\n\nexport const ApprovalCoRequestorEmployeeSchema = z.object({\n  employeeId: z.string().trim().min(1),\n  name: z.string().trim().min(1),\n  email: z.email().optional(),\n});\n\nexport const ApprovalCoRequestorPrincipalSchema = z.union([\n  ApprovalCoRequestorGroupSchema,\n  ApprovalCoRequestorEmployeeSchema,\n]);\n\nexport type ApprovalCoRequestorPrincipal = z.infer<typeof ApprovalCoRequestorPrincipalSchema>;\n\nexport const ApprovalSchema = z.object({\n  id: z.uuid(),\n  number: z.string().trim().max(30).optional(),\n  applicationName: z.string().trim().min(1).max(50),\n  type: ApprovalRequestType.default(\"Single\").optional(),\n  status: ApprovalStatus,\n  created: z.date(),\n  createdBy: z.custom<ApprovalEmployee>(),\n  updated: z.date().optional(),\n  updatedBy: z.custom<ApprovalEmployee>().optional(),\n  approvalFlows: z.array(z.custom<ApprovalFlow>()).min(1),\n  currentApprovers: z.array(z.custom<ApprovalEmployee>()),\n  coRequestors: z\n    .array(z.object({ id: z.uuid(), principal: ApprovalCoRequestorPrincipalSchema }))\n    .optional(),\n});\n\nexport type Approval = z.infer<typeof ApprovalSchema>;\n\n// Create Approval\nexport const CreateApprovalSchema = ApprovalSchema.pick({\n  id: true,\n  number: true,\n  applicationName: true,\n  type: true,\n  status: true,\n  approvalFlows: true,\n}).extend({\n  emailBody: z.string().trim().min(1),\n  approvalFlows: z\n    .array(\n      ApprovalFlowSchema.pick({\n        approvalStage: true,\n        batchSequence: true,\n        stepApprovalOrder: true,\n        steps: true,\n      }).extend({\n        steps: z.array(\n          ApprovalFlowStepSchema.pick({\n            approverRole: true,\n            approver: true,\n          }),\n        ),\n      }),\n    )\n    .min(1),\n  coRequestors: z.array(ApprovalCoRequestorPrincipalSchema).optional(),\n});\n\nexport type CreateApproval = z.infer<typeof CreateApprovalSchema>;\n\n// Single Approval\nexport const ApproveApprovalSchema = z.object({\n  id: z.uuid(),\n  result: ApprovalStepResult,\n  resultComment: z.string().trim().max(2000).optional(),\n  emailBody: z.string().trim().min(1),\n});\n\nexport type ApproveApproval = z.infer<typeof ApproveApprovalSchema>;\n\n// Resubmit Approval\nexport const ResubmitApprovalSchema = ApprovalSchema.pick({\n  id: true,\n  approvalFlows: true,\n}).extend({\n  approvalFlows: z\n    .array(\n      ApprovalFlowSchema.pick({\n        approvalStage: true,\n        batchSequence: true,\n        stepApprovalOrder: true,\n        steps: true,\n      }).extend({\n        steps: z.array(\n          ApprovalFlowStepSchema.pick({\n            approverRole: true,\n            approver: true,\n          }),\n        ),\n      }),\n    )\n    .min(1),\n});\n\nexport type ResubmitApproval = z.infer<typeof ResubmitApprovalSchema>;\n\n// Cancel Approval\nexport const CancelApprovalSchema = z.object({\n  id: z.uuid(),\n  comment: z.string().trim().min(1).max(2000),\n  emailBody: z.string().trim().min(1),\n});\n\nexport type CancelApproval = z.infer<typeof CancelApprovalSchema>;\n\n// Withdraw Approval\nexport const WithdrawApprovalSchema = z.object({\n  id: z.uuid(),\n  comment: z.string().trim().min(1).max(2000),\n  emailBody: z.string().trim().min(1),\n});\n\nexport type WithdrawApproval = z.infer<typeof WithdrawApprovalSchema>;\n"],"mappings":"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"}