wcz-layout 8.0.4 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -62,6 +62,16 @@ const ApprovalStatus = z$1.enum([
62
62
  ]);
63
63
  //#endregion
64
64
  //#region src/models/approval/Approval.ts
65
+ const ApprovalCoRequestorGroupSchema = z$1.object({
66
+ role: z$1.string().trim().min(1),
67
+ email: z$1.email().optional()
68
+ });
69
+ const ApprovalCoRequestorEmployeeSchema = z$1.object({
70
+ employeeId: z$1.string().trim().min(1),
71
+ name: z$1.string().trim().min(1),
72
+ email: z$1.email().optional()
73
+ });
74
+ const ApprovalCoRequestorPrincipalSchema = z$1.union([ApprovalCoRequestorGroupSchema, ApprovalCoRequestorEmployeeSchema]);
65
75
  const ApprovalSchema = z$1.object({
66
76
  id: z$1.uuid(),
67
77
  number: z$1.string().trim().max(30).optional(),
@@ -76,7 +86,7 @@ const ApprovalSchema = z$1.object({
76
86
  currentApprovers: z$1.array(z$1.custom()),
77
87
  coRequestors: z$1.array(z$1.object({
78
88
  id: z$1.uuid(),
79
- employee: z$1.custom()
89
+ principal: ApprovalCoRequestorPrincipalSchema
80
90
  })).optional()
81
91
  });
82
92
  const CreateApprovalSchema = ApprovalSchema.pick({
@@ -97,7 +107,7 @@ const CreateApprovalSchema = ApprovalSchema.pick({
97
107
  approverRole: true,
98
108
  approver: true
99
109
  })) })).min(1),
100
- coRequestors: z$1.array(z$1.custom()).optional()
110
+ coRequestors: z$1.array(ApprovalCoRequestorPrincipalSchema).optional()
101
111
  });
102
112
  const ApproveApprovalSchema = z$1.object({
103
113
  id: z$1.uuid(),
@@ -130,4 +140,4 @@ const WithdrawApprovalSchema = z$1.object({
130
140
  //#endregion
131
141
  export { ResubmitApprovalSchema as a, ApprovalFlowStepSchema as c, ApprovalFlowSchema as d, CreateApprovalSchema as i, ApprovalStepResult as l, ApproveApprovalSchema as n, WithdrawApprovalSchema as o, CancelApprovalSchema as r, ApprovalStatus as s, ApprovalSchema as t, ApprovalEmployeeSchema as u };
132
142
 
133
- //# sourceMappingURL=Approval-BSQHVGsm.js.map
143
+ //# sourceMappingURL=Approval-DBjc7AVj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Approval-DBjc7AVj.js","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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"}
@@ -1,12 +1,8 @@
1
- import { B as uploadFile, O as FileSchema, b as GetApprovalsSchema, i as SearchEmployeesSchema, j as UploadFileMetaSchema, k as GetFileMetasSchema, n as DepartmentIdSchema, r as EmployeeIdSchema, t as CompanyCodeSchema, y as GetApprovalSchema } from "../peoplesoft-B9kmi9rI.js";
1
+ import { B as uploadFile, O as FileSchema, b as GetApprovalsSchema, i as SearchEmployeesSchema, j as UploadFileMetaSchema, k as GetFileMetasSchema, n as DepartmentIdSchema, r as EmployeeIdSchema, t as CompanyCodeSchema, y as GetApprovalSchema } from "../peoplesoft-CFgBFvG-.js";
2
2
  import z$1, { z } from "zod";
3
3
  import * as _$_tanstack_react_query0 from "@tanstack/react-query";
4
- import { QueryClient } from "@tanstack/react-query";
5
4
  import * as _$_tanstack_query_core0 from "@tanstack/query-core";
6
5
 
7
- //#region src/lib/queryClient.d.ts
8
- declare const queryClient: QueryClient;
9
- //#endregion
10
6
  //#region src/queries/client/file.d.ts
11
7
  declare const fileMetasQueryOptions: (params: z.input<typeof GetFileMetasSchema>) => _$_tanstack_query_core0.OmitKeyof<_$_tanstack_react_query0.UseQueryOptions<{
12
8
  id: string;
@@ -175,10 +171,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
175
171
  } | undefined;
176
172
  coRequestors?: {
177
173
  id: string;
178
- employee: {
174
+ principal: {
175
+ role: string;
176
+ email?: string | undefined;
177
+ } | {
179
178
  employeeId: string;
180
179
  name: string;
181
- email: string;
180
+ email?: string | undefined;
182
181
  };
183
182
  }[] | undefined;
184
183
  }[], Error, {
@@ -232,10 +231,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
232
231
  } | undefined;
233
232
  coRequestors?: {
234
233
  id: string;
235
- employee: {
234
+ principal: {
235
+ role: string;
236
+ email?: string | undefined;
237
+ } | {
236
238
  employeeId: string;
237
239
  name: string;
238
- email: string;
240
+ email?: string | undefined;
239
241
  };
240
242
  }[] | undefined;
241
243
  }[], (string | {
@@ -295,10 +297,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
295
297
  } | undefined;
296
298
  coRequestors?: {
297
299
  id: string;
298
- employee: {
300
+ principal: {
301
+ role: string;
302
+ email?: string | undefined;
303
+ } | {
299
304
  employeeId: string;
300
305
  name: string;
301
- email: string;
306
+ email?: string | undefined;
302
307
  };
303
308
  }[] | undefined;
304
309
  }[], (string | {
@@ -365,10 +370,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
365
370
  } | undefined;
366
371
  coRequestors?: {
367
372
  id: string;
368
- employee: {
373
+ principal: {
374
+ role: string;
375
+ email?: string | undefined;
376
+ } | {
369
377
  employeeId: string;
370
378
  name: string;
371
- email: string;
379
+ email?: string | undefined;
372
380
  };
373
381
  }[] | undefined;
374
382
  }[];
@@ -426,10 +434,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
426
434
  } | undefined;
427
435
  coRequestors?: {
428
436
  id: string;
429
- employee: {
437
+ principal: {
438
+ role: string;
439
+ email?: string | undefined;
440
+ } | {
430
441
  employeeId: string;
431
442
  name: string;
432
- email: string;
443
+ email?: string | undefined;
433
444
  };
434
445
  }[] | undefined;
435
446
  }, Error, {
@@ -483,10 +494,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
483
494
  } | undefined;
484
495
  coRequestors?: {
485
496
  id: string;
486
- employee: {
497
+ principal: {
498
+ role: string;
499
+ email?: string | undefined;
500
+ } | {
487
501
  employeeId: string;
488
502
  name: string;
489
- email: string;
503
+ email?: string | undefined;
490
504
  };
491
505
  }[] | undefined;
492
506
  }, (string | {
@@ -543,10 +557,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
543
557
  } | undefined;
544
558
  coRequestors?: {
545
559
  id: string;
546
- employee: {
560
+ principal: {
561
+ role: string;
562
+ email?: string | undefined;
563
+ } | {
547
564
  employeeId: string;
548
565
  name: string;
549
- email: string;
566
+ email?: string | undefined;
550
567
  };
551
568
  }[] | undefined;
552
569
  }, (string | {
@@ -607,10 +624,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
607
624
  } | undefined;
608
625
  coRequestors?: {
609
626
  id: string;
610
- employee: {
627
+ principal: {
628
+ role: string;
629
+ email?: string | undefined;
630
+ } | {
611
631
  employeeId: string;
612
632
  name: string;
613
- email: string;
633
+ email?: string | undefined;
614
634
  };
615
635
  }[] | undefined;
616
636
  };
@@ -668,10 +688,13 @@ declare const createApprovalMutationOptions: () => Omit<_$_tanstack_react_query0
668
688
  } | undefined;
669
689
  coRequestors?: {
670
690
  id: string;
671
- employee: {
691
+ principal: {
692
+ role: string;
693
+ email?: string | undefined;
694
+ } | {
672
695
  employeeId: string;
673
696
  name: string;
674
- email: string;
697
+ email?: string | undefined;
675
698
  };
676
699
  }[] | undefined;
677
700
  }, Error, {
@@ -694,11 +717,14 @@ declare const createApprovalMutationOptions: () => Omit<_$_tanstack_react_query0
694
717
  }[];
695
718
  number?: string | undefined;
696
719
  type?: "Single" | "Batch" | undefined;
697
- coRequestors?: {
720
+ coRequestors?: ({
721
+ role: string;
722
+ email?: string | undefined;
723
+ } | {
698
724
  employeeId: string;
699
725
  name: string;
700
- email: string;
701
- }[] | undefined;
726
+ email?: string | undefined;
727
+ })[] | undefined;
702
728
  }, unknown>, "mutationKey">;
703
729
  declare const approveApprovalMutationOptions: () => Omit<_$_tanstack_react_query0.UseMutationOptions<{
704
730
  id: string;
@@ -751,10 +777,13 @@ declare const approveApprovalMutationOptions: () => Omit<_$_tanstack_react_query
751
777
  } | undefined;
752
778
  coRequestors?: {
753
779
  id: string;
754
- employee: {
780
+ principal: {
781
+ role: string;
782
+ email?: string | undefined;
783
+ } | {
755
784
  employeeId: string;
756
785
  name: string;
757
- email: string;
786
+ email?: string | undefined;
758
787
  };
759
788
  }[] | undefined;
760
789
  }, Error, {
@@ -814,10 +843,13 @@ declare const resubmitApprovalMutationOptions: () => Omit<_$_tanstack_react_quer
814
843
  } | undefined;
815
844
  coRequestors?: {
816
845
  id: string;
817
- employee: {
846
+ principal: {
847
+ role: string;
848
+ email?: string | undefined;
849
+ } | {
818
850
  employeeId: string;
819
851
  name: string;
820
- email: string;
852
+ email?: string | undefined;
821
853
  };
822
854
  }[] | undefined;
823
855
  }, Error, {
@@ -3077,5 +3109,5 @@ declare const companyGeneralManagerQueryOptions: (params: z$1.infer<typeof Compa
3077
3109
  };
3078
3110
  };
3079
3111
  //#endregion
3080
- export { activeEmployeesQueryOptions, approvalQueryOptions, approvalsQueryOptions, approveApprovalMutationOptions, batchDeleteFilesMutationOptions, cancelApprovalMutationOptions, companyGeneralManagerQueryOptions, createApprovalMutationOptions, deleteFileMutationOptions, departmentByIdQueryOptions, departmentEmployeesQueryOptions, departmentManagerQueryOptions, departmentsQueryOptions, downloadFileMutationOptions, employeeByIdQueryOptions, employeeGeneralManagerQueryOptions, employeeManagerQueryOptions, employeeSubordinatesQueryOptions, employeeSupervisorQueryOptions, employeesQueryOptions, employeesSearchQueryOptions, fileMetasQueryOptions, fileQueryOptions, fileThumbnailQueryOptions, openFileMutationOptions, previousEmployeeIdsQueryOptions, queryClient, resubmitApprovalMutationOptions, updateFileMetaMutationOptions, useUploadFile, withdrawApprovalMutationOptions };
3112
+ export { activeEmployeesQueryOptions, approvalQueryOptions, approvalsQueryOptions, approveApprovalMutationOptions, batchDeleteFilesMutationOptions, cancelApprovalMutationOptions, companyGeneralManagerQueryOptions, createApprovalMutationOptions, deleteFileMutationOptions, departmentByIdQueryOptions, departmentEmployeesQueryOptions, departmentManagerQueryOptions, departmentsQueryOptions, downloadFileMutationOptions, employeeByIdQueryOptions, employeeGeneralManagerQueryOptions, employeeManagerQueryOptions, employeeSubordinatesQueryOptions, employeeSupervisorQueryOptions, employeesQueryOptions, employeesSearchQueryOptions, fileMetasQueryOptions, fileQueryOptions, fileThumbnailQueryOptions, openFileMutationOptions, previousEmployeeIdsQueryOptions, resubmitApprovalMutationOptions, updateFileMetaMutationOptions, useUploadFile, withdrawApprovalMutationOptions };
3081
3113
  //# sourceMappingURL=client.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { t as queryClient } from "../queryClient-1OJ5Va3i.js";
2
2
  import { a as fileQueryOptions, c as updateFileMetaMutationOptions, i as fileMetasQueryOptions, l as useUploadFile, n as deleteFileMutationOptions, o as fileThumbnailQueryOptions, r as downloadFileMutationOptions, s as openFileMutationOptions, t as batchDeleteFilesMutationOptions } from "../file-DNF9kxdN.js";
3
- import { C as createApproval, D as withdrawApproval, E as resubmitApproval, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, l as getDepartmentManager, m as getEmployeeSubordinates, o as getCompanyGeneralManager, p as getEmployeeManager, s as getDepartmentById, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval } from "../peoplesoft-CYSlmcwI.js";
3
+ import { C as createApproval, D as withdrawApproval, E as resubmitApproval, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, l as getDepartmentManager, m as getEmployeeSubordinates, o as getCompanyGeneralManager, p as getEmployeeManager, s as getDepartmentById, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval } from "../peoplesoft-RYzK8IDF.js";
4
4
  import { mutationOptions, queryOptions } from "@tanstack/react-query";
5
5
  //#region src/queries/client/approval.ts
6
6
  const QUERY_KEY$1 = "approval";
@@ -183,6 +183,6 @@ const companyGeneralManagerQueryOptions = (params) => queryOptions({
183
183
  ...baseOptions
184
184
  });
185
185
  //#endregion
186
- export { activeEmployeesQueryOptions, approvalQueryOptions, approvalsQueryOptions, approveApprovalMutationOptions, batchDeleteFilesMutationOptions, cancelApprovalMutationOptions, companyGeneralManagerQueryOptions, createApprovalMutationOptions, deleteFileMutationOptions, departmentByIdQueryOptions, departmentEmployeesQueryOptions, departmentManagerQueryOptions, departmentsQueryOptions, downloadFileMutationOptions, employeeByIdQueryOptions, employeeGeneralManagerQueryOptions, employeeManagerQueryOptions, employeeSubordinatesQueryOptions, employeeSupervisorQueryOptions, employeesQueryOptions, employeesSearchQueryOptions, fileMetasQueryOptions, fileQueryOptions, fileThumbnailQueryOptions, openFileMutationOptions, previousEmployeeIdsQueryOptions, queryClient, resubmitApprovalMutationOptions, updateFileMetaMutationOptions, useUploadFile, withdrawApprovalMutationOptions };
186
+ export { activeEmployeesQueryOptions, approvalQueryOptions, approvalsQueryOptions, approveApprovalMutationOptions, batchDeleteFilesMutationOptions, cancelApprovalMutationOptions, companyGeneralManagerQueryOptions, createApprovalMutationOptions, deleteFileMutationOptions, departmentByIdQueryOptions, departmentEmployeesQueryOptions, departmentManagerQueryOptions, departmentsQueryOptions, downloadFileMutationOptions, employeeByIdQueryOptions, employeeGeneralManagerQueryOptions, employeeManagerQueryOptions, employeeSubordinatesQueryOptions, employeeSupervisorQueryOptions, employeesQueryOptions, employeesSearchQueryOptions, fileMetasQueryOptions, fileQueryOptions, fileThumbnailQueryOptions, openFileMutationOptions, previousEmployeeIdsQueryOptions, resubmitApprovalMutationOptions, updateFileMetaMutationOptions, useUploadFile, withdrawApprovalMutationOptions };
187
187
 
188
188
  //# sourceMappingURL=client.js.map
@@ -1,4 +1,4 @@
1
- import { A as UpdateFileMetaSchema, B as uploadFile, C as createApproval, D as withdrawApproval, E as resubmitApproval, F as downloadFile, I as getFile, L as getFileMetas, M as UploadFileResult, N as batchDeleteFiles, O as FileSchema, P as deleteFile, R as getFileThumbnail, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, b as GetApprovalsSchema, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, i as SearchEmployeesSchema, j as UploadFileMetaSchema, k as GetFileMetasSchema, l as getDepartmentManager, m as getEmployeeSubordinates, n as DepartmentIdSchema, o as getCompanyGeneralManager, p as getEmployeeManager, r as EmployeeIdSchema, s as getDepartmentById, t as CompanyCodeSchema, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval, y as GetApprovalSchema, z as updateFileMeta } from "../peoplesoft-B9kmi9rI.js";
1
+ import { A as UpdateFileMetaSchema, B as uploadFile, C as createApproval, D as withdrawApproval, E as resubmitApproval, F as downloadFile, I as getFile, L as getFileMetas, M as UploadFileResult, N as batchDeleteFiles, O as FileSchema, P as deleteFile, R as getFileThumbnail, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, b as GetApprovalsSchema, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, i as SearchEmployeesSchema, j as UploadFileMetaSchema, k as GetFileMetasSchema, l as getDepartmentManager, m as getEmployeeSubordinates, n as DepartmentIdSchema, o as getCompanyGeneralManager, p as getEmployeeManager, r as EmployeeIdSchema, s as getDepartmentById, t as CompanyCodeSchema, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval, y as GetApprovalSchema, z as updateFileMeta } from "../peoplesoft-CFgBFvG-.js";
2
2
  import * as _$zod from "zod";
3
3
  import * as _$_tanstack_start_client_core0 from "@tanstack/start-client-core";
4
4
  import * as _$zod_v4_core0 from "zod/v4/core";
@@ -1,21 +1,25 @@
1
1
  import { n as serverEnv } from "../env-Dgbk8SQN.js";
2
- import { a as batchDeleteFiles, c as getFile, d as updateFileMeta, f as uploadFile, i as UploadFileMetaSchema, l as getFileMetas, n as GetFileMetasSchema, o as deleteFile, p as createExternalApi, r as UpdateFileMetaSchema, s as downloadFile, t as FileSchema, u as getFileThumbnail } from "../file-BHdm6ob1.js";
2
+ import { n as getTokenOnBehalfOf, t as getAppToken } from "../msalServer-coQaBOlr.js";
3
+ import { a as batchDeleteFiles, c as getFile, d as updateFileMeta, f as uploadFile, i as UploadFileMetaSchema, l as getFileMetas, n as GetFileMetasSchema, o as deleteFile, r as UpdateFileMetaSchema, s as downloadFile, t as FileSchema, u as getFileThumbnail } from "../file-BHdm6ob1.js";
3
4
  import { t as EmailSchema } from "../Email-D2SPExbn.js";
4
- import { C as createApproval, D as withdrawApproval, E as resubmitApproval, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, b as GetApprovalsSchema, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, i as SearchEmployeesSchema, l as getDepartmentManager, m as getEmployeeSubordinates, n as DepartmentIdSchema, o as getCompanyGeneralManager, p as getEmployeeManager, r as EmployeeIdSchema, s as getDepartmentById, t as CompanyCodeSchema, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval, y as GetApprovalSchema } from "../peoplesoft-CYSlmcwI.js";
5
- import { createServerFn, createServerOnlyFn } from "@tanstack/react-start";
5
+ import { C as createApproval, D as withdrawApproval, E as resubmitApproval, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, b as GetApprovalsSchema, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, i as SearchEmployeesSchema, l as getDepartmentManager, m as getEmployeeSubordinates, n as DepartmentIdSchema, o as getCompanyGeneralManager, p as getEmployeeManager, r as EmployeeIdSchema, s as getDepartmentById, t as CompanyCodeSchema, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval, y as GetApprovalSchema } from "../peoplesoft-RYzK8IDF.js";
6
+ import { createServerFn } from "@tanstack/react-start";
7
+ import axios from "axios";
8
+ import { getRequestHeader } from "@tanstack/react-start/server";
9
+ import https from "node:https";
6
10
  //#region src/queries/server/email.ts
7
- let emailApi = null;
8
- const getEmailApi = createServerOnlyFn(() => {
9
- const baseUrl = serverEnv.EMAIL_BASE_URL;
10
- if (!baseUrl) throw new Error("EMAIL_BASE_URL is not defined in server environment variables.");
11
- emailApi ??= createExternalApi(baseUrl, "email");
12
- return emailApi;
13
- });
14
11
  const sendEmail = createServerFn({ method: "POST" }).inputValidator(EmailSchema).handler(async ({ data }) => {
15
- await getEmailApi().request({
16
- url: "/",
17
- method: "POST",
18
- data
12
+ const BASE_URL = serverEnv.EMAIL_BASE_URL;
13
+ if (!BASE_URL) throw new Error("EMAIL_BASE_URL is not defined in server environment variables.");
14
+ let accessToken = getRequestHeader("Authorization");
15
+ if (accessToken) {
16
+ if (accessToken.startsWith("Bearer ")) accessToken = accessToken.substring(7);
17
+ accessToken = await getTokenOnBehalfOf(accessToken, "email");
18
+ } else accessToken = await getAppToken("email");
19
+ await axios.post("/v1/email", data, {
20
+ baseURL: BASE_URL,
21
+ httpsAgent: new https.Agent({ rejectUnauthorized: false }),
22
+ headers: { Authorization: `Bearer ${accessToken}` }
19
23
  });
20
24
  });
21
25
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":["createServerFn","createServerOnlyFn","AxiosInstance","serverEnv","EmailSchema","createExternalApi","emailApi","getEmailApi","baseUrl","EMAIL_BASE_URL","Error","sendEmail","method","inputValidator","handler","data","api","request","url"],"sources":["../../src/queries/server/email.ts"],"sourcesContent":["import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { serverEnv } from \"~/env\";\nimport { EmailSchema } from \"~/models/email/Email\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet emailApi: AxiosInstance | null = null;\nconst getEmailApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.EMAIL_BASE_URL;\n if (!baseUrl) throw new Error(\"EMAIL_BASE_URL is not defined in server environment variables.\");\n emailApi ??= createExternalApi(baseUrl, \"email\");\n return emailApi;\n});\n\nexport const sendEmail = createServerFn({ method: \"POST\" })\n .inputValidator(EmailSchema)\n .handler(async ({ data }) => {\n const api = getEmailApi();\n await api.request<void>({\n url: \"/\",\n method: \"POST\",\n data,\n });\n });\n"],"mappings":";;;;;;AAMA,IAAIM,WAAiC;AACrC,MAAMC,cAAcN,yBAAwC;CAC1D,MAAMO,UAAUL,UAAUM;AAC1B,KAAI,CAACD,QAAS,OAAM,IAAIE,MAAM,iEAAiE;AAC/FJ,cAAaD,kBAAkBG,SAAS,QAAQ;AAChD,QAAOF;EACP;AAEF,MAAaK,YAAYX,eAAe,EAAEY,QAAQ,QAAQ,CAAC,CACxDC,eAAeT,YAAY,CAC3BU,QAAQ,OAAO,EAAEC,WAAW;AAE3B,OADYR,aACH,CAACU,QAAc;EACtBC,KAAK;EACLN,QAAQ;EACRG;EACD,CAAC;EACF"}
1
+ {"version":3,"file":"server.js","names":["createServerFn","getRequestHeader","axios","https","serverEnv","getAppToken","getTokenOnBehalfOf","EmailSchema","sendEmail","method","inputValidator","handler","data","BASE_URL","EMAIL_BASE_URL","Error","accessToken","startsWith","substring","length","post","baseURL","httpsAgent","Agent","rejectUnauthorized","headers","Authorization"],"sources":["../../src/queries/server/email.ts"],"sourcesContent":["import { createServerFn } from \"@tanstack/react-start\";\nimport { getRequestHeader } from \"@tanstack/react-start/server\";\nimport axios from \"axios\";\nimport https from \"node:https\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken, getTokenOnBehalfOf } from \"~/lib/auth/msalServer\";\nimport { EmailSchema } from \"~/models/email/Email\";\n\nexport const sendEmail = createServerFn({ method: \"POST\" })\n .inputValidator(EmailSchema)\n .handler(async ({ data }) => {\n const BASE_URL = serverEnv.EMAIL_BASE_URL;\n if (!BASE_URL)\n throw new Error(\"EMAIL_BASE_URL is not defined in server environment variables.\");\n\n let accessToken = getRequestHeader(\"Authorization\");\n if (accessToken) {\n if (accessToken.startsWith(\"Bearer \")) accessToken = accessToken.substring(\"Bearer \".length);\n accessToken = await getTokenOnBehalfOf(accessToken, \"email\");\n } else {\n accessToken = await getAppToken(\"email\");\n }\n\n await axios.post(\"/v1/email\", data, {\n baseURL: BASE_URL,\n httpsAgent: new https.Agent({ rejectUnauthorized: false }),\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n });\n"],"mappings":";;;;;;;;;;AAQA,MAAaQ,YAAYR,eAAe,EAAES,QAAQ,QAAQ,CAAC,CACxDC,eAAeH,YAAY,CAC3BI,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,WAAWT,UAAUU;AAC3B,KAAI,CAACD,SACH,OAAM,IAAIE,MAAM,iEAAiE;CAEnF,IAAIC,cAAcf,iBAAiB,gBAAgB;AACnD,KAAIe,aAAa;AACf,MAAIA,YAAYC,WAAW,UAAU,CAAED,eAAcA,YAAYE,UAAU,EAAiB;AAC5FF,gBAAc,MAAMV,mBAAmBU,aAAa,QAAQ;OAE5DA,eAAc,MAAMX,YAAY,QAAQ;AAG1C,OAAMH,MAAMkB,KAAK,aAAaR,MAAM;EAClCS,SAASR;EACTS,YAAY,IAAInB,MAAMoB,MAAM,EAAEC,oBAAoB,OAAO,CAAC;EAC1DC,SAAS,EACPC,eAAe,UAAUV,eAC3B;EACD,CAAC;EACF"}
package/dist/data.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+
3
+ //#region src/lib/queryClient.d.ts
4
+ declare const queryClient: QueryClient;
5
+ //#endregion
6
+ export { queryClient };
7
+ //# sourceMappingURL=data.d.ts.map
package/dist/data.js ADDED
@@ -0,0 +1,2 @@
1
+ import { t as queryClient } from "./queryClient-1OJ5Va3i.js";
2
+ export { queryClient };
@@ -1 +1 @@
1
- {"version":3,"file":"file-BHdm6ob1.js","names":["AxiosInstance","axios","scopes","definedScopes","getAppToken","ScopeKey","createExternalApi","baseURL","scopeKey","api","create","interceptors","request","use","config","accessToken","headers","set","createServerFn","createServerOnlyFn","AxiosInstance","Upload","uuidv7","z","serverEnv","getAppToken","FileMeta","FileMetaSchema","createExternalApi","fileApi","getFileApi","baseUrl","FILE_BASE_URL","Error","GetFileMetasSchema","object","appName","string","min","max","subId","uuid","FileSchema","id","UpdateFileMetaSchema","extend","fileName","DeleteFileSchema","BatchDeleteFilesSchema","UploadFileResult","UploadFileMetaSchema","file","instanceof","File","getFileMetas","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","request","Array","url","toString","then","r","getFileThumbnail","response","ArrayBuffer","responseType","Response","headers","getFile","downloadFile","updateFileMeta","deleteFile","batchDeleteFiles","uploadFile","Promise","accessToken","buffer","Buffer","from","arrayBuffer","resolve","reject","upload","endpoint","chunkSize","metadata","name","fileExtension","type","Authorization","onError","onSuccess","start"],"sources":["../src/queries/server/externalApi.ts","../src/queries/server/file.ts"],"sourcesContent":["import type { AxiosInstance } from \"axios\";\nimport axios from \"axios\";\nimport type { scopes as definedScopes } from \"virtual:wcz-layout\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\n\ntype ScopeKey = keyof typeof definedScopes;\n\nexport function createExternalApi(baseURL: string, scopeKey: ScopeKey): AxiosInstance {\n const api = axios.create({ baseURL });\n\n api.interceptors.request.use(async (config) => {\n const accessToken = await getAppToken(scopeKey);\n config.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return config;\n });\n\n return api;\n}\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { Upload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet fileApi: AxiosInstance | null = null;\nconst getFileApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.FILE_BASE_URL;\n if (!baseUrl) throw new Error(\"FILE_BASE_URL is not defined in server environment variables.\");\n fileApi ??= createExternalApi(baseUrl, \"file\");\n return fileApi;\n});\n\nexport const GetFileMetasSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n});\n\nexport const FileSchema = z.object({\n appName: z.string().min(1).max(255),\n id: z.uuid(),\n});\n\nexport const UpdateFileMetaSchema = FileMetaSchema.extend({\n fileName: z.string().min(1).max(255),\n});\n\nconst DeleteFileSchema = FileSchema;\n\nconst BatchDeleteFilesSchema = GetFileMetasSchema;\n\nexport interface UploadFileResult {\n id: string;\n appName: string;\n subId: string;\n fileName: string;\n}\n\nexport const UploadFileMetaSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n file: z.instanceof(File),\n});\n\nexport const getFileMetas = createServerFn({ method: \"GET\" })\n .inputValidator(GetFileMetasSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n return api\n .request<Array<FileMeta>>({\n url: `/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getFileThumbnail = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const getFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const downloadFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1/download?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const updateFileMeta = createServerFn({ method: \"POST\" })\n .inputValidator(UpdateFileMetaSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n return api\n .request({ url: `/v1/meta?${queryParams.toString()}`, method: \"PUT\", data })\n .then((r) => r.data);\n });\n\nexport const deleteFile = createServerFn({ method: \"POST\" })\n .inputValidator(DeleteFileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n return api\n .request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" })\n .then((r) => r.data);\n });\n\nexport const batchDeleteFiles = createServerFn({ method: \"POST\" })\n .inputValidator(BatchDeleteFilesSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n return api\n .request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" })\n .then((r) => r.data);\n });\n\nexport const uploadFile = createServerFn({ method: \"POST\" })\n .inputValidator(UploadFileMetaSchema)\n .handler(async ({ data }): Promise<UploadFileResult> => {\n const accessToken = await getAppToken(\"file\");\n const buffer = Buffer.from(await data.file.arrayBuffer());\n const id = uuidv7();\n\n await new Promise<void>((resolve, reject) => {\n const upload = new Upload(buffer, {\n endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,\n chunkSize: 1_048_576,\n metadata: {\n id,\n appName: data.appName,\n subId: data.subId,\n fileName: data.file.name,\n fileExtension: data.file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: reject,\n onSuccess: () => resolve(),\n });\n upload.start();\n });\n\n return { id, appName: data.appName, subId: data.subId, fileName: data.file.name };\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"file-BHdm6ob1.js","names":["AxiosInstance","axios","scopes","definedScopes","getAppToken","ScopeKey","createExternalApi","baseURL","scopeKey","api","create","interceptors","request","use","config","accessToken","headers","set","createServerFn","createServerOnlyFn","AxiosInstance","Upload","uuidv7","z","serverEnv","getAppToken","FileMeta","FileMetaSchema","createExternalApi","fileApi","getFileApi","baseUrl","FILE_BASE_URL","Error","GetFileMetasSchema","object","appName","string","min","max","subId","uuid","FileSchema","id","UpdateFileMetaSchema","extend","fileName","DeleteFileSchema","BatchDeleteFilesSchema","UploadFileResult","UploadFileMetaSchema","file","instanceof","File","getFileMetas","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","request","Array","url","toString","then","r","getFileThumbnail","response","ArrayBuffer","responseType","Response","headers","getFile","downloadFile","updateFileMeta","deleteFile","batchDeleteFiles","uploadFile","Promise","accessToken","buffer","Buffer","from","arrayBuffer","resolve","reject","upload","endpoint","chunkSize","metadata","name","fileExtension","type","Authorization","onError","onSuccess","start"],"sources":["../src/queries/server/externalApi.ts","../src/queries/server/file.ts"],"sourcesContent":["import type { AxiosInstance } from \"axios\";\r\nimport axios from \"axios\";\r\nimport type { scopes as definedScopes } from \"virtual:wcz-layout\";\r\nimport { getAppToken } from \"~/lib/auth/msalServer\";\r\n\r\ntype ScopeKey = keyof typeof definedScopes;\r\n\r\nexport function createExternalApi(baseURL: string, scopeKey: ScopeKey): AxiosInstance {\r\n const api = axios.create({ baseURL });\r\n\r\n api.interceptors.request.use(async (config) => {\r\n const accessToken = await getAppToken(scopeKey);\r\n config.headers.set(\"Authorization\", `Bearer ${accessToken}`);\r\n return config;\r\n });\r\n\r\n return api;\r\n}\r\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { Upload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet fileApi: AxiosInstance | null = null;\nconst getFileApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.FILE_BASE_URL;\n if (!baseUrl) throw new Error(\"FILE_BASE_URL is not defined in server environment variables.\");\n fileApi ??= createExternalApi(baseUrl, \"file\");\n return fileApi;\n});\n\nexport const GetFileMetasSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n});\n\nexport const FileSchema = z.object({\n appName: z.string().min(1).max(255),\n id: z.uuid(),\n});\n\nexport const UpdateFileMetaSchema = FileMetaSchema.extend({\n fileName: z.string().min(1).max(255),\n});\n\nconst DeleteFileSchema = FileSchema;\n\nconst BatchDeleteFilesSchema = GetFileMetasSchema;\n\nexport interface UploadFileResult {\n id: string;\n appName: string;\n subId: string;\n fileName: string;\n}\n\nexport const UploadFileMetaSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n file: z.instanceof(File),\n});\n\nexport const getFileMetas = createServerFn({ method: \"GET\" })\n .inputValidator(GetFileMetasSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n return api\n .request<Array<FileMeta>>({\n url: `/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getFileThumbnail = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const getFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const downloadFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1/download?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const updateFileMeta = createServerFn({ method: \"POST\" })\n .inputValidator(UpdateFileMetaSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n return api\n .request({ url: `/v1/meta?${queryParams.toString()}`, method: \"PUT\", data })\n .then((r) => r.data);\n });\n\nexport const deleteFile = createServerFn({ method: \"POST\" })\n .inputValidator(DeleteFileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n return api\n .request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" })\n .then((r) => r.data);\n });\n\nexport const batchDeleteFiles = createServerFn({ method: \"POST\" })\n .inputValidator(BatchDeleteFilesSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n return api\n .request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" })\n .then((r) => r.data);\n });\n\nexport const uploadFile = createServerFn({ method: \"POST\" })\n .inputValidator(UploadFileMetaSchema)\n .handler(async ({ data }): Promise<UploadFileResult> => {\n const accessToken = await getAppToken(\"file\");\n const buffer = Buffer.from(await data.file.arrayBuffer());\n const id = uuidv7();\n\n await new Promise<void>((resolve, reject) => {\n const upload = new Upload(buffer, {\n endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,\n chunkSize: 1_048_576,\n metadata: {\n id,\n appName: data.appName,\n subId: data.subId,\n fileName: data.file.name,\n fileExtension: data.file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: reject,\n onSuccess: () => resolve(),\n });\n upload.start();\n });\n\n return { id, appName: data.appName, subId: data.subId, fileName: data.file.name };\n });\n"],"mappings":"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"}
package/dist/models.d.ts CHANGED
@@ -242,20 +242,23 @@ declare const ApprovalSchema: z$1.ZodObject<{
242
242
  }>>;
243
243
  coRequestors: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
244
244
  id: z$1.ZodUUID;
245
- employee: z$1.ZodCustom<{
246
- employeeId: string;
247
- name: string;
248
- email: string;
249
- }, {
250
- employeeId: string;
251
- name: string;
252
- email: string;
253
- }>;
245
+ principal: z$1.ZodUnion<readonly [z$1.ZodObject<{
246
+ role: z$1.ZodString;
247
+ email: z$1.ZodOptional<z$1.ZodEmail>;
248
+ }, z$1.core.$strip>, z$1.ZodObject<{
249
+ employeeId: z$1.ZodString;
250
+ name: z$1.ZodString;
251
+ email: z$1.ZodOptional<z$1.ZodEmail>;
252
+ }, z$1.core.$strip>]>;
254
253
  }, z$1.core.$strip>>>;
255
254
  }, z$1.core.$strip>;
256
255
  type Approval = z$1.infer<typeof ApprovalSchema>;
257
256
  declare const CreateApprovalSchema: z$1.ZodObject<{
258
257
  number: z$1.ZodOptional<z$1.ZodString>;
258
+ type: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
259
+ Single: "Single";
260
+ Batch: "Batch";
261
+ }>>>;
259
262
  status: z$1.ZodEnum<{
260
263
  WaitingForApproval: "WaitingForApproval";
261
264
  Approved: "Approved";
@@ -264,10 +267,6 @@ declare const CreateApprovalSchema: z$1.ZodObject<{
264
267
  Withdrawn: "Withdrawn";
265
268
  Cancelled: "Cancelled";
266
269
  }>;
267
- type: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
268
- Single: "Single";
269
- Batch: "Batch";
270
- }>>>;
271
270
  id: z$1.ZodUUID;
272
271
  applicationName: z$1.ZodString;
273
272
  emailBody: z$1.ZodString;
@@ -288,15 +287,14 @@ declare const CreateApprovalSchema: z$1.ZodObject<{
288
287
  approverRole: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodString>>;
289
288
  }, z$1.core.$strip>>;
290
289
  }, z$1.core.$strip>>;
291
- coRequestors: z$1.ZodOptional<z$1.ZodArray<z$1.ZodCustom<{
292
- employeeId: string;
293
- name: string;
294
- email: string;
295
- }, {
296
- employeeId: string;
297
- name: string;
298
- email: string;
299
- }>>>;
290
+ coRequestors: z$1.ZodOptional<z$1.ZodArray<z$1.ZodUnion<readonly [z$1.ZodObject<{
291
+ role: z$1.ZodString;
292
+ email: z$1.ZodOptional<z$1.ZodEmail>;
293
+ }, z$1.core.$strip>, z$1.ZodObject<{
294
+ employeeId: z$1.ZodString;
295
+ name: z$1.ZodString;
296
+ email: z$1.ZodOptional<z$1.ZodEmail>;
297
+ }, z$1.core.$strip>]>>>;
300
298
  }, z$1.core.$strip>;
301
299
  type CreateApproval = z$1.infer<typeof CreateApprovalSchema>;
302
300
  declare const ApproveApprovalSchema: z$1.ZodObject<{
package/dist/models.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { t as FileMetaSchema } from "./FileMeta--27aYkPB.js";
2
2
  import { n as EmailAttachmentSchema, t as EmailSchema } from "./Email-D2SPExbn.js";
3
- import { a as ResubmitApprovalSchema, c as ApprovalFlowStepSchema, d as ApprovalFlowSchema, i as CreateApprovalSchema, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, t as ApprovalSchema, u as ApprovalEmployeeSchema } from "./Approval-BSQHVGsm.js";
3
+ import { a as ResubmitApprovalSchema, c as ApprovalFlowStepSchema, d as ApprovalFlowSchema, i as CreateApprovalSchema, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, t as ApprovalSchema, u as ApprovalEmployeeSchema } from "./Approval-DBjc7AVj.js";
4
4
  import z$1 from "zod";
5
5
  //#region src/models/peoplesoft/EmployeeCategoryGroup.ts
6
6
  const EmployeeCategoryGroup = z$1.enum([
@@ -187,10 +187,13 @@ declare const getApprovals: _$_tanstack_start_client_core0.RequiredFetcher<undef
187
187
  } | undefined;
188
188
  coRequestors?: {
189
189
  id: string;
190
- employee: {
190
+ principal: {
191
+ role: string;
192
+ email?: string | undefined;
193
+ } | {
191
194
  employeeId: string;
192
195
  name: string;
193
- email: string;
196
+ email?: string | undefined;
194
197
  };
195
198
  }[] | undefined;
196
199
  }[]>>;
@@ -247,15 +250,22 @@ declare const getApproval: _$_tanstack_start_client_core0.RequiredFetcher<undefi
247
250
  } | undefined;
248
251
  coRequestors?: {
249
252
  id: string;
250
- employee: {
253
+ principal: {
254
+ role: string;
255
+ email?: string | undefined;
256
+ } | {
251
257
  employeeId: string;
252
258
  name: string;
253
- email: string;
259
+ email?: string | undefined;
254
260
  };
255
261
  }[] | undefined;
256
262
  }>>;
257
263
  declare const createApproval: _$_tanstack_start_client_core0.RequiredFetcher<undefined, z.ZodObject<{
258
264
  number: z.ZodOptional<z.ZodString>;
265
+ type: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
266
+ Single: "Single";
267
+ Batch: "Batch";
268
+ }>>>;
259
269
  status: z.ZodEnum<{
260
270
  WaitingForApproval: "WaitingForApproval";
261
271
  Approved: "Approved";
@@ -264,10 +274,6 @@ declare const createApproval: _$_tanstack_start_client_core0.RequiredFetcher<und
264
274
  Withdrawn: "Withdrawn";
265
275
  Cancelled: "Cancelled";
266
276
  }>;
267
- type: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
268
- Single: "Single";
269
- Batch: "Batch";
270
- }>>>;
271
277
  id: z.ZodUUID;
272
278
  applicationName: z.ZodString;
273
279
  emailBody: z.ZodString;
@@ -288,15 +294,14 @@ declare const createApproval: _$_tanstack_start_client_core0.RequiredFetcher<und
288
294
  approverRole: z.ZodOptional<z.ZodDefault<z.ZodString>>;
289
295
  }, z.core.$strip>>;
290
296
  }, z.core.$strip>>;
291
- coRequestors: z.ZodOptional<z.ZodArray<z.ZodCustom<{
292
- employeeId: string;
293
- name: string;
294
- email: string;
295
- }, {
296
- employeeId: string;
297
- name: string;
298
- email: string;
299
- }>>>;
297
+ coRequestors: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
298
+ role: z.ZodString;
299
+ email: z.ZodOptional<z.ZodEmail>;
300
+ }, z.core.$strip>, z.ZodObject<{
301
+ employeeId: z.ZodString;
302
+ name: z.ZodString;
303
+ email: z.ZodOptional<z.ZodEmail>;
304
+ }, z.core.$strip>]>>>;
300
305
  }, z.core.$strip>, Promise<{
301
306
  id: string;
302
307
  applicationName: string;
@@ -348,10 +353,13 @@ declare const createApproval: _$_tanstack_start_client_core0.RequiredFetcher<und
348
353
  } | undefined;
349
354
  coRequestors?: {
350
355
  id: string;
351
- employee: {
356
+ principal: {
357
+ role: string;
358
+ email?: string | undefined;
359
+ } | {
352
360
  employeeId: string;
353
361
  name: string;
354
- email: string;
362
+ email?: string | undefined;
355
363
  };
356
364
  }[] | undefined;
357
365
  }>>;
@@ -420,10 +428,13 @@ declare const approveApproval: _$_tanstack_start_client_core0.RequiredFetcher<un
420
428
  } | undefined;
421
429
  coRequestors?: {
422
430
  id: string;
423
- employee: {
431
+ principal: {
432
+ role: string;
433
+ email?: string | undefined;
434
+ } | {
424
435
  employeeId: string;
425
436
  name: string;
426
- email: string;
437
+ email?: string | undefined;
427
438
  };
428
439
  }[] | undefined;
429
440
  }>>;
@@ -497,10 +508,13 @@ declare const resubmitApproval: _$_tanstack_start_client_core0.RequiredFetcher<u
497
508
  } | undefined;
498
509
  coRequestors?: {
499
510
  id: string;
500
- employee: {
511
+ principal: {
512
+ role: string;
513
+ email?: string | undefined;
514
+ } | {
501
515
  employeeId: string;
502
516
  name: string;
503
- email: string;
517
+ email?: string | undefined;
504
518
  };
505
519
  }[] | undefined;
506
520
  }>>;
@@ -1078,4 +1092,4 @@ declare const getCompanyGeneralManager: _$_tanstack_start_client_core0.RequiredF
1078
1092
  }>>;
1079
1093
  //#endregion
1080
1094
  export { UpdateFileMetaSchema as A, uploadFile as B, createApproval as C, withdrawApproval as D, resubmitApproval as E, downloadFile as F, getFile as I, getFileMetas as L, UploadFileResult as M, batchDeleteFiles as N, FileSchema as O, deleteFile as P, getFileThumbnail as R, cancelApproval as S, getApprovals as T, getPreviousEmployeeIds as _, getActiveEmployees as a, GetApprovalsSchema as b, getDepartmentEmployees as c, getEmployeeByEmployeeId as d, getEmployeeGeneralManager as f, getEmployees as g, getEmployeeSupervisor as h, SearchEmployeesSchema as i, UploadFileMetaSchema as j, GetFileMetasSchema as k, getDepartmentManager as l, getEmployeeSubordinates as m, DepartmentIdSchema as n, getCompanyGeneralManager as o, getEmployeeManager as p, EmployeeIdSchema as r, getDepartmentById as s, CompanyCodeSchema as t, getDepartments as u, searchEmployees as v, getApproval as w, approveApproval as x, GetApprovalSchema as y, updateFileMeta as z };
1081
- //# sourceMappingURL=peoplesoft-B9kmi9rI.d.ts.map
1095
+ //# sourceMappingURL=peoplesoft-CFgBFvG-.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { n as serverEnv } from "./env-Dgbk8SQN.js";
2
2
  import { p as createExternalApi } from "./file-BHdm6ob1.js";
3
- import { a as ResubmitApprovalSchema, i as CreateApprovalSchema, l as ApprovalStepResult, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, s as ApprovalStatus } from "./Approval-BSQHVGsm.js";
3
+ import { a as ResubmitApprovalSchema, i as CreateApprovalSchema, l as ApprovalStepResult, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, s as ApprovalStatus } from "./Approval-DBjc7AVj.js";
4
4
  import { z } from "zod";
5
5
  import { createServerFn, createServerOnlyFn } from "@tanstack/react-start";
6
6
  //#region src/queries/server/approval.ts
@@ -171,4 +171,4 @@ const getCompanyGeneralManager = createServerFn({ method: "GET" }).inputValidato
171
171
  //#endregion
172
172
  export { createApproval as C, withdrawApproval as D, resubmitApproval as E, cancelApproval as S, getApprovals as T, getPreviousEmployeeIds as _, getActiveEmployees as a, GetApprovalsSchema as b, getDepartmentEmployees as c, getEmployeeByEmployeeId as d, getEmployeeGeneralManager as f, getEmployees as g, getEmployeeSupervisor as h, SearchEmployeesSchema as i, getDepartmentManager as l, getEmployeeSubordinates as m, DepartmentIdSchema as n, getCompanyGeneralManager as o, getEmployeeManager as p, EmployeeIdSchema as r, getDepartmentById as s, CompanyCodeSchema as t, getDepartments as u, searchEmployees as v, getApproval as w, approveApproval as x, GetApprovalSchema as y };
173
173
 
174
- //# sourceMappingURL=peoplesoft-CYSlmcwI.js.map
174
+ //# sourceMappingURL=peoplesoft-RYzK8IDF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peoplesoft-CYSlmcwI.js","names":["createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","Approval","ApprovalStatus","ApprovalStepResult","createExternalApi","approvalApi","getApprovalApi","baseUrl","APPROVAL_BASE_URL","Error","GetApprovalsSchema","object","appName","string","min","max","status","optional","approverEmployeeId","stepResult","GetApprovalSchema","id","uuid","getApprovals","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","toString","request","Array","url","then","r","getApproval","createApproval","approveApproval","resubmitApproval","withdrawApproval","cancelApproval","createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","Department","Employee","createExternalApi","peopleSoftApi","getPeopleSoftApi","baseUrl","PS_BASE_URL","Error","SearchEmployeesSchema","object","searchTerm","string","min","EmployeeIdSchema","employeeId","DepartmentIdSchema","departmentId","CompanyCodeSchema","companyCode","searchEmployees","method","inputValidator","handler","data","api","request","Array","url","encodeURIComponent","then","r","getEmployees","getActiveEmployees","getEmployeeByEmployeeId","getPreviousEmployeeIds","getEmployeeSupervisor","getEmployeeSubordinates","getEmployeeManager","getEmployeeGeneralManager","getDepartments","getDepartmentById","getDepartmentManager","getDepartmentEmployees","getCompanyGeneralManager"],"sources":["../src/queries/server/approval.ts","../src/queries/server/peoplesoft.ts"],"sourcesContent":["import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport {\n ApproveApprovalSchema,\n CancelApprovalSchema,\n CreateApprovalSchema,\n ResubmitApprovalSchema,\n WithdrawApprovalSchema,\n} from \"~/models/approval/Approval\";\nimport type { Approval } from \"~/models/approval/Approval\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet approvalApi: AxiosInstance | null = null;\nconst getApprovalApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.APPROVAL_BASE_URL;\n if (!baseUrl)\n throw new Error(\"APPROVAL_BASE_URL is not defined in server environment variables.\");\n approvalApi ??= createExternalApi(baseUrl, \"approval\");\n return approvalApi;\n});\n\nexport const GetApprovalsSchema = z.object({\n appName: z.string().min(1).max(255),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional(),\n});\n\nexport const GetApprovalSchema = z.object({\n id: z.uuid(),\n});\n\nexport const getApprovals = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalsSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"applicationName\", data.appName);\n if (data.status) queryParams.append(\"status\", data.status.toString());\n if (data.approverEmployeeId) queryParams.append(\"approverEmployeeId\", data.approverEmployeeId);\n if (data.stepResult) queryParams.append(\"stepResult\", data.stepResult.toString());\n\n return api\n .request<Array<Approval>>({\n url: `/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getApproval = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const createApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CreateApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const approveApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ApproveApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const resubmitApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ResubmitApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const withdrawApproval = createServerFn({ method: \"POST\" })\n .inputValidator(WithdrawApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const cancelApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CancelApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/cancel`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport type { Department } from \"~/models/peoplesoft/Department\";\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet peopleSoftApi: AxiosInstance | null = null;\nconst getPeopleSoftApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.PS_BASE_URL;\n if (!baseUrl) throw new Error(\"PS_BASE_URL is not defined in server environment variables.\");\n peopleSoftApi ??= createExternalApi(baseUrl, \"ps\");\n return peopleSoftApi;\n});\n\nexport const SearchEmployeesSchema = z.object({\n searchTerm: z.string().min(1),\n});\n\nexport const EmployeeIdSchema = z.object({\n employeeId: z.string().min(1),\n});\n\nexport const DepartmentIdSchema = z.object({\n departmentId: z.string().min(1),\n});\n\nexport const CompanyCodeSchema = z.object({\n companyCode: z.string().min(1),\n});\n\nexport const searchEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(SearchEmployeesSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee?search=${encodeURIComponent(data.searchTerm)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getActiveEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/active`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeByEmployeeId = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getPreviousEmployeeIds = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/previousIds`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeSupervisor = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/supervisor`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeSubordinates = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/subordinates`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartments = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Department>>({ url: `/v1/department/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getDepartmentById = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Department>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentManager = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/employees`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getCompanyGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(CompanyCodeSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/company/${encodeURIComponent(data.companyCode)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"peoplesoft-RYzK8IDF.js","names":["createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","Approval","ApprovalStatus","ApprovalStepResult","createExternalApi","approvalApi","getApprovalApi","baseUrl","APPROVAL_BASE_URL","Error","GetApprovalsSchema","object","appName","string","min","max","status","optional","approverEmployeeId","stepResult","GetApprovalSchema","id","uuid","getApprovals","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","toString","request","Array","url","then","r","getApproval","createApproval","approveApproval","resubmitApproval","withdrawApproval","cancelApproval","createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","Department","Employee","createExternalApi","peopleSoftApi","getPeopleSoftApi","baseUrl","PS_BASE_URL","Error","SearchEmployeesSchema","object","searchTerm","string","min","EmployeeIdSchema","employeeId","DepartmentIdSchema","departmentId","CompanyCodeSchema","companyCode","searchEmployees","method","inputValidator","handler","data","api","request","Array","url","encodeURIComponent","then","r","getEmployees","getActiveEmployees","getEmployeeByEmployeeId","getPreviousEmployeeIds","getEmployeeSupervisor","getEmployeeSubordinates","getEmployeeManager","getEmployeeGeneralManager","getDepartments","getDepartmentById","getDepartmentManager","getDepartmentEmployees","getCompanyGeneralManager"],"sources":["../src/queries/server/approval.ts","../src/queries/server/peoplesoft.ts"],"sourcesContent":["import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport {\n ApproveApprovalSchema,\n CancelApprovalSchema,\n CreateApprovalSchema,\n ResubmitApprovalSchema,\n WithdrawApprovalSchema,\n} from \"~/models/approval/Approval\";\nimport type { Approval } from \"~/models/approval/Approval\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet approvalApi: AxiosInstance | null = null;\nconst getApprovalApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.APPROVAL_BASE_URL;\n if (!baseUrl)\n throw new Error(\"APPROVAL_BASE_URL is not defined in server environment variables.\");\n approvalApi ??= createExternalApi(baseUrl, \"approval\");\n return approvalApi;\n});\n\nexport const GetApprovalsSchema = z.object({\n appName: z.string().min(1).max(255),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional(),\n});\n\nexport const GetApprovalSchema = z.object({\n id: z.uuid(),\n});\n\nexport const getApprovals = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalsSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"applicationName\", data.appName);\n if (data.status) queryParams.append(\"status\", data.status.toString());\n if (data.approverEmployeeId) queryParams.append(\"approverEmployeeId\", data.approverEmployeeId);\n if (data.stepResult) queryParams.append(\"stepResult\", data.stepResult.toString());\n\n return api\n .request<Array<Approval>>({\n url: `/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getApproval = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const createApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CreateApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const approveApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ApproveApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const resubmitApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ResubmitApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const withdrawApproval = createServerFn({ method: \"POST\" })\n .inputValidator(WithdrawApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const cancelApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CancelApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/cancel`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport type { Department } from \"~/models/peoplesoft/Department\";\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet peopleSoftApi: AxiosInstance | null = null;\nconst getPeopleSoftApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.PS_BASE_URL;\n if (!baseUrl) throw new Error(\"PS_BASE_URL is not defined in server environment variables.\");\n peopleSoftApi ??= createExternalApi(baseUrl, \"ps\");\n return peopleSoftApi;\n});\n\nexport const SearchEmployeesSchema = z.object({\n searchTerm: z.string().min(1),\n});\n\nexport const EmployeeIdSchema = z.object({\n employeeId: z.string().min(1),\n});\n\nexport const DepartmentIdSchema = z.object({\n departmentId: z.string().min(1),\n});\n\nexport const CompanyCodeSchema = z.object({\n companyCode: z.string().min(1),\n});\n\nexport const searchEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(SearchEmployeesSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee?search=${encodeURIComponent(data.searchTerm)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getActiveEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/active`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeByEmployeeId = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getPreviousEmployeeIds = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/previousIds`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeSupervisor = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/supervisor`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeSubordinates = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/subordinates`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartments = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Department>>({ url: `/v1/department/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getDepartmentById = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Department>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentManager = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/employees`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getCompanyGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(CompanyCodeSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/company/${encodeURIComponent(data.companyCode)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n"],"mappings":"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"}
package/dist/vite.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import z$1 from "zod";
2
2
  import axios from "axios";
3
- import fs from "node:fs";
4
3
  import https from "node:https";
4
+ import fs from "node:fs";
5
5
  import path from "node:path";
6
6
  import { loadEnv } from "vite";
7
7
  //#region src/models/VaultConfig.ts
@@ -79,7 +79,7 @@ function viteWczLayout() {
79
79
  name: "vite:wcz-layout",
80
80
  enforce: "pre",
81
81
  configResolved(resolvedConfig) {
82
- localesPath = path.resolve(resolvedConfig.root, "src/locales");
82
+ localesPath = path.resolve(resolvedConfig.root, "src/lib/locales");
83
83
  permissionsPath = path.resolve(resolvedConfig.root, "src/lib/auth/permissions.ts");
84
84
  scopesPath = path.resolve(resolvedConfig.root, "src/lib/auth/scopes.ts");
85
85
  },
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","names":["z","VaultConfigSchema","object","VAULT_ADDRESS","url","VAULT_USERNAME","string","min","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","default","VaultConfig","infer","fs","https","path","axios","loadEnv","VaultConfigSchema","Resource","Plugin","fetchVaultSecrets","env","Record","Promise","config","parse","VAULT_ADDRESS","VAULT_USERNAME","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","client","create","baseURL","httpsAgent","Agent","rejectUnauthorized","data","loginData","post","password","secretData","get","headers","auth","client_token","secrets","Error","Object","fromEntries","entries","map","key","value","JSON","stringify","loadVaultSecrets","command","process","cwd","forEach","e","console","warn","message","loadLocaleResources","localesPath","addWatchFile","existsSync","mkdirSync","recursive","enPath","join","writeFileSync","files","readdirSync","resources","file","filter","f","endsWith","lang","basename","filePath","translation","readFileSync","ensurePermissionsFile","permissionsPath","dir","dirname","ensureScopesFile","scopesPath","viteWczLayout","virtualModuleId","resolvedVirtualModuleId","name","enforce","configResolved","resolvedConfig","resolve","root","_","optimizeDeps","exclude","include","configureServer","server","refresh","includes","module","moduleGraph","getModuleById","invalidateModule","ws","send","type","watcher","add","on","resolveId","id","load","bind","normalizedPermissionsPath","split","sep","posix","normalizedScopesPath"],"sources":["../src/models/VaultConfig.ts","../src/lib/vite-plugin.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const VaultConfigSchema = z.object({\n VAULT_ADDRESS: z.url(),\n VAULT_USERNAME: z.string().min(1),\n VAULT_PASSWORD: z.string().min(1),\n VAULT_SECRET_PATH: z.string().min(1),\n VAULT_MOUNT_POINT: z.string().default(\"release\"),\n});\n\nexport type VaultConfig = z.infer<typeof VaultConfigSchema>;\n","import fs from \"node:fs\";\nimport https from \"node:https\";\nimport path from \"node:path\";\nimport axios from \"axios\";\nimport { loadEnv } from \"vite\";\nimport { VaultConfigSchema } from \"../models/VaultConfig\";\nimport type { Resource } from \"i18next\";\nimport type { Plugin } from \"vite\";\n\nasync function fetchVaultSecrets(env: Record<string, string>): Promise<Record<string, string>> {\n const config = VaultConfigSchema.parse(env);\n const { VAULT_ADDRESS, VAULT_USERNAME, VAULT_PASSWORD, VAULT_SECRET_PATH, VAULT_MOUNT_POINT } =\n config;\n\n const client = axios.create({\n baseURL: VAULT_ADDRESS,\n httpsAgent: new https.Agent({ rejectUnauthorized: false }),\n });\n\n const { data: loginData } = await client.post(`/v1/auth/userpass/login/${VAULT_USERNAME}`, {\n password: VAULT_PASSWORD,\n });\n\n const { data: secretData } = await client.get(\n `/v1/${VAULT_MOUNT_POINT}/data/${VAULT_SECRET_PATH}`,\n {\n headers: { \"X-Vault-Token\": loginData.auth.client_token },\n },\n );\n\n const secrets = secretData?.data?.data;\n if (!secrets) throw new Error(\"No secrets found\");\n\n return Object.fromEntries(\n Object.entries(secrets).map(([key, value]) => [\n key,\n typeof value === \"string\" ? value : JSON.stringify(value),\n ]),\n );\n}\n\nasync function loadVaultSecrets(command: string): Promise<void> {\n if (command !== \"serve\") return;\n\n const env = loadEnv(\"development\", process.cwd(), \"\");\n if (!env.VAULT_ADDRESS) return;\n\n try {\n const secrets = await fetchVaultSecrets(env);\n Object.entries(secrets).forEach(([key, value]) => {\n process.env[key] ??= value;\n });\n } catch (e) {\n console.warn(\"[vite:wcz-layout] Vault failed:\", e instanceof Error ? e.message : e);\n }\n}\n\nfunction loadLocaleResources(localesPath: string, addWatchFile: (path: string) => void): Resource {\n if (!fs.existsSync(localesPath)) fs.mkdirSync(localesPath, { recursive: true });\n\n const enPath = path.join(localesPath, \"en.json\");\n if (!fs.existsSync(enPath)) fs.writeFileSync(enPath, JSON.stringify({}));\n\n const files = fs.readdirSync(localesPath);\n const resources: Resource = {};\n\n for (const file of files.filter((f) => f.endsWith(\".json\"))) {\n const lang = path.basename(file, \".json\");\n const filePath = path.join(localesPath, file);\n try {\n resources[lang] = { translation: JSON.parse(fs.readFileSync(filePath, \"utf-8\")) };\n } catch {\n resources[lang] = { translation: {} };\n }\n addWatchFile(filePath);\n }\n\n return resources;\n}\n\nfunction ensurePermissionsFile(\n permissionsPath: string,\n addWatchFile: (path: string) => void,\n): void {\n const dir = path.dirname(permissionsPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(permissionsPath)) {\n fs.writeFileSync(\n permissionsPath,\n 'export const permissions = {\\n admin: [\"wcz-developers\"]\\n} as const;',\n );\n }\n addWatchFile(permissionsPath);\n}\n\nfunction ensureScopesFile(scopesPath: string, addWatchFile: (path: string) => void): void {\n const dir = path.dirname(scopesPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(scopesPath)) {\n fs.writeFileSync(scopesPath, \"export const scopes = {\\n} as const;\");\n }\n addWatchFile(scopesPath);\n}\n\nexport function viteWczLayout(): Plugin {\n const virtualModuleId = \"virtual:wcz-layout\";\n const resolvedVirtualModuleId = \"\\0\" + virtualModuleId;\n\n let localesPath: string;\n let permissionsPath: string;\n let scopesPath: string;\n\n return {\n name: \"vite:wcz-layout\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n localesPath = path.resolve(resolvedConfig.root, \"src/locales\");\n permissionsPath = path.resolve(resolvedConfig.root, \"src/lib/auth/permissions.ts\");\n scopesPath = path.resolve(resolvedConfig.root, \"src/lib/auth/scopes.ts\");\n },\n async config(_, { command }) {\n await loadVaultSecrets(command);\n\n return {\n optimizeDeps: {\n exclude: [virtualModuleId],\n include: [\n \"prop-types\",\n \"react-is\",\n \"hoist-non-react-statics\",\n \"url-parse\",\n \"file-saver\",\n \"attr-accept\",\n ],\n },\n };\n },\n configureServer(server) {\n const refresh = (filePath: string) => {\n if (\n filePath.includes(localesPath) ||\n filePath === permissionsPath ||\n filePath === scopesPath\n ) {\n const module = server.moduleGraph.getModuleById(resolvedVirtualModuleId);\n if (module) server.moduleGraph.invalidateModule(module);\n server.ws.send({ type: \"full-reload\", path: \"*\" });\n }\n };\n\n server.watcher.add([localesPath, permissionsPath, scopesPath]);\n server.watcher.on(\"add\", refresh);\n server.watcher.on(\"change\", refresh);\n server.watcher.on(\"unlink\", refresh);\n },\n resolveId(id) {\n if (id === virtualModuleId) return resolvedVirtualModuleId;\n return null;\n },\n load(id) {\n if (id !== resolvedVirtualModuleId) return null;\n\n const resources = loadLocaleResources(localesPath, this.addWatchFile.bind(this));\n ensurePermissionsFile(permissionsPath, this.addWatchFile.bind(this));\n ensureScopesFile(scopesPath, this.addWatchFile.bind(this));\n\n const normalizedPermissionsPath = permissionsPath.split(path.sep).join(path.posix.sep);\n const normalizedScopesPath = scopesPath.split(path.sep).join(path.posix.sep);\n return `\n export const resources = ${JSON.stringify(resources)};\n export { permissions } from \"${normalizedPermissionsPath}\";\n export { scopes } from \"${normalizedScopesPath}\";\n `;\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","names":["z","VaultConfigSchema","object","VAULT_ADDRESS","url","VAULT_USERNAME","string","min","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","default","VaultConfig","infer","fs","https","path","axios","loadEnv","VaultConfigSchema","Resource","Plugin","fetchVaultSecrets","env","Record","Promise","config","parse","VAULT_ADDRESS","VAULT_USERNAME","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","client","create","baseURL","httpsAgent","Agent","rejectUnauthorized","data","loginData","post","password","secretData","get","headers","auth","client_token","secrets","Error","Object","fromEntries","entries","map","key","value","JSON","stringify","loadVaultSecrets","command","process","cwd","forEach","e","console","warn","message","loadLocaleResources","localesPath","addWatchFile","existsSync","mkdirSync","recursive","enPath","join","writeFileSync","files","readdirSync","resources","file","filter","f","endsWith","lang","basename","filePath","translation","readFileSync","ensurePermissionsFile","permissionsPath","dir","dirname","ensureScopesFile","scopesPath","viteWczLayout","virtualModuleId","resolvedVirtualModuleId","name","enforce","configResolved","resolvedConfig","resolve","root","_","optimizeDeps","exclude","include","configureServer","server","refresh","includes","module","moduleGraph","getModuleById","invalidateModule","ws","send","type","watcher","add","on","resolveId","id","load","bind","normalizedPermissionsPath","split","sep","posix","normalizedScopesPath"],"sources":["../src/models/VaultConfig.ts","../src/lib/vite-plugin.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const VaultConfigSchema = z.object({\n VAULT_ADDRESS: z.url(),\n VAULT_USERNAME: z.string().min(1),\n VAULT_PASSWORD: z.string().min(1),\n VAULT_SECRET_PATH: z.string().min(1),\n VAULT_MOUNT_POINT: z.string().default(\"release\"),\n});\n\nexport type VaultConfig = z.infer<typeof VaultConfigSchema>;\n","import fs from \"node:fs\";\nimport https from \"node:https\";\nimport path from \"node:path\";\nimport axios from \"axios\";\nimport { loadEnv } from \"vite\";\nimport { VaultConfigSchema } from \"../models/VaultConfig\";\nimport type { Resource } from \"i18next\";\nimport type { Plugin } from \"vite\";\n\nasync function fetchVaultSecrets(env: Record<string, string>): Promise<Record<string, string>> {\n const config = VaultConfigSchema.parse(env);\n const { VAULT_ADDRESS, VAULT_USERNAME, VAULT_PASSWORD, VAULT_SECRET_PATH, VAULT_MOUNT_POINT } =\n config;\n\n const client = axios.create({\n baseURL: VAULT_ADDRESS,\n httpsAgent: new https.Agent({ rejectUnauthorized: false }),\n });\n\n const { data: loginData } = await client.post(`/v1/auth/userpass/login/${VAULT_USERNAME}`, {\n password: VAULT_PASSWORD,\n });\n\n const { data: secretData } = await client.get(\n `/v1/${VAULT_MOUNT_POINT}/data/${VAULT_SECRET_PATH}`,\n {\n headers: { \"X-Vault-Token\": loginData.auth.client_token },\n },\n );\n\n const secrets = secretData?.data?.data;\n if (!secrets) throw new Error(\"No secrets found\");\n\n return Object.fromEntries(\n Object.entries(secrets).map(([key, value]) => [\n key,\n typeof value === \"string\" ? value : JSON.stringify(value),\n ]),\n );\n}\n\nasync function loadVaultSecrets(command: string): Promise<void> {\n if (command !== \"serve\") return;\n\n const env = loadEnv(\"development\", process.cwd(), \"\");\n if (!env.VAULT_ADDRESS) return;\n\n try {\n const secrets = await fetchVaultSecrets(env);\n Object.entries(secrets).forEach(([key, value]) => {\n process.env[key] ??= value;\n });\n } catch (e) {\n console.warn(\"[vite:wcz-layout] Vault failed:\", e instanceof Error ? e.message : e);\n }\n}\n\nfunction loadLocaleResources(localesPath: string, addWatchFile: (path: string) => void): Resource {\n if (!fs.existsSync(localesPath)) fs.mkdirSync(localesPath, { recursive: true });\n\n const enPath = path.join(localesPath, \"en.json\");\n if (!fs.existsSync(enPath)) fs.writeFileSync(enPath, JSON.stringify({}));\n\n const files = fs.readdirSync(localesPath);\n const resources: Resource = {};\n\n for (const file of files.filter((f) => f.endsWith(\".json\"))) {\n const lang = path.basename(file, \".json\");\n const filePath = path.join(localesPath, file);\n try {\n resources[lang] = { translation: JSON.parse(fs.readFileSync(filePath, \"utf-8\")) };\n } catch {\n resources[lang] = { translation: {} };\n }\n addWatchFile(filePath);\n }\n\n return resources;\n}\n\nfunction ensurePermissionsFile(\n permissionsPath: string,\n addWatchFile: (path: string) => void,\n): void {\n const dir = path.dirname(permissionsPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(permissionsPath)) {\n fs.writeFileSync(\n permissionsPath,\n 'export const permissions = {\\n admin: [\"wcz-developers\"]\\n} as const;',\n );\n }\n addWatchFile(permissionsPath);\n}\n\nfunction ensureScopesFile(scopesPath: string, addWatchFile: (path: string) => void): void {\n const dir = path.dirname(scopesPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(scopesPath)) {\n fs.writeFileSync(scopesPath, \"export const scopes = {\\n} as const;\");\n }\n addWatchFile(scopesPath);\n}\n\nexport function viteWczLayout(): Plugin {\n const virtualModuleId = \"virtual:wcz-layout\";\n const resolvedVirtualModuleId = \"\\0\" + virtualModuleId;\n\n let localesPath: string;\n let permissionsPath: string;\n let scopesPath: string;\n\n return {\n name: \"vite:wcz-layout\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n localesPath = path.resolve(resolvedConfig.root, \"src/lib/locales\");\n permissionsPath = path.resolve(resolvedConfig.root, \"src/lib/auth/permissions.ts\");\n scopesPath = path.resolve(resolvedConfig.root, \"src/lib/auth/scopes.ts\");\n },\n async config(_, { command }) {\n await loadVaultSecrets(command);\n\n return {\n optimizeDeps: {\n exclude: [virtualModuleId],\n include: [\n \"prop-types\",\n \"react-is\",\n \"hoist-non-react-statics\",\n \"url-parse\",\n \"file-saver\",\n \"attr-accept\",\n ],\n },\n };\n },\n configureServer(server) {\n const refresh = (filePath: string) => {\n if (\n filePath.includes(localesPath) ||\n filePath === permissionsPath ||\n filePath === scopesPath\n ) {\n const module = server.moduleGraph.getModuleById(resolvedVirtualModuleId);\n if (module) server.moduleGraph.invalidateModule(module);\n server.ws.send({ type: \"full-reload\", path: \"*\" });\n }\n };\n\n server.watcher.add([localesPath, permissionsPath, scopesPath]);\n server.watcher.on(\"add\", refresh);\n server.watcher.on(\"change\", refresh);\n server.watcher.on(\"unlink\", refresh);\n },\n resolveId(id) {\n if (id === virtualModuleId) return resolvedVirtualModuleId;\n return null;\n },\n load(id) {\n if (id !== resolvedVirtualModuleId) return null;\n\n const resources = loadLocaleResources(localesPath, this.addWatchFile.bind(this));\n ensurePermissionsFile(permissionsPath, this.addWatchFile.bind(this));\n ensureScopesFile(scopesPath, this.addWatchFile.bind(this));\n\n const normalizedPermissionsPath = permissionsPath.split(path.sep).join(path.posix.sep);\n const normalizedScopesPath = scopesPath.split(path.sep).join(path.posix.sep);\n return `\n export const resources = ${JSON.stringify(resources)};\n export { permissions } from \"${normalizedPermissionsPath}\";\n export { scopes } from \"${normalizedScopesPath}\";\n `;\n },\n };\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,147 +1,154 @@
1
- {
2
- "name": "wcz-layout",
3
- "version": "8.0.4",
4
- "private": false,
5
- "keywords": [
6
- "tanstack-intent"
7
- ],
8
- "files": [
9
- "dist",
10
- "skills",
11
- "!skills/_artifacts"
12
- ],
13
- "type": "module",
14
- "sideEffects": false,
15
- "types": "./dist/index.d.ts",
16
- "typesVersions": {
17
- "*": {
18
- "components": [
19
- "./dist/components.d.ts"
20
- ],
21
- "hooks": [
22
- "./dist/hooks.d.ts"
23
- ],
24
- "middleware": [
25
- "./dist/middleware.d.ts"
26
- ],
27
- "models": [
28
- "./dist/models.d.ts"
29
- ],
30
- "data/client": [
31
- "./dist/data/client.d.ts"
32
- ],
33
- "data/server": [
34
- "./dist/data/server.d.ts"
35
- ],
36
- "utils": [
37
- "./dist/utils.d.ts"
38
- ],
39
- "vite": [
40
- "./dist/vite.d.ts"
41
- ]
42
- }
43
- },
44
- "exports": {
45
- ".": {
46
- "types": "./dist/index.d.ts",
47
- "import": "./dist/index.js"
48
- },
49
- "./components": {
50
- "types": "./dist/components.d.ts",
51
- "import": "./dist/components.js"
52
- },
53
- "./hooks": {
54
- "types": "./dist/hooks.d.ts",
55
- "import": "./dist/hooks.js"
56
- },
57
- "./middleware": {
58
- "types": "./dist/middleware.d.ts",
59
- "import": "./dist/middleware.js"
60
- },
61
- "./models": {
62
- "types": "./dist/models.d.ts",
63
- "import": "./dist/models.js"
64
- },
65
- "./data/client": {
66
- "types": "./dist/data/client.d.ts",
67
- "import": "./dist/data/client.js"
68
- },
69
- "./data/server": {
70
- "types": "./dist/data/server.d.ts",
71
- "import": "./dist/data/server.js"
72
- },
73
- "./utils": {
74
- "types": "./dist/utils.d.ts",
75
- "import": "./dist/utils.js"
76
- },
77
- "./vite": {
78
- "types": "./dist/vite.d.ts",
79
- "import": "./dist/vite.js"
80
- }
81
- },
82
- "scripts": {
83
- "dev": "vp dev",
84
- "vp:install": "vp install",
85
- "vp:update": "vp update",
86
- "ncu:install": "npx npm-check-updates -i",
87
- "lint:package": "publint",
88
- "build": "vp pack",
89
- "prepublishOnly": "npm run build"
90
- },
91
- "dependencies": {
92
- "@azure/msal-browser": "^5.9.0",
93
- "@azure/msal-node": "^5.1.5",
94
- "@azure/msal-react": "^5.3.2",
95
- "@t3-oss/env-core": "^0.13.11",
96
- "file-saver": "^2.0.5",
97
- "i18next": "^26.0.8",
98
- "i18next-browser-languagedetector": "^8.2.1",
99
- "jose": "^6.2.3",
100
- "react-dropzone": "^15.0.0",
101
- "react-i18next": "^17.0.6",
102
- "react-intersection-observer": "^10.0.3",
103
- "react-number-format": "^5.4.5",
104
- "tus-js-client": "^4.3.1",
105
- "uuidv7": "^1.2.1"
106
- },
107
- "devDependencies": {
108
- "@rolldown/plugin-babel": "^0.2.3",
109
- "@tanstack/intent": "^0.0.36",
110
- "@types/file-saver": "^2.0.7",
111
- "@types/node": "^24.10.13",
112
- "@types/react": "^19.2.14",
113
- "@types/react-dom": "^19.2.3",
114
- "@vitejs/plugin-react": "^6.0.1",
115
- "babel-plugin-react-compiler": "^1.0.0",
116
- "nitro": "npm:nitro-nightly@latest",
117
- "publint": "^0.3.18",
118
- "typescript": "^6.0.3",
119
- "vite-plugin-checker": "^0.13.0"
120
- },
121
- "peerDependencies": {
122
- "@emotion/react": "11.x",
123
- "@emotion/styled": "11.x",
124
- "@mui/icons-material": "9.x",
125
- "@mui/material": "9.x",
126
- "@mui/x-data-grid-premium": "9.x",
127
- "@mui/x-date-pickers-pro": "9.x",
128
- "@tanstack/query-db-collection": "1.x",
129
- "@tanstack/react-db": "0.x",
130
- "@tanstack/react-form": "1.x",
131
- "@tanstack/react-query": "5.x",
132
- "@tanstack/react-router": "1.x",
133
- "@tanstack/react-router-ssr-query": "1.x",
134
- "@tanstack/react-start": "1.x",
135
- "axios": "1.x",
136
- "dayjs": "1.x",
137
- "react": "19.x",
138
- "react-dom": "19.x",
139
- "vite": "npm:@voidzero-dev/vite-plus-core@latest",
140
- "vite-plus": "latest",
141
- "zod": "4.x"
142
- },
143
- "overrides": {
144
- "vite": "npm:@voidzero-dev/vite-plus-core@latest"
145
- },
146
- "packageManager": "npm@11.13.0"
147
- }
1
+ {
2
+ "name": "wcz-layout",
3
+ "version": "8.1.0",
4
+ "private": false,
5
+ "keywords": [
6
+ "tanstack-intent"
7
+ ],
8
+ "files": [
9
+ "dist",
10
+ "skills",
11
+ "!skills/_artifacts"
12
+ ],
13
+ "type": "module",
14
+ "sideEffects": false,
15
+ "types": "./dist/index.d.ts",
16
+ "typesVersions": {
17
+ "*": {
18
+ "components": [
19
+ "./dist/components.d.ts"
20
+ ],
21
+ "hooks": [
22
+ "./dist/hooks.d.ts"
23
+ ],
24
+ "middleware": [
25
+ "./dist/middleware.d.ts"
26
+ ],
27
+ "models": [
28
+ "./dist/models.d.ts"
29
+ ],
30
+ "data": [
31
+ "./dist/data.d.ts"
32
+ ],
33
+ "data/client": [
34
+ "./dist/data/client.d.ts"
35
+ ],
36
+ "data/server": [
37
+ "./dist/data/server.d.ts"
38
+ ],
39
+ "utils": [
40
+ "./dist/utils.d.ts"
41
+ ],
42
+ "vite": [
43
+ "./dist/vite.d.ts"
44
+ ]
45
+ }
46
+ },
47
+ "exports": {
48
+ ".": {
49
+ "types": "./dist/index.d.ts",
50
+ "import": "./dist/index.js"
51
+ },
52
+ "./components": {
53
+ "types": "./dist/components.d.ts",
54
+ "import": "./dist/components.js"
55
+ },
56
+ "./hooks": {
57
+ "types": "./dist/hooks.d.ts",
58
+ "import": "./dist/hooks.js"
59
+ },
60
+ "./middleware": {
61
+ "types": "./dist/middleware.d.ts",
62
+ "import": "./dist/middleware.js"
63
+ },
64
+ "./models": {
65
+ "types": "./dist/models.d.ts",
66
+ "import": "./dist/models.js"
67
+ },
68
+ "./data": {
69
+ "types": "./dist/data.d.ts",
70
+ "import": "./dist/data.js"
71
+ },
72
+ "./data/client": {
73
+ "types": "./dist/data/client.d.ts",
74
+ "import": "./dist/data/client.js"
75
+ },
76
+ "./data/server": {
77
+ "types": "./dist/data/server.d.ts",
78
+ "import": "./dist/data/server.js"
79
+ },
80
+ "./utils": {
81
+ "types": "./dist/utils.d.ts",
82
+ "import": "./dist/utils.js"
83
+ },
84
+ "./vite": {
85
+ "types": "./dist/vite.d.ts",
86
+ "import": "./dist/vite.js"
87
+ }
88
+ },
89
+ "scripts": {
90
+ "dev": "vp dev",
91
+ "vp:install": "vp install",
92
+ "vp:update": "vp update",
93
+ "ncu:install": "npx npm-check-updates -i",
94
+ "lint:package": "publint",
95
+ "build": "vp pack",
96
+ "prepublishOnly": "npm run build"
97
+ },
98
+ "dependencies": {
99
+ "@azure/msal-browser": "^5.9.0",
100
+ "@azure/msal-node": "^5.1.5",
101
+ "@azure/msal-react": "^5.3.2",
102
+ "@t3-oss/env-core": "^0.13.11",
103
+ "file-saver": "^2.0.5",
104
+ "i18next": "^26.0.8",
105
+ "i18next-browser-languagedetector": "^8.2.1",
106
+ "jose": "^6.2.3",
107
+ "react-dropzone": "^15.0.0",
108
+ "react-i18next": "^17.0.6",
109
+ "react-intersection-observer": "^10.0.3",
110
+ "react-number-format": "^5.4.5",
111
+ "tus-js-client": "^4.3.1",
112
+ "uuidv7": "^1.2.1"
113
+ },
114
+ "devDependencies": {
115
+ "@rolldown/plugin-babel": "^0.2.3",
116
+ "@tanstack/intent": "^0.0.40",
117
+ "@types/file-saver": "^2.0.7",
118
+ "@types/node": "^24.10.13",
119
+ "@types/react": "^19.2.14",
120
+ "@types/react-dom": "^19.2.3",
121
+ "@vitejs/plugin-react": "^6.0.1",
122
+ "babel-plugin-react-compiler": "^1.0.0",
123
+ "nitro": "npm:nitro-nightly@latest",
124
+ "publint": "^0.3.18",
125
+ "typescript": "^6.0.3",
126
+ "vite-plugin-checker": "^0.13.0"
127
+ },
128
+ "peerDependencies": {
129
+ "@emotion/react": "11.x",
130
+ "@emotion/styled": "11.x",
131
+ "@mui/icons-material": "9.x",
132
+ "@mui/material": "9.x",
133
+ "@mui/x-data-grid-premium": "9.x",
134
+ "@mui/x-date-pickers-pro": "9.x",
135
+ "@tanstack/query-db-collection": "1.x",
136
+ "@tanstack/react-db": "0.x",
137
+ "@tanstack/react-form": "1.x",
138
+ "@tanstack/react-query": "5.x",
139
+ "@tanstack/react-router": "1.x",
140
+ "@tanstack/react-router-ssr-query": "1.x",
141
+ "@tanstack/react-start": "1.x",
142
+ "axios": "1.x",
143
+ "dayjs": "1.x",
144
+ "react": "19.x",
145
+ "react-dom": "19.x",
146
+ "vite": "npm:@voidzero-dev/vite-plus-core@latest",
147
+ "vite-plus": "latest",
148
+ "zod": "4.x"
149
+ },
150
+ "overrides": {
151
+ "vite": "npm:@voidzero-dev/vite-plus-core@latest"
152
+ },
153
+ "packageManager": "npm@11.13.0"
154
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Approval-BSQHVGsm.js","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","ApprovalSchema","object","id","uuid","number","string","trim","max","optional","applicationName","min","type","default","status","created","date","createdBy","custom","updated","updatedBy","approvalFlows","array","currentApprovers","coRequestors","employee","Approval","infer","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 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(), employee: z.custom<ApprovalEmployee>() }))\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(z.custom<ApprovalEmployee>()).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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"}