wcz-layout 8.0.5 → 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,4 +1,4 @@
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
4
  import * as _$_tanstack_query_core0 from "@tanstack/query-core";
@@ -171,10 +171,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
171
171
  } | undefined;
172
172
  coRequestors?: {
173
173
  id: string;
174
- employee: {
174
+ principal: {
175
+ role: string;
176
+ email?: string | undefined;
177
+ } | {
175
178
  employeeId: string;
176
179
  name: string;
177
- email: string;
180
+ email?: string | undefined;
178
181
  };
179
182
  }[] | undefined;
180
183
  }[], Error, {
@@ -228,10 +231,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
228
231
  } | undefined;
229
232
  coRequestors?: {
230
233
  id: string;
231
- employee: {
234
+ principal: {
235
+ role: string;
236
+ email?: string | undefined;
237
+ } | {
232
238
  employeeId: string;
233
239
  name: string;
234
- email: string;
240
+ email?: string | undefined;
235
241
  };
236
242
  }[] | undefined;
237
243
  }[], (string | {
@@ -291,10 +297,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
291
297
  } | undefined;
292
298
  coRequestors?: {
293
299
  id: string;
294
- employee: {
300
+ principal: {
301
+ role: string;
302
+ email?: string | undefined;
303
+ } | {
295
304
  employeeId: string;
296
305
  name: string;
297
- email: string;
306
+ email?: string | undefined;
298
307
  };
299
308
  }[] | undefined;
300
309
  }[], (string | {
@@ -361,10 +370,13 @@ declare const approvalsQueryOptions: (params: z.input<typeof GetApprovalsSchema>
361
370
  } | undefined;
362
371
  coRequestors?: {
363
372
  id: string;
364
- employee: {
373
+ principal: {
374
+ role: string;
375
+ email?: string | undefined;
376
+ } | {
365
377
  employeeId: string;
366
378
  name: string;
367
- email: string;
379
+ email?: string | undefined;
368
380
  };
369
381
  }[] | undefined;
370
382
  }[];
@@ -422,10 +434,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
422
434
  } | undefined;
423
435
  coRequestors?: {
424
436
  id: string;
425
- employee: {
437
+ principal: {
438
+ role: string;
439
+ email?: string | undefined;
440
+ } | {
426
441
  employeeId: string;
427
442
  name: string;
428
- email: string;
443
+ email?: string | undefined;
429
444
  };
430
445
  }[] | undefined;
431
446
  }, Error, {
@@ -479,10 +494,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
479
494
  } | undefined;
480
495
  coRequestors?: {
481
496
  id: string;
482
- employee: {
497
+ principal: {
498
+ role: string;
499
+ email?: string | undefined;
500
+ } | {
483
501
  employeeId: string;
484
502
  name: string;
485
- email: string;
503
+ email?: string | undefined;
486
504
  };
487
505
  }[] | undefined;
488
506
  }, (string | {
@@ -539,10 +557,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
539
557
  } | undefined;
540
558
  coRequestors?: {
541
559
  id: string;
542
- employee: {
560
+ principal: {
561
+ role: string;
562
+ email?: string | undefined;
563
+ } | {
543
564
  employeeId: string;
544
565
  name: string;
545
- email: string;
566
+ email?: string | undefined;
546
567
  };
547
568
  }[] | undefined;
548
569
  }, (string | {
@@ -603,10 +624,13 @@ declare const approvalQueryOptions: (params: z.input<typeof GetApprovalSchema>)
603
624
  } | undefined;
604
625
  coRequestors?: {
605
626
  id: string;
606
- employee: {
627
+ principal: {
628
+ role: string;
629
+ email?: string | undefined;
630
+ } | {
607
631
  employeeId: string;
608
632
  name: string;
609
- email: string;
633
+ email?: string | undefined;
610
634
  };
611
635
  }[] | undefined;
612
636
  };
@@ -664,10 +688,13 @@ declare const createApprovalMutationOptions: () => Omit<_$_tanstack_react_query0
664
688
  } | undefined;
665
689
  coRequestors?: {
666
690
  id: string;
667
- employee: {
691
+ principal: {
692
+ role: string;
693
+ email?: string | undefined;
694
+ } | {
668
695
  employeeId: string;
669
696
  name: string;
670
- email: string;
697
+ email?: string | undefined;
671
698
  };
672
699
  }[] | undefined;
673
700
  }, Error, {
@@ -690,11 +717,14 @@ declare const createApprovalMutationOptions: () => Omit<_$_tanstack_react_query0
690
717
  }[];
691
718
  number?: string | undefined;
692
719
  type?: "Single" | "Batch" | undefined;
693
- coRequestors?: {
720
+ coRequestors?: ({
721
+ role: string;
722
+ email?: string | undefined;
723
+ } | {
694
724
  employeeId: string;
695
725
  name: string;
696
- email: string;
697
- }[] | undefined;
726
+ email?: string | undefined;
727
+ })[] | undefined;
698
728
  }, unknown>, "mutationKey">;
699
729
  declare const approveApprovalMutationOptions: () => Omit<_$_tanstack_react_query0.UseMutationOptions<{
700
730
  id: string;
@@ -747,10 +777,13 @@ declare const approveApprovalMutationOptions: () => Omit<_$_tanstack_react_query
747
777
  } | undefined;
748
778
  coRequestors?: {
749
779
  id: string;
750
- employee: {
780
+ principal: {
781
+ role: string;
782
+ email?: string | undefined;
783
+ } | {
751
784
  employeeId: string;
752
785
  name: string;
753
- email: string;
786
+ email?: string | undefined;
754
787
  };
755
788
  }[] | undefined;
756
789
  }, Error, {
@@ -810,10 +843,13 @@ declare const resubmitApprovalMutationOptions: () => Omit<_$_tanstack_react_quer
810
843
  } | undefined;
811
844
  coRequestors?: {
812
845
  id: string;
813
- employee: {
846
+ principal: {
847
+ role: string;
848
+ email?: string | undefined;
849
+ } | {
814
850
  employeeId: string;
815
851
  name: string;
816
- email: string;
852
+ email?: string | undefined;
817
853
  };
818
854
  }[] | undefined;
819
855
  }, Error, {
@@ -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";
@@ -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"}
@@ -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":";;;;;;;;;AAOA,SAAgBM,kBAAkBC,SAAiBC,UAAmC;CACpF,MAAMC,MAAMR,MAAMS,OAAO,EAAEH,SAAS,CAAC;AAErCE,KAAIE,aAAaC,QAAQC,IAAI,OAAOC,WAAW;EAC7C,MAAMC,cAAc,MAAMX,YAAYI,SAAS;AAC/CM,SAAOE,QAAQC,IAAI,iBAAiB,UAAUF,cAAc;AAC5D,SAAOD;GACP;AAEF,QAAOL;;;;ACLT,IAAIoB,UAAgC;AACpC,MAAMC,aAAaX,yBAAwC;CACzD,MAAMY,UAAUP,UAAUQ;AAC1B,KAAI,CAACD,QAAS,OAAM,IAAIE,MAAM,gEAAgE;AAC9FJ,aAAYD,kBAAkBG,SAAS,OAAO;AAC9C,QAAOF;EACP;AAEF,MAAaK,qBAAqBX,EAAEY,OAAO;CACzCC,SAASb,EAAEc,QAAQ,CAACC,IAAI,EAAE,CAACC,IAAI,IAAI;CACnCC,OAAOjB,EAAEkB,MAAK;CACf,CAAC;AAEF,MAAaC,aAAanB,EAAEY,OAAO;CACjCC,SAASb,EAAEc,QAAQ,CAACC,IAAI,EAAE,CAACC,IAAI,IAAI;CACnCI,IAAIpB,EAAEkB,MAAK;CACZ,CAAC;AAEF,MAAaG,uBAAuBjB,eAAekB,OAAO,EACxDC,UAAUvB,EAAEc,QAAQ,CAACC,IAAI,EAAE,CAACC,IAAI,IAAG,EACpC,CAAC;AAEF,MAAMQ,mBAAmBL;AAEzB,MAAMM,yBAAyBd;AAS/B,MAAagB,uBAAuB3B,EAAEY,OAAO;CAC3CC,SAASb,EAAEc,QAAQ,CAACC,IAAI,EAAE,CAACC,IAAI,IAAI;CACnCC,OAAOjB,EAAEkB,MAAM;CACfU,MAAM5B,EAAE6B,WAAWC,KAAI;CACxB,CAAC;AAEF,MAAaC,eAAepC,eAAe,EAAEqC,QAAQ,OAAO,CAAC,CAC1DC,eAAetB,mBAAmB,CAClCuB,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,SAASJ,KAAKlB,MAAM;AAEvC,QAAOmB,IACJI,QAAyB;EACxBE,KAAK,YAAYL,YAAYM,UAAU;EACvCX,QAAQ;EACT,CAAC,CACDY,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAaW,mBAAmBnD,eAAe,EAAEqC,QAAQ,OAAO,CAAC,CAC9DC,eAAed,WAAW,CAC1Be,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,MAAMJ,KAAKf,GAAG;CAEjC,MAAM2B,WAAW,MAAMX,IAAII,QAAqB;EAC9CE,KAAK,iBAAiBL,YAAYM,UAAU;EAC5CX,QAAQ;EACRiB,cAAc;EACf,CAAC;AAEF,QAAO,IAAIC,SAASH,SAASZ,MAAM,EACjCgB,SAAS,EACP,gBAAgBJ,SAASI,QAAQ,iBACnC,EACD,CAAC;EACF;AAEJ,MAAaC,UAAUzD,eAAe,EAAEqC,QAAQ,OAAO,CAAC,CACrDC,eAAed,WAAW,CAC1Be,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,MAAMJ,KAAKf,GAAG;CAEjC,MAAM2B,WAAW,MAAMX,IAAII,QAAqB;EAC9CE,KAAK,OAAOL,YAAYM,UAAU;EAClCX,QAAQ;EACRiB,cAAc;EACf,CAAC;AAEF,QAAO,IAAIC,SAASH,SAASZ,MAAM,EACjCgB,SAAS,EACP,gBAAgBJ,SAASI,QAAQ,iBACnC,EACD,CAAC;EACF;AAEJ,MAAaE,eAAe1D,eAAe,EAAEqC,QAAQ,OAAO,CAAC,CAC1DC,eAAed,WAAW,CAC1Be,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,MAAMJ,KAAKf,GAAG;CAEjC,MAAM2B,WAAW,MAAMX,IAAII,QAAqB;EAC9CE,KAAK,gBAAgBL,YAAYM,UAAU;EAC3CX,QAAQ;EACRiB,cAAc;EACf,CAAC;AAEF,QAAO,IAAIC,SAASH,SAASZ,MAAM,EACjCgB,SAAS,EACP,gBAAgBJ,SAASI,QAAQ,iBACnC,EACD,CAAC;EACF;AAEJ,MAAaG,iBAAiB3D,eAAe,EAAEqC,QAAQ,QAAQ,CAAC,CAC7DC,eAAeZ,qBAAqB,CACpCa,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,MAAMJ,KAAKf,GAAG;AAEjC,QAAOgB,IACJI,QAAQ;EAAEE,KAAK,YAAYL,YAAYM,UAAU;EAAIX,QAAQ;EAAOG;EAAM,CAAC,CAC3ES,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAaoB,aAAa5D,eAAe,EAAEqC,QAAQ,QAAQ,CAAC,CACzDC,eAAeT,iBAAiB,CAChCU,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,MAAMJ,KAAKf,GAAG;AAEjC,QAAOgB,IACJI,QAAQ;EAAEE,KAAK,OAAOL,YAAYM,UAAU;EAAIX,QAAQ;EAAU,CAAC,CACnEY,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAaqB,mBAAmB7D,eAAe,EAAEqC,QAAQ,QAAQ,CAAC,CAC/DC,eAAeR,uBAAuB,CACtCS,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAM7B,YAAY;CACxB,MAAM8B,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,WAAWJ,KAAKtB,QAAQ;AAC3CwB,aAAYE,OAAO,SAASJ,KAAKlB,MAAM;AAEvC,QAAOmB,IACJI,QAAQ;EAAEE,KAAK,OAAOL,YAAYM,UAAU;EAAIX,QAAQ;EAAU,CAAC,CACnEY,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAasB,aAAa9D,eAAe,EAAEqC,QAAQ,QAAQ,CAAC,CACzDC,eAAeN,qBAAqB,CACpCO,QAAQ,OAAO,EAAEC,WAAsC;CACtD,MAAMwB,cAAc,MAAMzD,YAAY,OAAO;CAC7C,MAAM0D,SAASC,OAAOC,KAAK,MAAM3B,KAAKP,KAAKmC,aAAa,CAAC;CACzD,MAAM3C,KAAKrB,QAAQ;AAEnB,OAAM,IAAI2D,SAAeM,SAASC,WAAW;AAe3CC,MAdmBpE,OAAO8D,QAAQ;GAChCO,UAAU,GAAGlE,UAAUQ,cAAa;GACpC2D,WAAW;GACXC,UAAU;IACRjD;IACAP,SAASsB,KAAKtB;IACdI,OAAOkB,KAAKlB;IACZM,UAAUY,KAAKP,KAAK0C;IACpBC,eAAepC,KAAKP,KAAK4C;IAC1B;GACDrB,SAAS,EAAEsB,eAAe,UAAUd,eAAe;GACnDe,SAAST;GACTU,iBAAiBX,SAAQ;GAC1B,CACK,CAACY,OAAO;GACd;AAEF,QAAO;EAAExD;EAAIP,SAASsB,KAAKtB;EAASI,OAAOkB,KAAKlB;EAAOM,UAAUY,KAAKP,KAAK0C;EAAM;EACjF"}
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":";;;;;;AAgBA,IAAIc,cAAoC;AACxC,MAAMC,iBAAiBd,yBAAwC;CAC7D,MAAMe,UAAUZ,UAAUa;AAC1B,KAAI,CAACD,QACH,OAAM,IAAIE,MAAM,oEAAoE;AACtFJ,iBAAgBD,kBAAkBG,SAAS,WAAW;AACtD,QAAOF;EACP;AAEF,MAAaK,qBAAqBhB,EAAEiB,OAAO;CACzCC,SAASlB,EAAEmB,QAAQ,CAACC,IAAI,EAAE,CAACC,IAAI,IAAI;CACnCC,QAAQd,eAAee,UAAU;CACjCC,oBAAoBxB,EAAEmB,QAAQ,CAACC,IAAI,EAAE,CAACC,IAAI,GAAG,CAACE,UAAU;CACxDE,YAAYhB,mBAAmBc,UAAS;CACzC,CAAC;AAEF,MAAaG,oBAAoB1B,EAAEiB,OAAO,EACxCU,IAAI3B,EAAE4B,MAAK,EACZ,CAAC;AAEF,MAAaC,eAAehC,eAAe,EAAEiC,QAAQ,OAAO,CAAC,CAC1DC,eAAef,mBAAmB,CAClCgB,QAAQ,OAAO,EAAEC,WAAW;CAC3B,MAAMC,MAAMtB,gBAAgB;CAC5B,MAAMuB,cAAc,IAAIC,iBAAiB;AACzCD,aAAYE,OAAO,mBAAmBJ,KAAKf,QAAQ;AACnD,KAAIe,KAAKX,OAAQa,aAAYE,OAAO,UAAUJ,KAAKX,OAAOgB,UAAU,CAAC;AACrE,KAAIL,KAAKT,mBAAoBW,aAAYE,OAAO,sBAAsBJ,KAAKT,mBAAmB;AAC9F,KAAIS,KAAKR,WAAYU,aAAYE,OAAO,cAAcJ,KAAKR,WAAWa,UAAU,CAAC;AAEjF,QAAOJ,IACJK,QAAyB;EACxBE,KAAK,sBAAsBN,YAAYG,UAAU;EACjDR,QAAQ;EACT,CAAC,CACDY,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAaW,cAAc/C,eAAe,EAAEiC,QAAQ,OAAO,CAAC,CACzDC,eAAeL,kBAAkB,CACjCM,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYrB,gBACF,CACP2B,QAAkB;EACjBE,KAAK,aAAaR,KAAKN;EACvBG,QAAQ;EACT,CAAC,CACDY,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAaY,iBAAiBhD,eAAe,EAAEiC,QAAQ,QAAQ,CAAC,CAC7DC,eAAe3B,qBAAqB,CACpC4B,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYrB,gBACF,CACP2B,QAAkB;EACjBE,KAAK;EACLX,QAAQ;EACRG;EACD,CAAC,CACDS,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAaa,kBAAkBjD,eAAe,EAAEiC,QAAQ,QAAQ,CAAC,CAC9DC,eAAe7B,sBAAsB,CACrC8B,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYrB,gBACF,CACP2B,QAAkB;EACjBE,KAAK,aAAaR,KAAKN,GAAE;EACzBG,QAAQ;EACRG;EACD,CAAC,CACDS,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAac,mBAAmBlD,eAAe,EAAEiC,QAAQ,QAAQ,CAAC,CAC/DC,eAAe1B,uBAAuB,CACtC2B,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYrB,gBACF,CACP2B,QAAkB;EACjBE,KAAK,aAAaR,KAAKN,GAAE;EACzBG,QAAQ;EACRG;EACD,CAAC,CACDS,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAae,mBAAmBnD,eAAe,EAAEiC,QAAQ,QAAQ,CAAC,CAC/DC,eAAezB,uBAAuB,CACtC0B,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYrB,gBACF,CACP2B,QAAc;EACbE,KAAK,aAAaR,KAAKN,GAAE;EACzBG,QAAQ;EACRG;EACD,CAAC,CACDS,MAAMC,MAAMA,EAAEV,KAAK;EACtB;AAEJ,MAAagB,iBAAiBpD,eAAe,EAAEiC,QAAQ,QAAQ,CAAC,CAC7DC,eAAe5B,qBAAqB,CACpC6B,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYrB,gBACF,CACP2B,QAAc;EACbE,KAAK,aAAaR,KAAKN,GAAE;EACzBG,QAAQ;EACRG;EACD,CAAC,CACDS,MAAMC,MAAMA,EAAEV,KAAK;EACtB;;;ACzHJ,IAAIyB,gBAAsC;AAC1C,MAAMC,mBAAmBR,yBAAwC;CAC/D,MAAMS,UAAUN,UAAUO;AAC1B,KAAI,CAACD,QAAS,OAAM,IAAIE,MAAM,8DAA8D;AAC5FJ,mBAAkBD,kBAAkBG,SAAS,KAAK;AAClD,QAAOF;EACP;AAEF,MAAaK,wBAAwBV,EAAEW,OAAO,EAC5CC,YAAYZ,EAAEa,QAAQ,CAACC,IAAI,EAAC,EAC7B,CAAC;AAEF,MAAaC,mBAAmBf,EAAEW,OAAO,EACvCK,YAAYhB,EAAEa,QAAQ,CAACC,IAAI,EAAC,EAC7B,CAAC;AAEF,MAAaG,qBAAqBjB,EAAEW,OAAO,EACzCO,cAAclB,EAAEa,QAAQ,CAACC,IAAI,EAAC,EAC/B,CAAC;AAEF,MAAaK,oBAAoBnB,EAAEW,OAAO,EACxCS,aAAapB,EAAEa,QAAQ,CAACC,IAAI,EAAC,EAC9B,CAAC;AAEF,MAAaO,kBAAkBxB,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAC7DC,eAAeb,sBAAsB,CACrCc,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAyB;EACxBE,KAAK,uBAAuBC,mBAAmBL,KAAKb,WAAW;EAC/DU,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAaQ,eAAepC,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAACE,QAAQ,YAAY;AAEhF,QADYlB,kBACF,CACPqB,QAAyB;EAAEE,KAAK;EAAoBP,QAAQ;EAAO,CAAC,CACpES,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEF,MAAaS,qBAAqBrC,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAACE,QAAQ,YAAY;AAEtF,QADYlB,kBACF,CACPqB,QAAyB;EAAEE,KAAK;EAAuBP,QAAQ;EAAO,CAAC,CACvES,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEF,MAAaU,0BAA0BtC,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CACrEC,eAAeR,iBAAiB,CAChCS,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAkB;EACjBE,KAAK,gBAAgBC,mBAAmBL,KAAKT,WAAW;EACxDM,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAaW,yBAAyBvC,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAACE,QAAQ,YAAY;AAE1F,QADYlB,kBACF,CACPqB,QAAyB;EAAEE,KAAK;EAA4BP,QAAQ;EAAO,CAAC,CAC5ES,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEF,MAAaY,wBAAwBxC,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CACnEC,eAAeR,iBAAiB,CAChCS,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAkB;EACjBE,KAAK,gBAAgBC,mBAAmBL,KAAKT,WAAW,CAAA;EACxDM,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAaa,0BAA0BzC,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CACrEC,eAAeR,iBAAiB,CAChCS,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAyB;EACxBE,KAAK,gBAAgBC,mBAAmBL,KAAKT,WAAW,CAAA;EACxDM,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAac,qBAAqB1C,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAChEC,eAAeR,iBAAiB,CAChCS,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAkB;EACjBE,KAAK,gBAAgBC,mBAAmBL,KAAKT,WAAW,CAAA;EACxDM,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAae,4BAA4B3C,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CACvEC,eAAeR,iBAAiB,CAChCS,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAkB;EACjBE,KAAK,gBAAgBC,mBAAmBL,KAAKT,WAAW,CAAA;EACxDM,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAagB,iBAAiB5C,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAACE,QAAQ,YAAY;AAElF,QADYlB,kBACF,CACPqB,QAA2B;EAAEE,KAAK;EAAsBP,QAAQ;EAAO,CAAC,CACxES,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEF,MAAaiB,oBAAoB7C,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAC/DC,eAAeN,mBAAmB,CAClCO,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAoB;EACnBE,KAAK,kBAAkBC,mBAAmBL,KAAKP,aAAa;EAC5DI,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAakB,uBAAuB9C,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CAClEC,eAAeN,mBAAmB,CAClCO,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAkB;EACjBE,KAAK,kBAAkBC,mBAAmBL,KAAKP,aAAa,CAAA;EAC5DI,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAamB,yBAAyB/C,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CACpEC,eAAeN,mBAAmB,CAClCO,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAyB;EACxBE,KAAK,kBAAkBC,mBAAmBL,KAAKP,aAAa,CAAA;EAC5DI,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB;AAEJ,MAAaoB,2BAA2BhD,eAAe,EAAEyB,QAAQ,OAAO,CAAC,CACtEC,eAAeJ,kBAAkB,CACjCK,QAAQ,OAAO,EAAEC,WAAW;AAE3B,QADYnB,kBACF,CACPqB,QAAkB;EACjBE,KAAK,eAAeC,mBAAmBL,KAAKL,YAAY,CAAA;EACxDE,QAAQ;EACT,CAAC,CACDS,MAAMC,MAAMA,EAAEP,KAAK;EACtB"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "wcz-layout",
3
- "version": "8.0.5",
3
+ "version": "8.1.0",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "tanstack-intent"
@@ -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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"}