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.
- package/dist/{Approval-BSQHVGsm.js → Approval-DBjc7AVj.js} +13 -3
- package/dist/Approval-DBjc7AVj.js.map +1 -0
- package/dist/data/client.d.ts +62 -26
- package/dist/data/client.js +1 -1
- package/dist/data/server.d.ts +1 -1
- package/dist/data/server.js +18 -14
- package/dist/data/server.js.map +1 -1
- package/dist/file-BHdm6ob1.js.map +1 -1
- package/dist/models.d.ts +20 -22
- package/dist/models.js +1 -1
- package/dist/{peoplesoft-B9kmi9rI.d.ts → peoplesoft-CFgBFvG-.d.ts} +38 -24
- package/dist/{peoplesoft-CYSlmcwI.js → peoplesoft-RYzK8IDF.js} +2 -2
- package/dist/{peoplesoft-CYSlmcwI.js.map → peoplesoft-RYzK8IDF.js.map} +1 -1
- package/dist/vite.js +2 -2
- package/dist/vite.js.map +1 -1
- package/package.json +1 -1
- package/dist/Approval-BSQHVGsm.js.map +0 -1
|
@@ -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
|
-
|
|
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(
|
|
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-
|
|
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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"}
|
package/dist/data/client.d.ts
CHANGED
|
@@ -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-
|
|
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
|
-
|
|
174
|
+
principal: {
|
|
175
|
+
role: string;
|
|
176
|
+
email?: string | undefined;
|
|
177
|
+
} | {
|
|
175
178
|
employeeId: string;
|
|
176
179
|
name: string;
|
|
177
|
-
email
|
|
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
|
-
|
|
234
|
+
principal: {
|
|
235
|
+
role: string;
|
|
236
|
+
email?: string | undefined;
|
|
237
|
+
} | {
|
|
232
238
|
employeeId: string;
|
|
233
239
|
name: string;
|
|
234
|
-
email
|
|
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
|
-
|
|
300
|
+
principal: {
|
|
301
|
+
role: string;
|
|
302
|
+
email?: string | undefined;
|
|
303
|
+
} | {
|
|
295
304
|
employeeId: string;
|
|
296
305
|
name: string;
|
|
297
|
-
email
|
|
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
|
-
|
|
373
|
+
principal: {
|
|
374
|
+
role: string;
|
|
375
|
+
email?: string | undefined;
|
|
376
|
+
} | {
|
|
365
377
|
employeeId: string;
|
|
366
378
|
name: string;
|
|
367
|
-
email
|
|
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
|
-
|
|
437
|
+
principal: {
|
|
438
|
+
role: string;
|
|
439
|
+
email?: string | undefined;
|
|
440
|
+
} | {
|
|
426
441
|
employeeId: string;
|
|
427
442
|
name: string;
|
|
428
|
-
email
|
|
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
|
-
|
|
497
|
+
principal: {
|
|
498
|
+
role: string;
|
|
499
|
+
email?: string | undefined;
|
|
500
|
+
} | {
|
|
483
501
|
employeeId: string;
|
|
484
502
|
name: string;
|
|
485
|
-
email
|
|
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
|
-
|
|
560
|
+
principal: {
|
|
561
|
+
role: string;
|
|
562
|
+
email?: string | undefined;
|
|
563
|
+
} | {
|
|
543
564
|
employeeId: string;
|
|
544
565
|
name: string;
|
|
545
|
-
email
|
|
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
|
-
|
|
627
|
+
principal: {
|
|
628
|
+
role: string;
|
|
629
|
+
email?: string | undefined;
|
|
630
|
+
} | {
|
|
607
631
|
employeeId: string;
|
|
608
632
|
name: string;
|
|
609
|
-
email
|
|
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
|
-
|
|
691
|
+
principal: {
|
|
692
|
+
role: string;
|
|
693
|
+
email?: string | undefined;
|
|
694
|
+
} | {
|
|
668
695
|
employeeId: string;
|
|
669
696
|
name: string;
|
|
670
|
-
email
|
|
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
|
|
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
|
-
|
|
780
|
+
principal: {
|
|
781
|
+
role: string;
|
|
782
|
+
email?: string | undefined;
|
|
783
|
+
} | {
|
|
751
784
|
employeeId: string;
|
|
752
785
|
name: string;
|
|
753
|
-
email
|
|
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
|
-
|
|
846
|
+
principal: {
|
|
847
|
+
role: string;
|
|
848
|
+
email?: string | undefined;
|
|
849
|
+
} | {
|
|
814
850
|
employeeId: string;
|
|
815
851
|
name: string;
|
|
816
|
-
email
|
|
852
|
+
email?: string | undefined;
|
|
817
853
|
};
|
|
818
854
|
}[] | undefined;
|
|
819
855
|
}, Error, {
|
package/dist/data/client.js
CHANGED
|
@@ -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-
|
|
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";
|
package/dist/data/server.d.ts
CHANGED
|
@@ -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-
|
|
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";
|
package/dist/data/server.js
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { n as serverEnv } from "../env-Dgbk8SQN.js";
|
|
2
|
-
import {
|
|
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-
|
|
5
|
-
import { createServerFn
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
package/dist/data/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":["createServerFn","
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"file-BHdm6ob1.js","names":["AxiosInstance","axios","scopes","definedScopes","getAppToken","ScopeKey","createExternalApi","baseURL","scopeKey","api","create","interceptors","request","use","config","accessToken","headers","set","createServerFn","createServerOnlyFn","AxiosInstance","Upload","uuidv7","z","serverEnv","getAppToken","FileMeta","FileMetaSchema","createExternalApi","fileApi","getFileApi","baseUrl","FILE_BASE_URL","Error","GetFileMetasSchema","object","appName","string","min","max","subId","uuid","FileSchema","id","UpdateFileMetaSchema","extend","fileName","DeleteFileSchema","BatchDeleteFilesSchema","UploadFileResult","UploadFileMetaSchema","file","instanceof","File","getFileMetas","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","request","Array","url","toString","then","r","getFileThumbnail","response","ArrayBuffer","responseType","Response","headers","getFile","downloadFile","updateFileMeta","deleteFile","batchDeleteFiles","uploadFile","Promise","accessToken","buffer","Buffer","from","arrayBuffer","resolve","reject","upload","endpoint","chunkSize","metadata","name","fileExtension","type","Authorization","onError","onSuccess","start"],"sources":["../src/queries/server/externalApi.ts","../src/queries/server/file.ts"],"sourcesContent":["import type { AxiosInstance } from \"axios\";\r\nimport axios from \"axios\";\r\nimport type { scopes as definedScopes } from \"virtual:wcz-layout\";\r\nimport { getAppToken } from \"~/lib/auth/msalServer\";\r\n\r\ntype ScopeKey = keyof typeof definedScopes;\r\n\r\nexport function createExternalApi(baseURL: string, scopeKey: ScopeKey): AxiosInstance {\r\n const api = axios.create({ baseURL });\r\n\r\n api.interceptors.request.use(async (config) => {\r\n const accessToken = await getAppToken(scopeKey);\r\n config.headers.set(\"Authorization\", `Bearer ${accessToken}`);\r\n return config;\r\n });\r\n\r\n return api;\r\n}\r\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { Upload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet fileApi: AxiosInstance | null = null;\nconst getFileApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.FILE_BASE_URL;\n if (!baseUrl) throw new Error(\"FILE_BASE_URL is not defined in server environment variables.\");\n fileApi ??= createExternalApi(baseUrl, \"file\");\n return fileApi;\n});\n\nexport const GetFileMetasSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n});\n\nexport const FileSchema = z.object({\n appName: z.string().min(1).max(255),\n id: z.uuid(),\n});\n\nexport const UpdateFileMetaSchema = FileMetaSchema.extend({\n fileName: z.string().min(1).max(255),\n});\n\nconst DeleteFileSchema = FileSchema;\n\nconst BatchDeleteFilesSchema = GetFileMetasSchema;\n\nexport interface UploadFileResult {\n id: string;\n appName: string;\n subId: string;\n fileName: string;\n}\n\nexport const UploadFileMetaSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n file: z.instanceof(File),\n});\n\nexport const getFileMetas = createServerFn({ method: \"GET\" })\n .inputValidator(GetFileMetasSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n return api\n .request<Array<FileMeta>>({\n url: `/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getFileThumbnail = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const getFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const downloadFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await api.request<ArrayBuffer>({\n url: `/v1/download?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const updateFileMeta = createServerFn({ method: \"POST\" })\n .inputValidator(UpdateFileMetaSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n return api\n .request({ url: `/v1/meta?${queryParams.toString()}`, method: \"PUT\", data })\n .then((r) => r.data);\n });\n\nexport const deleteFile = createServerFn({ method: \"POST\" })\n .inputValidator(DeleteFileSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n return api\n .request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" })\n .then((r) => r.data);\n });\n\nexport const batchDeleteFiles = createServerFn({ method: \"POST\" })\n .inputValidator(BatchDeleteFilesSchema)\n .handler(async ({ data }) => {\n const api = getFileApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n return api\n .request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" })\n .then((r) => r.data);\n });\n\nexport const uploadFile = createServerFn({ method: \"POST\" })\n .inputValidator(UploadFileMetaSchema)\n .handler(async ({ data }): Promise<UploadFileResult> => {\n const accessToken = await getAppToken(\"file\");\n const buffer = Buffer.from(await data.file.arrayBuffer());\n const id = uuidv7();\n\n await new Promise<void>((resolve, reject) => {\n const upload = new Upload(buffer, {\n endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,\n chunkSize: 1_048_576,\n metadata: {\n id,\n appName: data.appName,\n subId: data.subId,\n fileName: data.file.name,\n fileExtension: data.file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: reject,\n onSuccess: () => resolve(),\n });\n upload.start();\n });\n\n return { id, appName: data.appName, subId: data.subId, fileName: data.file.name };\n });\n"],"mappings":"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"}
|
package/dist/models.d.ts
CHANGED
|
@@ -242,20 +242,23 @@ declare const ApprovalSchema: z$1.ZodObject<{
|
|
|
242
242
|
}>>;
|
|
243
243
|
coRequestors: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
244
244
|
id: z$1.ZodUUID;
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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.
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
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-
|
|
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
|
-
|
|
190
|
+
principal: {
|
|
191
|
+
role: string;
|
|
192
|
+
email?: string | undefined;
|
|
193
|
+
} | {
|
|
191
194
|
employeeId: string;
|
|
192
195
|
name: string;
|
|
193
|
-
email
|
|
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
|
-
|
|
253
|
+
principal: {
|
|
254
|
+
role: string;
|
|
255
|
+
email?: string | undefined;
|
|
256
|
+
} | {
|
|
251
257
|
employeeId: string;
|
|
252
258
|
name: string;
|
|
253
|
-
email
|
|
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.
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
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
|
-
|
|
356
|
+
principal: {
|
|
357
|
+
role: string;
|
|
358
|
+
email?: string | undefined;
|
|
359
|
+
} | {
|
|
352
360
|
employeeId: string;
|
|
353
361
|
name: string;
|
|
354
|
-
email
|
|
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
|
-
|
|
431
|
+
principal: {
|
|
432
|
+
role: string;
|
|
433
|
+
email?: string | undefined;
|
|
434
|
+
} | {
|
|
424
435
|
employeeId: string;
|
|
425
436
|
name: string;
|
|
426
|
-
email
|
|
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
|
-
|
|
511
|
+
principal: {
|
|
512
|
+
role: string;
|
|
513
|
+
email?: string | undefined;
|
|
514
|
+
} | {
|
|
501
515
|
employeeId: string;
|
|
502
516
|
name: string;
|
|
503
|
-
email
|
|
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-
|
|
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-
|
|
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-
|
|
174
|
+
//# sourceMappingURL=peoplesoft-RYzK8IDF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peoplesoft-CYSlmcwI.js","names":["createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","Approval","ApprovalStatus","ApprovalStepResult","createExternalApi","approvalApi","getApprovalApi","baseUrl","APPROVAL_BASE_URL","Error","GetApprovalsSchema","object","appName","string","min","max","status","optional","approverEmployeeId","stepResult","GetApprovalSchema","id","uuid","getApprovals","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","toString","request","Array","url","then","r","getApproval","createApproval","approveApproval","resubmitApproval","withdrawApproval","cancelApproval","createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","Department","Employee","createExternalApi","peopleSoftApi","getPeopleSoftApi","baseUrl","PS_BASE_URL","Error","SearchEmployeesSchema","object","searchTerm","string","min","EmployeeIdSchema","employeeId","DepartmentIdSchema","departmentId","CompanyCodeSchema","companyCode","searchEmployees","method","inputValidator","handler","data","api","request","Array","url","encodeURIComponent","then","r","getEmployees","getActiveEmployees","getEmployeeByEmployeeId","getPreviousEmployeeIds","getEmployeeSupervisor","getEmployeeSubordinates","getEmployeeManager","getEmployeeGeneralManager","getDepartments","getDepartmentById","getDepartmentManager","getDepartmentEmployees","getCompanyGeneralManager"],"sources":["../src/queries/server/approval.ts","../src/queries/server/peoplesoft.ts"],"sourcesContent":["import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport {\n ApproveApprovalSchema,\n CancelApprovalSchema,\n CreateApprovalSchema,\n ResubmitApprovalSchema,\n WithdrawApprovalSchema,\n} from \"~/models/approval/Approval\";\nimport type { Approval } from \"~/models/approval/Approval\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet approvalApi: AxiosInstance | null = null;\nconst getApprovalApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.APPROVAL_BASE_URL;\n if (!baseUrl)\n throw new Error(\"APPROVAL_BASE_URL is not defined in server environment variables.\");\n approvalApi ??= createExternalApi(baseUrl, \"approval\");\n return approvalApi;\n});\n\nexport const GetApprovalsSchema = z.object({\n appName: z.string().min(1).max(255),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional(),\n});\n\nexport const GetApprovalSchema = z.object({\n id: z.uuid(),\n});\n\nexport const getApprovals = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalsSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"applicationName\", data.appName);\n if (data.status) queryParams.append(\"status\", data.status.toString());\n if (data.approverEmployeeId) queryParams.append(\"approverEmployeeId\", data.approverEmployeeId);\n if (data.stepResult) queryParams.append(\"stepResult\", data.stepResult.toString());\n\n return api\n .request<Array<Approval>>({\n url: `/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getApproval = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const createApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CreateApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const approveApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ApproveApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const resubmitApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ResubmitApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const withdrawApproval = createServerFn({ method: \"POST\" })\n .inputValidator(WithdrawApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const cancelApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CancelApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/cancel`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport type { Department } from \"~/models/peoplesoft/Department\";\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet peopleSoftApi: AxiosInstance | null = null;\nconst getPeopleSoftApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.PS_BASE_URL;\n if (!baseUrl) throw new Error(\"PS_BASE_URL is not defined in server environment variables.\");\n peopleSoftApi ??= createExternalApi(baseUrl, \"ps\");\n return peopleSoftApi;\n});\n\nexport const SearchEmployeesSchema = z.object({\n searchTerm: z.string().min(1),\n});\n\nexport const EmployeeIdSchema = z.object({\n employeeId: z.string().min(1),\n});\n\nexport const DepartmentIdSchema = z.object({\n departmentId: z.string().min(1),\n});\n\nexport const CompanyCodeSchema = z.object({\n companyCode: z.string().min(1),\n});\n\nexport const searchEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(SearchEmployeesSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee?search=${encodeURIComponent(data.searchTerm)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getActiveEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/active`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeByEmployeeId = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getPreviousEmployeeIds = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/previousIds`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeSupervisor = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/supervisor`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeSubordinates = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/subordinates`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartments = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Department>>({ url: `/v1/department/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getDepartmentById = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Department>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentManager = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/employees`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getCompanyGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(CompanyCodeSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/company/${encodeURIComponent(data.companyCode)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"peoplesoft-RYzK8IDF.js","names":["createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","Approval","ApprovalStatus","ApprovalStepResult","createExternalApi","approvalApi","getApprovalApi","baseUrl","APPROVAL_BASE_URL","Error","GetApprovalsSchema","object","appName","string","min","max","status","optional","approverEmployeeId","stepResult","GetApprovalSchema","id","uuid","getApprovals","method","inputValidator","handler","data","api","queryParams","URLSearchParams","append","toString","request","Array","url","then","r","getApproval","createApproval","approveApproval","resubmitApproval","withdrawApproval","cancelApproval","createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","Department","Employee","createExternalApi","peopleSoftApi","getPeopleSoftApi","baseUrl","PS_BASE_URL","Error","SearchEmployeesSchema","object","searchTerm","string","min","EmployeeIdSchema","employeeId","DepartmentIdSchema","departmentId","CompanyCodeSchema","companyCode","searchEmployees","method","inputValidator","handler","data","api","request","Array","url","encodeURIComponent","then","r","getEmployees","getActiveEmployees","getEmployeeByEmployeeId","getPreviousEmployeeIds","getEmployeeSupervisor","getEmployeeSubordinates","getEmployeeManager","getEmployeeGeneralManager","getDepartments","getDepartmentById","getDepartmentManager","getDepartmentEmployees","getCompanyGeneralManager"],"sources":["../src/queries/server/approval.ts","../src/queries/server/peoplesoft.ts"],"sourcesContent":["import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport {\n ApproveApprovalSchema,\n CancelApprovalSchema,\n CreateApprovalSchema,\n ResubmitApprovalSchema,\n WithdrawApprovalSchema,\n} from \"~/models/approval/Approval\";\nimport type { Approval } from \"~/models/approval/Approval\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet approvalApi: AxiosInstance | null = null;\nconst getApprovalApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.APPROVAL_BASE_URL;\n if (!baseUrl)\n throw new Error(\"APPROVAL_BASE_URL is not defined in server environment variables.\");\n approvalApi ??= createExternalApi(baseUrl, \"approval\");\n return approvalApi;\n});\n\nexport const GetApprovalsSchema = z.object({\n appName: z.string().min(1).max(255),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional(),\n});\n\nexport const GetApprovalSchema = z.object({\n id: z.uuid(),\n});\n\nexport const getApprovals = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalsSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n const queryParams = new URLSearchParams();\n queryParams.append(\"applicationName\", data.appName);\n if (data.status) queryParams.append(\"status\", data.status.toString());\n if (data.approverEmployeeId) queryParams.append(\"approverEmployeeId\", data.approverEmployeeId);\n if (data.stepResult) queryParams.append(\"stepResult\", data.stepResult.toString());\n\n return api\n .request<Array<Approval>>({\n url: `/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getApproval = createServerFn({ method: \"GET\" })\n .inputValidator(GetApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const createApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CreateApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const approveApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ApproveApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const resubmitApproval = createServerFn({ method: \"POST\" })\n .inputValidator(ResubmitApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<Approval>({\n url: `/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const withdrawApproval = createServerFn({ method: \"POST\" })\n .inputValidator(WithdrawApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n\nexport const cancelApproval = createServerFn({ method: \"POST\" })\n .inputValidator(CancelApprovalSchema)\n .handler(async ({ data }) => {\n const api = getApprovalApi();\n return api\n .request<void>({\n url: `/Requests/${data.id}/cancel`,\n method: \"POST\",\n data,\n })\n .then((r) => r.data);\n });\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\nimport type { AxiosInstance } from \"axios\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport type { Department } from \"~/models/peoplesoft/Department\";\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\nimport { createExternalApi } from \"~/queries/server/externalApi\";\n\nlet peopleSoftApi: AxiosInstance | null = null;\nconst getPeopleSoftApi = createServerOnlyFn((): AxiosInstance => {\n const baseUrl = serverEnv.PS_BASE_URL;\n if (!baseUrl) throw new Error(\"PS_BASE_URL is not defined in server environment variables.\");\n peopleSoftApi ??= createExternalApi(baseUrl, \"ps\");\n return peopleSoftApi;\n});\n\nexport const SearchEmployeesSchema = z.object({\n searchTerm: z.string().min(1),\n});\n\nexport const EmployeeIdSchema = z.object({\n employeeId: z.string().min(1),\n});\n\nexport const DepartmentIdSchema = z.object({\n departmentId: z.string().min(1),\n});\n\nexport const CompanyCodeSchema = z.object({\n companyCode: z.string().min(1),\n});\n\nexport const searchEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(SearchEmployeesSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee?search=${encodeURIComponent(data.searchTerm)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getActiveEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/active`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeByEmployeeId = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getPreviousEmployeeIds = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({ url: `/v1/employee/previousIds`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getEmployeeSupervisor = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/supervisor`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeSubordinates = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/subordinates`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getEmployeeGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(EmployeeIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartments = createServerFn({ method: \"GET\" }).handler(async () => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Department>>({ url: `/v1/department/all`, method: \"GET\" })\n .then((r) => r.data);\n});\n\nexport const getDepartmentById = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Department>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentManager = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/manager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getDepartmentEmployees = createServerFn({ method: \"GET\" })\n .inputValidator(DepartmentIdSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Array<Employee>>({\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/employees`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n\nexport const getCompanyGeneralManager = createServerFn({ method: \"GET\" })\n .inputValidator(CompanyCodeSchema)\n .handler(async ({ data }) => {\n const api = getPeopleSoftApi();\n return api\n .request<Employee>({\n url: `/v1/company/${encodeURIComponent(data.companyCode)}/generalManager`,\n method: \"GET\",\n })\n .then((r) => r.data);\n });\n"],"mappings":"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"}
|
package/dist/vite.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import z$1 from "zod";
|
|
2
2
|
import axios from "axios";
|
|
3
|
-
import fs from "node:fs";
|
|
4
3
|
import https from "node:https";
|
|
4
|
+
import fs from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { loadEnv } from "vite";
|
|
7
7
|
//#region src/models/VaultConfig.ts
|
|
@@ -79,7 +79,7 @@ function viteWczLayout() {
|
|
|
79
79
|
name: "vite:wcz-layout",
|
|
80
80
|
enforce: "pre",
|
|
81
81
|
configResolved(resolvedConfig) {
|
|
82
|
-
localesPath = path.resolve(resolvedConfig.root, "src/locales");
|
|
82
|
+
localesPath = path.resolve(resolvedConfig.root, "src/lib/locales");
|
|
83
83
|
permissionsPath = path.resolve(resolvedConfig.root, "src/lib/auth/permissions.ts");
|
|
84
84
|
scopesPath = path.resolve(resolvedConfig.root, "src/lib/auth/scopes.ts");
|
|
85
85
|
},
|
package/dist/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","names":["z","VaultConfigSchema","object","VAULT_ADDRESS","url","VAULT_USERNAME","string","min","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","default","VaultConfig","infer","fs","https","path","axios","loadEnv","VaultConfigSchema","Resource","Plugin","fetchVaultSecrets","env","Record","Promise","config","parse","VAULT_ADDRESS","VAULT_USERNAME","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","client","create","baseURL","httpsAgent","Agent","rejectUnauthorized","data","loginData","post","password","secretData","get","headers","auth","client_token","secrets","Error","Object","fromEntries","entries","map","key","value","JSON","stringify","loadVaultSecrets","command","process","cwd","forEach","e","console","warn","message","loadLocaleResources","localesPath","addWatchFile","existsSync","mkdirSync","recursive","enPath","join","writeFileSync","files","readdirSync","resources","file","filter","f","endsWith","lang","basename","filePath","translation","readFileSync","ensurePermissionsFile","permissionsPath","dir","dirname","ensureScopesFile","scopesPath","viteWczLayout","virtualModuleId","resolvedVirtualModuleId","name","enforce","configResolved","resolvedConfig","resolve","root","_","optimizeDeps","exclude","include","configureServer","server","refresh","includes","module","moduleGraph","getModuleById","invalidateModule","ws","send","type","watcher","add","on","resolveId","id","load","bind","normalizedPermissionsPath","split","sep","posix","normalizedScopesPath"],"sources":["../src/models/VaultConfig.ts","../src/lib/vite-plugin.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const VaultConfigSchema = z.object({\n VAULT_ADDRESS: z.url(),\n VAULT_USERNAME: z.string().min(1),\n VAULT_PASSWORD: z.string().min(1),\n VAULT_SECRET_PATH: z.string().min(1),\n VAULT_MOUNT_POINT: z.string().default(\"release\"),\n});\n\nexport type VaultConfig = z.infer<typeof VaultConfigSchema>;\n","import fs from \"node:fs\";\nimport https from \"node:https\";\nimport path from \"node:path\";\nimport axios from \"axios\";\nimport { loadEnv } from \"vite\";\nimport { VaultConfigSchema } from \"../models/VaultConfig\";\nimport type { Resource } from \"i18next\";\nimport type { Plugin } from \"vite\";\n\nasync function fetchVaultSecrets(env: Record<string, string>): Promise<Record<string, string>> {\n const config = VaultConfigSchema.parse(env);\n const { VAULT_ADDRESS, VAULT_USERNAME, VAULT_PASSWORD, VAULT_SECRET_PATH, VAULT_MOUNT_POINT } =\n config;\n\n const client = axios.create({\n baseURL: VAULT_ADDRESS,\n httpsAgent: new https.Agent({ rejectUnauthorized: false }),\n });\n\n const { data: loginData } = await client.post(`/v1/auth/userpass/login/${VAULT_USERNAME}`, {\n password: VAULT_PASSWORD,\n });\n\n const { data: secretData } = await client.get(\n `/v1/${VAULT_MOUNT_POINT}/data/${VAULT_SECRET_PATH}`,\n {\n headers: { \"X-Vault-Token\": loginData.auth.client_token },\n },\n );\n\n const secrets = secretData?.data?.data;\n if (!secrets) throw new Error(\"No secrets found\");\n\n return Object.fromEntries(\n Object.entries(secrets).map(([key, value]) => [\n key,\n typeof value === \"string\" ? value : JSON.stringify(value),\n ]),\n );\n}\n\nasync function loadVaultSecrets(command: string): Promise<void> {\n if (command !== \"serve\") return;\n\n const env = loadEnv(\"development\", process.cwd(), \"\");\n if (!env.VAULT_ADDRESS) return;\n\n try {\n const secrets = await fetchVaultSecrets(env);\n Object.entries(secrets).forEach(([key, value]) => {\n process.env[key] ??= value;\n });\n } catch (e) {\n console.warn(\"[vite:wcz-layout] Vault failed:\", e instanceof Error ? e.message : e);\n }\n}\n\nfunction loadLocaleResources(localesPath: string, addWatchFile: (path: string) => void): Resource {\n if (!fs.existsSync(localesPath)) fs.mkdirSync(localesPath, { recursive: true });\n\n const enPath = path.join(localesPath, \"en.json\");\n if (!fs.existsSync(enPath)) fs.writeFileSync(enPath, JSON.stringify({}));\n\n const files = fs.readdirSync(localesPath);\n const resources: Resource = {};\n\n for (const file of files.filter((f) => f.endsWith(\".json\"))) {\n const lang = path.basename(file, \".json\");\n const filePath = path.join(localesPath, file);\n try {\n resources[lang] = { translation: JSON.parse(fs.readFileSync(filePath, \"utf-8\")) };\n } catch {\n resources[lang] = { translation: {} };\n }\n addWatchFile(filePath);\n }\n\n return resources;\n}\n\nfunction ensurePermissionsFile(\n permissionsPath: string,\n addWatchFile: (path: string) => void,\n): void {\n const dir = path.dirname(permissionsPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(permissionsPath)) {\n fs.writeFileSync(\n permissionsPath,\n 'export const permissions = {\\n admin: [\"wcz-developers\"]\\n} as const;',\n );\n }\n addWatchFile(permissionsPath);\n}\n\nfunction ensureScopesFile(scopesPath: string, addWatchFile: (path: string) => void): void {\n const dir = path.dirname(scopesPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(scopesPath)) {\n fs.writeFileSync(scopesPath, \"export const scopes = {\\n} as const;\");\n }\n addWatchFile(scopesPath);\n}\n\nexport function viteWczLayout(): Plugin {\n const virtualModuleId = \"virtual:wcz-layout\";\n const resolvedVirtualModuleId = \"\\0\" + virtualModuleId;\n\n let localesPath: string;\n let permissionsPath: string;\n let scopesPath: string;\n\n return {\n name: \"vite:wcz-layout\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n localesPath = path.resolve(resolvedConfig.root, \"src/locales\");\n permissionsPath = path.resolve(resolvedConfig.root, \"src/lib/auth/permissions.ts\");\n scopesPath = path.resolve(resolvedConfig.root, \"src/lib/auth/scopes.ts\");\n },\n async config(_, { command }) {\n await loadVaultSecrets(command);\n\n return {\n optimizeDeps: {\n exclude: [virtualModuleId],\n include: [\n \"prop-types\",\n \"react-is\",\n \"hoist-non-react-statics\",\n \"url-parse\",\n \"file-saver\",\n \"attr-accept\",\n ],\n },\n };\n },\n configureServer(server) {\n const refresh = (filePath: string) => {\n if (\n filePath.includes(localesPath) ||\n filePath === permissionsPath ||\n filePath === scopesPath\n ) {\n const module = server.moduleGraph.getModuleById(resolvedVirtualModuleId);\n if (module) server.moduleGraph.invalidateModule(module);\n server.ws.send({ type: \"full-reload\", path: \"*\" });\n }\n };\n\n server.watcher.add([localesPath, permissionsPath, scopesPath]);\n server.watcher.on(\"add\", refresh);\n server.watcher.on(\"change\", refresh);\n server.watcher.on(\"unlink\", refresh);\n },\n resolveId(id) {\n if (id === virtualModuleId) return resolvedVirtualModuleId;\n return null;\n },\n load(id) {\n if (id !== resolvedVirtualModuleId) return null;\n\n const resources = loadLocaleResources(localesPath, this.addWatchFile.bind(this));\n ensurePermissionsFile(permissionsPath, this.addWatchFile.bind(this));\n ensureScopesFile(scopesPath, this.addWatchFile.bind(this));\n\n const normalizedPermissionsPath = permissionsPath.split(path.sep).join(path.posix.sep);\n const normalizedScopesPath = scopesPath.split(path.sep).join(path.posix.sep);\n return `\n export const resources = ${JSON.stringify(resources)};\n export { permissions } from \"${normalizedPermissionsPath}\";\n export { scopes } from \"${normalizedScopesPath}\";\n `;\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.js","names":["z","VaultConfigSchema","object","VAULT_ADDRESS","url","VAULT_USERNAME","string","min","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","default","VaultConfig","infer","fs","https","path","axios","loadEnv","VaultConfigSchema","Resource","Plugin","fetchVaultSecrets","env","Record","Promise","config","parse","VAULT_ADDRESS","VAULT_USERNAME","VAULT_PASSWORD","VAULT_SECRET_PATH","VAULT_MOUNT_POINT","client","create","baseURL","httpsAgent","Agent","rejectUnauthorized","data","loginData","post","password","secretData","get","headers","auth","client_token","secrets","Error","Object","fromEntries","entries","map","key","value","JSON","stringify","loadVaultSecrets","command","process","cwd","forEach","e","console","warn","message","loadLocaleResources","localesPath","addWatchFile","existsSync","mkdirSync","recursive","enPath","join","writeFileSync","files","readdirSync","resources","file","filter","f","endsWith","lang","basename","filePath","translation","readFileSync","ensurePermissionsFile","permissionsPath","dir","dirname","ensureScopesFile","scopesPath","viteWczLayout","virtualModuleId","resolvedVirtualModuleId","name","enforce","configResolved","resolvedConfig","resolve","root","_","optimizeDeps","exclude","include","configureServer","server","refresh","includes","module","moduleGraph","getModuleById","invalidateModule","ws","send","type","watcher","add","on","resolveId","id","load","bind","normalizedPermissionsPath","split","sep","posix","normalizedScopesPath"],"sources":["../src/models/VaultConfig.ts","../src/lib/vite-plugin.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const VaultConfigSchema = z.object({\n VAULT_ADDRESS: z.url(),\n VAULT_USERNAME: z.string().min(1),\n VAULT_PASSWORD: z.string().min(1),\n VAULT_SECRET_PATH: z.string().min(1),\n VAULT_MOUNT_POINT: z.string().default(\"release\"),\n});\n\nexport type VaultConfig = z.infer<typeof VaultConfigSchema>;\n","import fs from \"node:fs\";\nimport https from \"node:https\";\nimport path from \"node:path\";\nimport axios from \"axios\";\nimport { loadEnv } from \"vite\";\nimport { VaultConfigSchema } from \"../models/VaultConfig\";\nimport type { Resource } from \"i18next\";\nimport type { Plugin } from \"vite\";\n\nasync function fetchVaultSecrets(env: Record<string, string>): Promise<Record<string, string>> {\n const config = VaultConfigSchema.parse(env);\n const { VAULT_ADDRESS, VAULT_USERNAME, VAULT_PASSWORD, VAULT_SECRET_PATH, VAULT_MOUNT_POINT } =\n config;\n\n const client = axios.create({\n baseURL: VAULT_ADDRESS,\n httpsAgent: new https.Agent({ rejectUnauthorized: false }),\n });\n\n const { data: loginData } = await client.post(`/v1/auth/userpass/login/${VAULT_USERNAME}`, {\n password: VAULT_PASSWORD,\n });\n\n const { data: secretData } = await client.get(\n `/v1/${VAULT_MOUNT_POINT}/data/${VAULT_SECRET_PATH}`,\n {\n headers: { \"X-Vault-Token\": loginData.auth.client_token },\n },\n );\n\n const secrets = secretData?.data?.data;\n if (!secrets) throw new Error(\"No secrets found\");\n\n return Object.fromEntries(\n Object.entries(secrets).map(([key, value]) => [\n key,\n typeof value === \"string\" ? value : JSON.stringify(value),\n ]),\n );\n}\n\nasync function loadVaultSecrets(command: string): Promise<void> {\n if (command !== \"serve\") return;\n\n const env = loadEnv(\"development\", process.cwd(), \"\");\n if (!env.VAULT_ADDRESS) return;\n\n try {\n const secrets = await fetchVaultSecrets(env);\n Object.entries(secrets).forEach(([key, value]) => {\n process.env[key] ??= value;\n });\n } catch (e) {\n console.warn(\"[vite:wcz-layout] Vault failed:\", e instanceof Error ? e.message : e);\n }\n}\n\nfunction loadLocaleResources(localesPath: string, addWatchFile: (path: string) => void): Resource {\n if (!fs.existsSync(localesPath)) fs.mkdirSync(localesPath, { recursive: true });\n\n const enPath = path.join(localesPath, \"en.json\");\n if (!fs.existsSync(enPath)) fs.writeFileSync(enPath, JSON.stringify({}));\n\n const files = fs.readdirSync(localesPath);\n const resources: Resource = {};\n\n for (const file of files.filter((f) => f.endsWith(\".json\"))) {\n const lang = path.basename(file, \".json\");\n const filePath = path.join(localesPath, file);\n try {\n resources[lang] = { translation: JSON.parse(fs.readFileSync(filePath, \"utf-8\")) };\n } catch {\n resources[lang] = { translation: {} };\n }\n addWatchFile(filePath);\n }\n\n return resources;\n}\n\nfunction ensurePermissionsFile(\n permissionsPath: string,\n addWatchFile: (path: string) => void,\n): void {\n const dir = path.dirname(permissionsPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(permissionsPath)) {\n fs.writeFileSync(\n permissionsPath,\n 'export const permissions = {\\n admin: [\"wcz-developers\"]\\n} as const;',\n );\n }\n addWatchFile(permissionsPath);\n}\n\nfunction ensureScopesFile(scopesPath: string, addWatchFile: (path: string) => void): void {\n const dir = path.dirname(scopesPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n if (!fs.existsSync(scopesPath)) {\n fs.writeFileSync(scopesPath, \"export const scopes = {\\n} as const;\");\n }\n addWatchFile(scopesPath);\n}\n\nexport function viteWczLayout(): Plugin {\n const virtualModuleId = \"virtual:wcz-layout\";\n const resolvedVirtualModuleId = \"\\0\" + virtualModuleId;\n\n let localesPath: string;\n let permissionsPath: string;\n let scopesPath: string;\n\n return {\n name: \"vite:wcz-layout\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n localesPath = path.resolve(resolvedConfig.root, \"src/lib/locales\");\n permissionsPath = path.resolve(resolvedConfig.root, \"src/lib/auth/permissions.ts\");\n scopesPath = path.resolve(resolvedConfig.root, \"src/lib/auth/scopes.ts\");\n },\n async config(_, { command }) {\n await loadVaultSecrets(command);\n\n return {\n optimizeDeps: {\n exclude: [virtualModuleId],\n include: [\n \"prop-types\",\n \"react-is\",\n \"hoist-non-react-statics\",\n \"url-parse\",\n \"file-saver\",\n \"attr-accept\",\n ],\n },\n };\n },\n configureServer(server) {\n const refresh = (filePath: string) => {\n if (\n filePath.includes(localesPath) ||\n filePath === permissionsPath ||\n filePath === scopesPath\n ) {\n const module = server.moduleGraph.getModuleById(resolvedVirtualModuleId);\n if (module) server.moduleGraph.invalidateModule(module);\n server.ws.send({ type: \"full-reload\", path: \"*\" });\n }\n };\n\n server.watcher.add([localesPath, permissionsPath, scopesPath]);\n server.watcher.on(\"add\", refresh);\n server.watcher.on(\"change\", refresh);\n server.watcher.on(\"unlink\", refresh);\n },\n resolveId(id) {\n if (id === virtualModuleId) return resolvedVirtualModuleId;\n return null;\n },\n load(id) {\n if (id !== resolvedVirtualModuleId) return null;\n\n const resources = loadLocaleResources(localesPath, this.addWatchFile.bind(this));\n ensurePermissionsFile(permissionsPath, this.addWatchFile.bind(this));\n ensureScopesFile(scopesPath, this.addWatchFile.bind(this));\n\n const normalizedPermissionsPath = permissionsPath.split(path.sep).join(path.posix.sep);\n const normalizedScopesPath = scopesPath.split(path.sep).join(path.posix.sep);\n return `\n export const resources = ${JSON.stringify(resources)};\n export { permissions } from \"${normalizedPermissionsPath}\";\n export { scopes } from \"${normalizedScopesPath}\";\n `;\n },\n };\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +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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"}
|