wcz-layout 8.0.2 → 8.0.3
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 +133 -0
- package/dist/Approval-BSQHVGsm.js.map +1 -0
- package/dist/{DialogsContext-D5A8xncJ.js → DialogsContext-DkePghS6.js} +1 -1
- package/dist/{DialogsContext-D5A8xncJ.js.map → DialogsContext-DkePghS6.js.map} +1 -1
- package/dist/Email-D2SPExbn.js +20 -0
- package/dist/Email-D2SPExbn.js.map +1 -0
- package/dist/FileMeta--27aYkPB.js +19 -0
- package/dist/FileMeta--27aYkPB.js.map +1 -0
- package/dist/{FileMeta-fQnJ6uFX.d.ts → FileMeta-CQz1TMre.d.ts} +1 -1
- package/dist/{NotificationContext-DBTYc5z-.js → NotificationContext-FQRaNZRx.js} +1 -1
- package/dist/{NotificationContext-DBTYc5z-.js.map → NotificationContext-FQRaNZRx.js.map} +1 -1
- package/dist/{RouterListItemButton-rcdkgOXQ.js → RouterListItemButton-p9U4Z0SW.js} +1 -1
- package/dist/{RouterListItemButton-rcdkgOXQ.js.map → RouterListItemButton-p9U4Z0SW.js.map} +1 -1
- package/dist/{User-C21DoZOa.d.ts → User-B92WOpE2.d.ts} +1 -1
- package/dist/components.d.ts +12 -11
- package/dist/components.js +338 -299
- package/dist/components.js.map +1 -1
- package/dist/data/client.d.ts +3081 -0
- package/dist/data/client.js +188 -0
- package/dist/data/client.js.map +1 -0
- package/dist/data/server.d.ts +20 -0
- package/dist/data/server.js +22 -0
- package/dist/data/server.js.map +1 -0
- package/dist/env-szOeLEuD.js +31 -0
- package/dist/env-szOeLEuD.js.map +1 -0
- package/dist/file-B2VFf-iX.js +100 -0
- package/dist/file-B2VFf-iX.js.map +1 -0
- package/dist/file-DSohGVd1.js +149 -0
- package/dist/file-DSohGVd1.js.map +1 -0
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +3 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +2 -1
- package/dist/middleware.js.map +1 -1
- package/dist/models.d.ts +35 -6
- package/dist/models.js +4 -118
- package/dist/models.js.map +1 -1
- package/dist/{msalClient-MNN6BwL6.d.ts → msalClient-DZjYT_QJ.d.ts} +2 -2
- package/dist/msalServer-DwpEEthz.js +47 -0
- package/dist/msalServer-DwpEEthz.js.map +1 -0
- package/dist/peoplesoft-COFvPG-L.js +170 -0
- package/dist/peoplesoft-COFvPG-L.js.map +1 -0
- package/dist/peoplesoft-CzeJCaYK.d.ts +1081 -0
- package/dist/{queryClient-CAJR3qjE.js → queryClient-1OJ5Va3i.js} +1 -1
- package/dist/{queryClient-CAJR3qjE.js.map → queryClient-1OJ5Va3i.js.map} +1 -1
- package/dist/{useDialogs-BaxhulU9.js → useDialogs-DBcNu-LV.js} +2 -2
- package/dist/{useDialogs-BaxhulU9.js.map → useDialogs-DBcNu-LV.js.map} +1 -1
- package/dist/{utils-BBQ5S6oM.d.ts → utils-BM8-Efdl.d.ts} +2 -2
- package/dist/{utils-CqQKSaSs.js → utils-CBa4vtgn.js} +8 -37
- package/dist/utils-CBa4vtgn.js.map +1 -0
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +2 -46
- package/dist/vite.js.map +1 -1
- package/package.json +21 -14
- package/skills/auth/SKILL.md +268 -268
- package/dist/FileMeta-D9HyhrGi.js +0 -42
- package/dist/FileMeta-D9HyhrGi.js.map +0 -1
- package/dist/queries-JPqCc5Tb.js +0 -551
- package/dist/queries-JPqCc5Tb.js.map +0 -1
- package/dist/query.d.ts +0 -3052
- package/dist/query.js +0 -3
- package/dist/utils-CqQKSaSs.js.map +0 -1
- package/dist/utils.js.map +0 -1
package/dist/models.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { n as FileMetaSchema, t as FileMeta } from "./FileMeta-
|
|
1
|
+
import { n as FileMetaSchema, t as FileMeta } from "./FileMeta-CQz1TMre.js";
|
|
2
|
+
import { t as User } from "./User-B92WOpE2.js";
|
|
2
3
|
import z$1, { z } from "zod";
|
|
3
4
|
|
|
4
5
|
//#region src/models/email/Email.d.ts
|
|
@@ -159,7 +160,6 @@ declare const ApprovalSchema: z$1.ZodObject<{
|
|
|
159
160
|
Withdrawn: "Withdrawn";
|
|
160
161
|
Cancelled: "Cancelled";
|
|
161
162
|
}>;
|
|
162
|
-
emailBody: z$1.ZodString;
|
|
163
163
|
created: z$1.ZodDate;
|
|
164
164
|
createdBy: z$1.ZodCustom<{
|
|
165
165
|
employeeId: string;
|
|
@@ -170,8 +170,8 @@ declare const ApprovalSchema: z$1.ZodObject<{
|
|
|
170
170
|
name: string;
|
|
171
171
|
email: string;
|
|
172
172
|
}>;
|
|
173
|
-
updated: z$1.ZodDate
|
|
174
|
-
updatedBy: z$1.ZodCustom<{
|
|
173
|
+
updated: z$1.ZodOptional<z$1.ZodDate>;
|
|
174
|
+
updatedBy: z$1.ZodOptional<z$1.ZodCustom<{
|
|
175
175
|
employeeId: string;
|
|
176
176
|
name: string;
|
|
177
177
|
email: string;
|
|
@@ -179,7 +179,7 @@ declare const ApprovalSchema: z$1.ZodObject<{
|
|
|
179
179
|
employeeId: string;
|
|
180
180
|
name: string;
|
|
181
181
|
email: string;
|
|
182
|
-
}
|
|
182
|
+
}>>;
|
|
183
183
|
approvalFlows: z$1.ZodArray<z$1.ZodCustom<{
|
|
184
184
|
id: string;
|
|
185
185
|
approvalStage: number;
|
|
@@ -240,6 +240,18 @@ declare const ApprovalSchema: z$1.ZodObject<{
|
|
|
240
240
|
name: string;
|
|
241
241
|
email: string;
|
|
242
242
|
}>>;
|
|
243
|
+
coRequestors: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
|
|
244
|
+
id: z$1.ZodUUID;
|
|
245
|
+
employee: z$1.ZodCustom<{
|
|
246
|
+
employeeId: string;
|
|
247
|
+
name: string;
|
|
248
|
+
email: string;
|
|
249
|
+
}, {
|
|
250
|
+
employeeId: string;
|
|
251
|
+
name: string;
|
|
252
|
+
email: string;
|
|
253
|
+
}>;
|
|
254
|
+
}, z$1.core.$strip>>>;
|
|
243
255
|
}, z$1.core.$strip>;
|
|
244
256
|
type Approval = z$1.infer<typeof ApprovalSchema>;
|
|
245
257
|
declare const CreateApprovalSchema: z$1.ZodObject<{
|
|
@@ -248,6 +260,14 @@ declare const CreateApprovalSchema: z$1.ZodObject<{
|
|
|
248
260
|
Single: "Single";
|
|
249
261
|
Batch: "Batch";
|
|
250
262
|
}>>>;
|
|
263
|
+
status: z$1.ZodEnum<{
|
|
264
|
+
WaitingForApproval: "WaitingForApproval";
|
|
265
|
+
Approved: "Approved";
|
|
266
|
+
PartiallyApproved: "PartiallyApproved";
|
|
267
|
+
Rejected: "Rejected";
|
|
268
|
+
Withdrawn: "Withdrawn";
|
|
269
|
+
Cancelled: "Cancelled";
|
|
270
|
+
}>;
|
|
251
271
|
id: z$1.ZodUUID;
|
|
252
272
|
applicationName: z$1.ZodString;
|
|
253
273
|
emailBody: z$1.ZodString;
|
|
@@ -268,6 +288,15 @@ declare const CreateApprovalSchema: z$1.ZodObject<{
|
|
|
268
288
|
approverRole: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodString>>;
|
|
269
289
|
}, z$1.core.$strip>>;
|
|
270
290
|
}, z$1.core.$strip>>;
|
|
291
|
+
coRequestors: z$1.ZodOptional<z$1.ZodArray<z$1.ZodCustom<{
|
|
292
|
+
employeeId: string;
|
|
293
|
+
name: string;
|
|
294
|
+
email: string;
|
|
295
|
+
}, {
|
|
296
|
+
employeeId: string;
|
|
297
|
+
name: string;
|
|
298
|
+
email: string;
|
|
299
|
+
}>>>;
|
|
271
300
|
}, z$1.core.$strip>;
|
|
272
301
|
type CreateApproval = z$1.infer<typeof CreateApprovalSchema>;
|
|
273
302
|
declare const ApproveApprovalSchema: z$1.ZodObject<{
|
|
@@ -443,5 +472,5 @@ declare const StepApprovalOrder: z$1.ZodEnum<{
|
|
|
443
472
|
OneOfThem: "OneOfThem";
|
|
444
473
|
}>;
|
|
445
474
|
//#endregion
|
|
446
|
-
export { type Approval, type ApprovalEmployee, ApprovalEmployeeSchema, type ApprovalFlow, ApprovalFlowSchema, type ApprovalFlowStep, ApprovalFlowStepSchema, type ApprovalRequestType, ApprovalSchema, type ApprovalStatus, type ApprovalStepResult, type ApproveApproval, ApproveApprovalSchema, type CancelApproval, CancelApprovalSchema, type CreateApproval, CreateApprovalSchema, type Department, DepartmentSchema, type Email, type EmailAttachment, EmailAttachmentSchema, EmailSchema, type Employee, type EmployeeCategoryGroup, EmployeeSchema, type EmployeeStatus, type FileMeta, FileMetaSchema, type ResubmitApproval, ResubmitApprovalSchema, type StepApprovalOrder, type WithdrawApproval, WithdrawApprovalSchema };
|
|
475
|
+
export { type Approval, type ApprovalEmployee, ApprovalEmployeeSchema, type ApprovalFlow, ApprovalFlowSchema, type ApprovalFlowStep, ApprovalFlowStepSchema, type ApprovalRequestType, ApprovalSchema, type ApprovalStatus, type ApprovalStepResult, type ApproveApproval, ApproveApprovalSchema, type CancelApproval, CancelApprovalSchema, type CreateApproval, CreateApprovalSchema, type Department, DepartmentSchema, type Email, type EmailAttachment, EmailAttachmentSchema, EmailSchema, type Employee, type EmployeeCategoryGroup, EmployeeSchema, type EmployeeStatus, type FileMeta, FileMetaSchema, type ResubmitApproval, ResubmitApprovalSchema, type StepApprovalOrder, type User, type WithdrawApproval, WithdrawApprovalSchema };
|
|
447
476
|
//# sourceMappingURL=models.d.ts.map
|
package/dist/models.js
CHANGED
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
appName: z$1.string().trim().min(1).max(100),
|
|
6
|
-
subId: z$1.uuid()
|
|
7
|
-
});
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/models/email/Email.ts
|
|
10
|
-
const EmailSchema = z$1.object({
|
|
11
|
-
subject: z$1.string().trim().min(1).max(60),
|
|
12
|
-
body: z$1.string().trim().min(1),
|
|
13
|
-
to: z$1.array(z$1.email()).min(1),
|
|
14
|
-
bcc: z$1.array(z$1.email()).optional(),
|
|
15
|
-
cc: z$1.array(z$1.email()).optional(),
|
|
16
|
-
attachments: z$1.array(EmailAttachmentSchema).optional()
|
|
17
|
-
});
|
|
18
|
-
//#endregion
|
|
1
|
+
import { t as FileMetaSchema } from "./FileMeta--27aYkPB.js";
|
|
2
|
+
import { n as EmailAttachmentSchema, t as EmailSchema } from "./Email-D2SPExbn.js";
|
|
3
|
+
import { a as ResubmitApprovalSchema, c as ApprovalFlowStepSchema, d as ApprovalFlowSchema, i as CreateApprovalSchema, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, t as ApprovalSchema, u as ApprovalEmployeeSchema } from "./Approval-BSQHVGsm.js";
|
|
4
|
+
import z$1 from "zod";
|
|
19
5
|
//#region src/models/peoplesoft/EmployeeCategoryGroup.ts
|
|
20
6
|
const EmployeeCategoryGroup = z$1.enum([
|
|
21
7
|
"IDL",
|
|
@@ -83,106 +69,6 @@ const DepartmentSchema = z$1.object({
|
|
|
83
69
|
manager: EmployeeSchema
|
|
84
70
|
});
|
|
85
71
|
//#endregion
|
|
86
|
-
//#region src/models/approval/StepApprovalOrder.ts
|
|
87
|
-
const StepApprovalOrder = z$1.enum([
|
|
88
|
-
"Serial",
|
|
89
|
-
"Parallel",
|
|
90
|
-
"OneOfThem"
|
|
91
|
-
]);
|
|
92
|
-
//#endregion
|
|
93
|
-
//#region src/models/approval/ApprovalFlow.ts
|
|
94
|
-
const ApprovalFlowSchema = z.object({
|
|
95
|
-
id: z.uuid(),
|
|
96
|
-
approvalStage: z.number(),
|
|
97
|
-
batchSequence: z.number().optional(),
|
|
98
|
-
approvalSequence: z.number(),
|
|
99
|
-
stepApprovalOrder: StepApprovalOrder,
|
|
100
|
-
steps: z.array(z.custom()),
|
|
101
|
-
isActive: z.boolean().default(false).optional()
|
|
102
|
-
});
|
|
103
|
-
//#endregion
|
|
104
|
-
//#region src/models/approval/ApprovalEmployee.ts
|
|
105
|
-
const ApprovalEmployeeSchema = z.object({
|
|
106
|
-
employeeId: z.string().trim().min(1).max(20),
|
|
107
|
-
name: z.string().trim().min(1).max(50),
|
|
108
|
-
email: z.email().min(1).max(100)
|
|
109
|
-
});
|
|
110
|
-
//#endregion
|
|
111
|
-
//#region src/models/approval/ApprovalFlowStep.ts
|
|
112
|
-
const ApprovalFlowStepSchema = z.object({
|
|
113
|
-
id: z.uuid(),
|
|
114
|
-
order: z.number(),
|
|
115
|
-
approverRole: z.string().trim().min(1).max(100).default("Approver").optional(),
|
|
116
|
-
approver: ApprovalEmployeeSchema,
|
|
117
|
-
actualApprover: ApprovalEmployeeSchema.optional(),
|
|
118
|
-
result: ApprovalStepResult.default("NotAvailable").optional(),
|
|
119
|
-
resultDate: z.date().optional(),
|
|
120
|
-
resultComment: z.string().trim().max(2e3).optional()
|
|
121
|
-
});
|
|
122
|
-
//#endregion
|
|
123
|
-
//#region src/models/approval/ApprovalRequestType.ts
|
|
124
|
-
const ApprovalRequestType = z$1.enum(["Single", "Batch"]);
|
|
125
|
-
//#endregion
|
|
126
|
-
//#region src/models/approval/Approval.ts
|
|
127
|
-
const ApprovalSchema = z$1.object({
|
|
128
|
-
id: z$1.uuid(),
|
|
129
|
-
number: z$1.string().trim().max(30).optional(),
|
|
130
|
-
applicationName: z$1.string().trim().min(1).max(50),
|
|
131
|
-
type: ApprovalRequestType.default("Single").optional(),
|
|
132
|
-
status: ApprovalStatus,
|
|
133
|
-
emailBody: z$1.string().trim().min(1),
|
|
134
|
-
created: z$1.date(),
|
|
135
|
-
createdBy: z$1.custom(),
|
|
136
|
-
updated: z$1.date(),
|
|
137
|
-
updatedBy: z$1.custom(),
|
|
138
|
-
approvalFlows: z$1.array(z$1.custom()).min(1),
|
|
139
|
-
currentApprovers: z$1.array(z$1.custom())
|
|
140
|
-
});
|
|
141
|
-
const CreateApprovalSchema = ApprovalSchema.pick({
|
|
142
|
-
id: true,
|
|
143
|
-
number: true,
|
|
144
|
-
applicationName: true,
|
|
145
|
-
type: true,
|
|
146
|
-
emailBody: true,
|
|
147
|
-
approvalFlows: true
|
|
148
|
-
}).extend({ approvalFlows: z$1.array(ApprovalFlowSchema.pick({
|
|
149
|
-
approvalStage: true,
|
|
150
|
-
batchSequence: true,
|
|
151
|
-
stepApprovalOrder: true,
|
|
152
|
-
steps: true
|
|
153
|
-
}).extend({ steps: z$1.array(ApprovalFlowStepSchema.pick({
|
|
154
|
-
approverRole: true,
|
|
155
|
-
approver: true
|
|
156
|
-
})) })).min(1) });
|
|
157
|
-
const ApproveApprovalSchema = z$1.object({
|
|
158
|
-
id: z$1.uuid(),
|
|
159
|
-
result: ApprovalStepResult,
|
|
160
|
-
resultComment: z$1.string().trim().max(2e3).optional(),
|
|
161
|
-
emailBody: z$1.string().trim().min(1)
|
|
162
|
-
});
|
|
163
|
-
const ResubmitApprovalSchema = ApprovalSchema.pick({
|
|
164
|
-
id: true,
|
|
165
|
-
approvalFlows: true
|
|
166
|
-
}).extend({ approvalFlows: z$1.array(ApprovalFlowSchema.pick({
|
|
167
|
-
approvalStage: true,
|
|
168
|
-
batchSequence: true,
|
|
169
|
-
stepApprovalOrder: true,
|
|
170
|
-
steps: true
|
|
171
|
-
}).extend({ steps: z$1.array(ApprovalFlowStepSchema.pick({
|
|
172
|
-
approverRole: true,
|
|
173
|
-
approver: true
|
|
174
|
-
})) })).min(1) });
|
|
175
|
-
const CancelApprovalSchema = z$1.object({
|
|
176
|
-
id: z$1.uuid(),
|
|
177
|
-
comment: z$1.string().trim().min(1).max(2e3),
|
|
178
|
-
emailBody: z$1.string().trim().min(1)
|
|
179
|
-
});
|
|
180
|
-
const WithdrawApprovalSchema = z$1.object({
|
|
181
|
-
id: z$1.uuid(),
|
|
182
|
-
comment: z$1.string().trim().min(1).max(2e3),
|
|
183
|
-
emailBody: z$1.string().trim().min(1)
|
|
184
|
-
});
|
|
185
|
-
//#endregion
|
|
186
72
|
export { ApprovalEmployeeSchema, ApprovalFlowSchema, ApprovalFlowStepSchema, ApprovalSchema, ApproveApprovalSchema, CancelApprovalSchema, CreateApprovalSchema, DepartmentSchema, EmailAttachmentSchema, EmailSchema, EmployeeSchema, FileMetaSchema, ResubmitApprovalSchema, WithdrawApprovalSchema };
|
|
187
73
|
|
|
188
74
|
//# sourceMappingURL=models.js.map
|
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","names":["z","EmailAttachmentSchema","object","appName","string","trim","min","max","subId","uuid","EmailAttachment","infer","z","EmailAttachmentSchema","EmailSchema","object","subject","string","trim","min","max","body","to","array","email","bcc","optional","cc","attachments","Email","infer","z","EmployeeCategoryGroup","enum","z","EmployeeStatus","enum","z","EmployeeCategoryGroup","EmployeeStatus","EmployeeSchema","object","badgeId","string","trim","category","categoryGroup","companyCode","contactPhone","departmentId","departmentDescription","emailString","employeeId","extensionNumber","firstName","gender","hiredDate","date","lastName","managerId","middleName","name","nameTitleCase","nfcSn","plantId","position","previousEmployeeIds","nullable","reHiredDate","recordNumber","number","status","supervisorId","terminationDate","terminationFutureDate","type","upperDepartmentId","jobCode","jobDescription","terminationReason","supervisorRecordNumber","Employee","infer","z","EmployeeSchema","DepartmentSchema","object","departmentId","string","trim","description","managerId","managerRecordNumber","treeLevel","number","upperDepartmentId","companyCode","location","salLocation","plantId","manager","Department","infer","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","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","ApprovalFlowSchema","ApprovalFlowStepSchema","ApprovalRequestType","ApprovalStatus","ApprovalStepResult","ApprovalFlow","ApprovalEmployee","ApprovalSchema","object","id","uuid","number","string","trim","max","optional","applicationName","min","type","default","status","emailBody","created","date","createdBy","custom","updated","updatedBy","approvalFlows","array","currentApprovers","Approval","infer","CreateApprovalSchema","pick","extend","approvalStage","batchSequence","stepApprovalOrder","steps","approverRole","approver","CreateApproval","ApproveApprovalSchema","result","resultComment","ApproveApproval","ResubmitApprovalSchema","ResubmitApproval","CancelApprovalSchema","comment","CancelApproval","WithdrawApprovalSchema","WithdrawApproval"],"sources":["../src/models/email/EmailAttachment.ts","../src/models/email/Email.ts","../src/models/peoplesoft/EmployeeCategoryGroup.ts","../src/models/peoplesoft/EmployeeStatus.ts","../src/models/peoplesoft/Employee.ts","../src/models/peoplesoft/Department.ts","../src/models/approval/StepApprovalOrder.ts","../src/models/approval/ApprovalFlow.ts","../src/models/approval/ApprovalEmployee.ts","../src/models/approval/ApprovalFlowStep.ts","../src/models/approval/ApprovalRequestType.ts","../src/models/approval/Approval.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const EmailAttachmentSchema = z.object({\n appName: z.string().trim().min(1).max(100),\n subId: z.uuid(),\n});\n\nexport type EmailAttachment = z.infer<typeof EmailAttachmentSchema>;\n","import z from \"zod\";\nimport { EmailAttachmentSchema } from \"./EmailAttachment\";\n\nexport const EmailSchema = z.object({\n subject: z.string().trim().min(1).max(60),\n body: z.string().trim().min(1),\n to: z.array(z.email()).min(1),\n bcc: z.array(z.email()).optional(),\n cc: z.array(z.email()).optional(),\n attachments: z.array(EmailAttachmentSchema).optional(),\n});\n\nexport type Email = z.infer<typeof EmailSchema>;\n","import z from \"zod\";\n\nexport const EmployeeCategoryGroup = z.enum([\"IDL\", \"FD\", \"FI\"]);\n","import z from \"zod\";\n\nexport const EmployeeStatus = z.enum([\"Active\", \"Terminated\", \"Leave of Absence\"]);\n","import z from \"zod\";\nimport { EmployeeCategoryGroup } from \"./EmployeeCategoryGroup\";\nimport { EmployeeStatus } from \"./EmployeeStatus\";\n\nexport const EmployeeSchema = z.object({\n badgeId: z.string().trim(),\n category: z.string().trim(),\n categoryGroup: EmployeeCategoryGroup,\n companyCode: z.string().trim(),\n contactPhone: z.string().trim(),\n departmentId: z.string().trim(),\n departmentDescription: z.string().trim(),\n emailString: z.string().trim(),\n employeeId: z.string().trim(),\n extensionNumber: z.string().trim(),\n firstName: z.string().trim(),\n gender: z.string().trim(),\n hiredDate: z.date(),\n lastName: z.string().trim(),\n managerId: z.string().trim(),\n middleName: z.string().trim(),\n name: z.string().trim(),\n nameTitleCase: z.string().trim(),\n nfcSn: z.string().trim(),\n plantId: z.string().trim(),\n position: z.string().trim(),\n previousEmployeeIds: z.string().trim().nullable(),\n reHiredDate: z.date().nullable(),\n recordNumber: z.number(),\n status: EmployeeStatus,\n supervisorId: z.string().trim(),\n terminationDate: z.date().nullable(),\n terminationFutureDate: z.date().nullable(),\n type: z.string().trim(),\n upperDepartmentId: z.string().trim(),\n jobCode: z.string().trim(),\n jobDescription: z.string().trim(),\n terminationReason: z.string().trim().nullable(),\n supervisorRecordNumber: z.number(),\n});\n\nexport type Employee = z.infer<typeof EmployeeSchema>;\n","import z from \"zod\";\nimport { EmployeeSchema } from \"./Employee\";\n\nexport const DepartmentSchema = z.object({\n departmentId: z.string().trim(),\n description: z.string().trim(),\n managerId: z.string().trim(),\n managerRecordNumber: z.string().trim(),\n treeLevel: z.number(),\n upperDepartmentId: z.string().trim(),\n companyCode: z.string().trim(),\n location: z.string().trim(),\n salLocation: z.string().trim(),\n plantId: z.string().trim(),\n manager: EmployeeSchema,\n});\n\nexport type Department = z.infer<typeof DepartmentSchema>;\n","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\";\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\";\nimport { ApprovalFlowSchema } from \"./ApprovalFlow\";\nimport { ApprovalFlowStepSchema } from \"./ApprovalFlowStep\";\nimport { ApprovalRequestType } from \"./ApprovalRequestType\";\nimport { ApprovalStatus } from \"./ApprovalStatus\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\nimport type { ApprovalFlow } from \"./ApprovalFlow\";\nimport type { ApprovalEmployee } from \"./ApprovalEmployee\";\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 emailBody: z.string().trim().min(1),\n created: z.date(),\n createdBy: z.custom<ApprovalEmployee>(),\n updated: z.date(),\n updatedBy: z.custom<ApprovalEmployee>(),\n approvalFlows: z.array(z.custom<ApprovalFlow>()).min(1),\n currentApprovers: z.array(z.custom<ApprovalEmployee>()),\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 emailBody: 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 CreateApproval = z.infer<typeof CreateApprovalSchema>;\n\n// Single Approval\nexport const ApproveApprovalSchema = z.object({\n id: z.uuid(),\n result: ApprovalStepResult,\n resultComment: z.string().trim().max(2000).optional(),\n emailBody: z.string().trim().min(1),\n});\n\nexport type ApproveApproval = z.infer<typeof ApproveApprovalSchema>;\n\n// Resubmit Approval\nexport const ResubmitApprovalSchema = ApprovalSchema.pick({\n id: true,\n approvalFlows: true,\n}).extend({\n approvalFlows: z\n .array(\n ApprovalFlowSchema.pick({\n approvalStage: true,\n batchSequence: true,\n stepApprovalOrder: true,\n steps: true,\n }).extend({\n steps: z.array(\n ApprovalFlowStepSchema.pick({\n approverRole: true,\n approver: true,\n }),\n ),\n }),\n )\n .min(1),\n});\n\nexport type ResubmitApproval = z.infer<typeof ResubmitApprovalSchema>;\n\n// Cancel Approval\nexport const CancelApprovalSchema = z.object({\n id: z.uuid(),\n comment: z.string().trim().min(1).max(2000),\n emailBody: z.string().trim().min(1),\n});\n\nexport type CancelApproval = z.infer<typeof CancelApprovalSchema>;\n\n// Withdraw Approval\nexport const WithdrawApprovalSchema = z.object({\n id: z.uuid(),\n comment: z.string().trim().min(1).max(2000),\n emailBody: z.string().trim().min(1),\n});\n\nexport type WithdrawApproval = z.infer<typeof WithdrawApprovalSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","names":["z","EmployeeCategoryGroup","enum","z","EmployeeStatus","enum","z","EmployeeCategoryGroup","EmployeeStatus","EmployeeSchema","object","badgeId","string","trim","category","categoryGroup","companyCode","contactPhone","departmentId","departmentDescription","emailString","employeeId","extensionNumber","firstName","gender","hiredDate","date","lastName","managerId","middleName","name","nameTitleCase","nfcSn","plantId","position","previousEmployeeIds","nullable","reHiredDate","recordNumber","number","status","supervisorId","terminationDate","terminationFutureDate","type","upperDepartmentId","jobCode","jobDescription","terminationReason","supervisorRecordNumber","Employee","infer","z","EmployeeSchema","DepartmentSchema","object","departmentId","string","trim","description","managerId","managerRecordNumber","treeLevel","number","upperDepartmentId","companyCode","location","salLocation","plantId","manager","Department","infer"],"sources":["../src/models/peoplesoft/EmployeeCategoryGroup.ts","../src/models/peoplesoft/EmployeeStatus.ts","../src/models/peoplesoft/Employee.ts","../src/models/peoplesoft/Department.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const EmployeeCategoryGroup = z.enum([\"IDL\", \"FD\", \"FI\"]);\n","import z from \"zod\";\n\nexport const EmployeeStatus = z.enum([\"Active\", \"Terminated\", \"Leave of Absence\"]);\n","import z from \"zod\";\nimport { EmployeeCategoryGroup } from \"./EmployeeCategoryGroup\";\nimport { EmployeeStatus } from \"./EmployeeStatus\";\n\nexport const EmployeeSchema = z.object({\n badgeId: z.string().trim(),\n category: z.string().trim(),\n categoryGroup: EmployeeCategoryGroup,\n companyCode: z.string().trim(),\n contactPhone: z.string().trim(),\n departmentId: z.string().trim(),\n departmentDescription: z.string().trim(),\n emailString: z.string().trim(),\n employeeId: z.string().trim(),\n extensionNumber: z.string().trim(),\n firstName: z.string().trim(),\n gender: z.string().trim(),\n hiredDate: z.date(),\n lastName: z.string().trim(),\n managerId: z.string().trim(),\n middleName: z.string().trim(),\n name: z.string().trim(),\n nameTitleCase: z.string().trim(),\n nfcSn: z.string().trim(),\n plantId: z.string().trim(),\n position: z.string().trim(),\n previousEmployeeIds: z.string().trim().nullable(),\n reHiredDate: z.date().nullable(),\n recordNumber: z.number(),\n status: EmployeeStatus,\n supervisorId: z.string().trim(),\n terminationDate: z.date().nullable(),\n terminationFutureDate: z.date().nullable(),\n type: z.string().trim(),\n upperDepartmentId: z.string().trim(),\n jobCode: z.string().trim(),\n jobDescription: z.string().trim(),\n terminationReason: z.string().trim().nullable(),\n supervisorRecordNumber: z.number(),\n});\n\nexport type Employee = z.infer<typeof EmployeeSchema>;\n","import z from \"zod\";\nimport { EmployeeSchema } from \"./Employee\";\n\nexport const DepartmentSchema = z.object({\n departmentId: z.string().trim(),\n description: z.string().trim(),\n managerId: z.string().trim(),\n managerRecordNumber: z.string().trim(),\n treeLevel: z.number(),\n upperDepartmentId: z.string().trim(),\n companyCode: z.string().trim(),\n location: z.string().trim(),\n salLocation: z.string().trim(),\n plantId: z.string().trim(),\n manager: EmployeeSchema,\n});\n\nexport type Department = z.infer<typeof DepartmentSchema>;\n"],"mappings":";;;;;AAEA,MAAaC,wBAAwBD,IAAEE,KAAK;CAAC;CAAO;CAAM;CAAK,CAAC;;;ACAhE,MAAaE,iBAAiBD,IAAEE,KAAK;CAAC;CAAU;CAAc;CAAmB,CAAC;;;ACElF,MAAaI,iBAAiBH,IAAEI,OAAO;CACrCC,SAASL,IAAEM,QAAQ,CAACC,MAAM;CAC1BC,UAAUR,IAAEM,QAAQ,CAACC,MAAM;CAC3BE,eAAeR;CACfS,aAAaV,IAAEM,QAAQ,CAACC,MAAM;CAC9BI,cAAcX,IAAEM,QAAQ,CAACC,MAAM;CAC/BK,cAAcZ,IAAEM,QAAQ,CAACC,MAAM;CAC/BM,uBAAuBb,IAAEM,QAAQ,CAACC,MAAM;CACxCO,aAAad,IAAEM,QAAQ,CAACC,MAAM;CAC9BQ,YAAYf,IAAEM,QAAQ,CAACC,MAAM;CAC7BS,iBAAiBhB,IAAEM,QAAQ,CAACC,MAAM;CAClCU,WAAWjB,IAAEM,QAAQ,CAACC,MAAM;CAC5BW,QAAQlB,IAAEM,QAAQ,CAACC,MAAM;CACzBY,WAAWnB,IAAEoB,MAAM;CACnBC,UAAUrB,IAAEM,QAAQ,CAACC,MAAM;CAC3Be,WAAWtB,IAAEM,QAAQ,CAACC,MAAM;CAC5BgB,YAAYvB,IAAEM,QAAQ,CAACC,MAAM;CAC7BiB,MAAMxB,IAAEM,QAAQ,CAACC,MAAM;CACvBkB,eAAezB,IAAEM,QAAQ,CAACC,MAAM;CAChCmB,OAAO1B,IAAEM,QAAQ,CAACC,MAAM;CACxBoB,SAAS3B,IAAEM,QAAQ,CAACC,MAAM;CAC1BqB,UAAU5B,IAAEM,QAAQ,CAACC,MAAM;CAC3BsB,qBAAqB7B,IAAEM,QAAQ,CAACC,MAAM,CAACuB,UAAU;CACjDC,aAAa/B,IAAEoB,MAAM,CAACU,UAAU;CAChCE,cAAchC,IAAEiC,QAAQ;CACxBC,QAAQhC;CACRiC,cAAcnC,IAAEM,QAAQ,CAACC,MAAM;CAC/B6B,iBAAiBpC,IAAEoB,MAAM,CAACU,UAAU;CACpCO,uBAAuBrC,IAAEoB,MAAM,CAACU,UAAU;CAC1CQ,MAAMtC,IAAEM,QAAQ,CAACC,MAAM;CACvBgC,mBAAmBvC,IAAEM,QAAQ,CAACC,MAAM;CACpCiC,SAASxC,IAAEM,QAAQ,CAACC,MAAM;CAC1BkC,gBAAgBzC,IAAEM,QAAQ,CAACC,MAAM;CACjCmC,mBAAmB1C,IAAEM,QAAQ,CAACC,MAAM,CAACuB,UAAU;CAC/Ca,wBAAwB3C,IAAEiC,QAAO;CAClC,CAAC;;;ACpCF,MAAae,mBAAmBF,IAAEG,OAAO;CACvCC,cAAcJ,IAAEK,QAAQ,CAACC,MAAM;CAC/BC,aAAaP,IAAEK,QAAQ,CAACC,MAAM;CAC9BE,WAAWR,IAAEK,QAAQ,CAACC,MAAM;CAC5BG,qBAAqBT,IAAEK,QAAQ,CAACC,MAAM;CACtCI,WAAWV,IAAEW,QAAQ;CACrBC,mBAAmBZ,IAAEK,QAAQ,CAACC,MAAM;CACpCO,aAAab,IAAEK,QAAQ,CAACC,MAAM;CAC9BQ,UAAUd,IAAEK,QAAQ,CAACC,MAAM;CAC3BS,aAAaf,IAAEK,QAAQ,CAACC,MAAM;CAC9BU,SAAShB,IAAEK,QAAQ,CAACC,MAAM;CAC1BW,SAAShB;CACV,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as User } from "./User-
|
|
1
|
+
import { t as User } from "./User-B92WOpE2.js";
|
|
2
2
|
import { scopes } from "virtual:wcz-layout";
|
|
3
3
|
import { NavigationClient, PublicClientApplication } from "@azure/msal-browser";
|
|
4
4
|
import { useNavigate } from "@tanstack/react-router";
|
|
@@ -13,4 +13,4 @@ declare const getUser: _$_tanstack_start_fn_stubs0.IsomorphicFn<[], null, Promis
|
|
|
13
13
|
declare const getAccessToken: (scopeKey: keyof typeof scopes) => Promise<string>;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { getUser as n, getAccessToken as t };
|
|
16
|
-
//# sourceMappingURL=msalClient-
|
|
16
|
+
//# sourceMappingURL=msalClient-DZjYT_QJ.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { n as serverEnv } from "./env-szOeLEuD.js";
|
|
2
|
+
import { scopes } from "virtual:wcz-layout";
|
|
3
|
+
import { createServerOnlyFn } from "@tanstack/react-start";
|
|
4
|
+
import { ConfidentialClientApplication } from "@azure/msal-node";
|
|
5
|
+
//#region src/lib/auth/msalServer.ts
|
|
6
|
+
let ccaInstance = null;
|
|
7
|
+
function getCCA() {
|
|
8
|
+
ccaInstance ??= new ConfidentialClientApplication({ auth: {
|
|
9
|
+
clientId: serverEnv.ENTRA_CLIENT_ID,
|
|
10
|
+
clientSecret: serverEnv.ENTRA_CLIENT_SECRET,
|
|
11
|
+
authority: `https://login.microsoftonline.com/${serverEnv.ENTRA_TENANT_ID}`
|
|
12
|
+
} });
|
|
13
|
+
return ccaInstance;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* On-Behalf-Of flow: Exchange user token for a token to call downstream API
|
|
17
|
+
* Use when: Server needs to call microservice on behalf of the logged-in user
|
|
18
|
+
*/
|
|
19
|
+
const getTokenOnBehalfOf = createServerOnlyFn(async (userToken, scopeKey) => {
|
|
20
|
+
const cca = getCCA();
|
|
21
|
+
const scopes$1 = [...scopes[scopeKey]];
|
|
22
|
+
const result = await cca.acquireTokenOnBehalfOf({
|
|
23
|
+
oboAssertion: userToken,
|
|
24
|
+
scopes: scopes$1
|
|
25
|
+
});
|
|
26
|
+
if (!result) throw new Error("Failed to acquire OBO token");
|
|
27
|
+
return result.accessToken;
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Client Credentials flow: Get app-only token (no user context)
|
|
31
|
+
* Use when: Background jobs, scheduled tasks, service-to-service calls
|
|
32
|
+
*/
|
|
33
|
+
const getAppToken = createServerOnlyFn(async (scopeKey) => {
|
|
34
|
+
const cca = getCCA();
|
|
35
|
+
const defaultScopes = scopes[scopeKey].map((scope) => {
|
|
36
|
+
const lastSlash = scope.lastIndexOf("/");
|
|
37
|
+
return `${scope.substring(0, lastSlash)}/.default`;
|
|
38
|
+
});
|
|
39
|
+
const uniqueScopes = [...new Set(defaultScopes)];
|
|
40
|
+
const result = await cca.acquireTokenByClientCredential({ scopes: uniqueScopes });
|
|
41
|
+
if (!result) throw new Error("Failed to acquire app token");
|
|
42
|
+
return result.accessToken;
|
|
43
|
+
});
|
|
44
|
+
//#endregion
|
|
45
|
+
export { getTokenOnBehalfOf as n, getAppToken as t };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=msalServer-DwpEEthz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msalServer-DwpEEthz.js","names":["createServerOnlyFn","ConfidentialClientApplication","scopes","definedScopes","serverEnv","ccaInstance","getCCA","auth","clientId","ENTRA_CLIENT_ID","clientSecret","ENTRA_CLIENT_SECRET","authority","ENTRA_TENANT_ID","getTokenOnBehalfOf","userToken","scopeKey","Promise","cca","result","acquireTokenOnBehalfOf","oboAssertion","Error","accessToken","getAppToken","defaultScopes","map","scope","lastSlash","lastIndexOf","baseUri","substring","uniqueScopes","Set","acquireTokenByClientCredential"],"sources":["../src/lib/auth/msalServer.ts"],"sourcesContent":["import { createServerOnlyFn } from \"@tanstack/react-start\";\nimport { ConfidentialClientApplication } from \"@azure/msal-node\";\nimport { scopes as definedScopes } from \"virtual:wcz-layout\";\nimport { serverEnv } from \"~/env\";\n\n// Singleton instance for server\nlet ccaInstance: ConfidentialClientApplication | null = null;\nfunction getCCA(): ConfidentialClientApplication {\n ccaInstance ??= new ConfidentialClientApplication({\n auth: {\n clientId: serverEnv.ENTRA_CLIENT_ID,\n clientSecret: serverEnv.ENTRA_CLIENT_SECRET,\n authority: `https://login.microsoftonline.com/${serverEnv.ENTRA_TENANT_ID}`,\n },\n });\n return ccaInstance;\n}\n\n/**\n * On-Behalf-Of flow: Exchange user token for a token to call downstream API\n * Use when: Server needs to call microservice on behalf of the logged-in user\n */\nexport const getTokenOnBehalfOf = createServerOnlyFn(\n async (userToken: string, scopeKey: keyof typeof definedScopes): Promise<string> => {\n const cca = getCCA();\n const scopes = [...definedScopes[scopeKey]];\n const result = await cca.acquireTokenOnBehalfOf({\n oboAssertion: userToken,\n scopes,\n });\n if (!result) throw new Error(\"Failed to acquire OBO token\");\n return result.accessToken;\n },\n);\n\n/**\n * Client Credentials flow: Get app-only token (no user context)\n * Use when: Background jobs, scheduled tasks, service-to-service calls\n */\nexport const getAppToken = createServerOnlyFn(\n async (scopeKey: keyof typeof definedScopes): Promise<string> => {\n const cca = getCCA();\n const scopes = definedScopes[scopeKey];\n const defaultScopes = scopes.map((scope) => {\n const lastSlash = scope.lastIndexOf(\"/\");\n const baseUri = scope.substring(0, lastSlash);\n return `${baseUri}/.default`;\n });\n const uniqueScopes = [...new Set(defaultScopes)];\n const result = await cca.acquireTokenByClientCredential({ scopes: uniqueScopes });\n if (!result) throw new Error(\"Failed to acquire app token\");\n return result.accessToken;\n },\n);\n"],"mappings":";;;;;AAMA,IAAIK,cAAoD;AACxD,SAASC,SAAwC;AAC/CD,iBAAgB,IAAIJ,8BAA8B,EAChDM,MAAM;EACJC,UAAUJ,UAAUK;EACpBC,cAAcN,UAAUO;EACxBC,WAAW,qCAAqCR,UAAUS;EAC5D,EACD,CAAC;AACF,QAAOR;;;;;;AAOT,MAAaS,qBAAqBd,mBAChC,OAAOe,WAAmBC,aAA0D;CAClF,MAAME,MAAMZ,QAAQ;CACpB,MAAMJ,WAAS,CAAC,GAAGC,OAAca,UAAU;CAC3C,MAAMG,SAAS,MAAMD,IAAIE,uBAAuB;EAC9CC,cAAcN;EACdb,QAAAA;EACD,CAAC;AACF,KAAI,CAACiB,OAAQ,OAAM,IAAIG,MAAM,8BAA8B;AAC3D,QAAOH,OAAOI;EAEjB;;;;;AAMD,MAAaC,cAAcxB,mBACzB,OAAOgB,aAA0D;CAC/D,MAAME,MAAMZ,QAAQ;CAEpB,MAAMmB,gBADStB,OAAca,UACAU,KAAKC,UAAU;EAC1C,MAAMC,YAAYD,MAAME,YAAY,IAAI;AAExC,SAAO,GADSF,MAAMI,UAAU,GAAGH,UAClB,CAAA;GACjB;CACF,MAAMI,eAAe,CAAC,GAAG,IAAIC,IAAIR,cAAc,CAAC;CAChD,MAAMN,SAAS,MAAMD,IAAIgB,+BAA+B,EAAEhC,QAAQ8B,cAAc,CAAC;AACjF,KAAI,CAACb,OAAQ,OAAM,IAAIG,MAAM,8BAA8B;AAC3D,QAAOH,OAAOI;EAEjB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { n as serverEnv } from "./env-szOeLEuD.js";
|
|
2
|
+
import { p as createExternalApi } from "./file-DSohGVd1.js";
|
|
3
|
+
import { a as ResubmitApprovalSchema, i as CreateApprovalSchema, l as ApprovalStepResult, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, s as ApprovalStatus } from "./Approval-BSQHVGsm.js";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { createServerFn, createServerOnlyFn } from "@tanstack/react-start";
|
|
6
|
+
//#region src/queries/server/approval.ts
|
|
7
|
+
let approvalApi = null;
|
|
8
|
+
const getApprovalApi = createServerOnlyFn(() => {
|
|
9
|
+
approvalApi ??= createExternalApi(serverEnv.APPROVAL_BASE_URL, "approval");
|
|
10
|
+
return approvalApi;
|
|
11
|
+
});
|
|
12
|
+
const GetApprovalsSchema = z.object({
|
|
13
|
+
appName: z.string().min(1).max(255),
|
|
14
|
+
status: ApprovalStatus.optional(),
|
|
15
|
+
approverEmployeeId: z.string().min(1).max(20).optional(),
|
|
16
|
+
stepResult: ApprovalStepResult.optional()
|
|
17
|
+
});
|
|
18
|
+
const GetApprovalSchema = z.object({ id: z.uuid() });
|
|
19
|
+
const getApprovals = createServerFn({ method: "GET" }).inputValidator(GetApprovalsSchema).handler(async ({ data }) => {
|
|
20
|
+
const api = getApprovalApi();
|
|
21
|
+
const queryParams = new URLSearchParams();
|
|
22
|
+
queryParams.append("applicationName", data.appName);
|
|
23
|
+
if (data.status) queryParams.append("status", data.status.toString());
|
|
24
|
+
if (data.approverEmployeeId) queryParams.append("approverEmployeeId", data.approverEmployeeId);
|
|
25
|
+
if (data.stepResult) queryParams.append("stepResult", data.stepResult.toString());
|
|
26
|
+
return api.request({
|
|
27
|
+
url: `/Requests/Requests?${queryParams.toString()}`,
|
|
28
|
+
method: "GET"
|
|
29
|
+
}).then((r) => r.data);
|
|
30
|
+
});
|
|
31
|
+
const getApproval = createServerFn({ method: "GET" }).inputValidator(GetApprovalSchema).handler(async ({ data }) => {
|
|
32
|
+
return getApprovalApi().request({
|
|
33
|
+
url: `/Requests/${data.id}`,
|
|
34
|
+
method: "GET"
|
|
35
|
+
}).then((r) => r.data);
|
|
36
|
+
});
|
|
37
|
+
const createApproval = createServerFn({ method: "POST" }).inputValidator(CreateApprovalSchema).handler(async ({ data }) => {
|
|
38
|
+
return getApprovalApi().request({
|
|
39
|
+
url: `/Requests`,
|
|
40
|
+
method: "POST",
|
|
41
|
+
data
|
|
42
|
+
}).then((r) => r.data);
|
|
43
|
+
});
|
|
44
|
+
const approveApproval = createServerFn({ method: "POST" }).inputValidator(ApproveApprovalSchema).handler(async ({ data }) => {
|
|
45
|
+
return getApprovalApi().request({
|
|
46
|
+
url: `/Requests/${data.id}/single-approval`,
|
|
47
|
+
method: "POST",
|
|
48
|
+
data
|
|
49
|
+
}).then((r) => r.data);
|
|
50
|
+
});
|
|
51
|
+
const resubmitApproval = createServerFn({ method: "POST" }).inputValidator(ResubmitApprovalSchema).handler(async ({ data }) => {
|
|
52
|
+
return getApprovalApi().request({
|
|
53
|
+
url: `/Requests/${data.id}/resubmit`,
|
|
54
|
+
method: "POST",
|
|
55
|
+
data
|
|
56
|
+
}).then((r) => r.data);
|
|
57
|
+
});
|
|
58
|
+
const withdrawApproval = createServerFn({ method: "POST" }).inputValidator(WithdrawApprovalSchema).handler(async ({ data }) => {
|
|
59
|
+
return getApprovalApi().request({
|
|
60
|
+
url: `/Requests/${data.id}/withdraw`,
|
|
61
|
+
method: "POST",
|
|
62
|
+
data
|
|
63
|
+
}).then((r) => r.data);
|
|
64
|
+
});
|
|
65
|
+
const cancelApproval = createServerFn({ method: "POST" }).inputValidator(CancelApprovalSchema).handler(async ({ data }) => {
|
|
66
|
+
return getApprovalApi().request({
|
|
67
|
+
url: `/Requests/${data.id}/cancel`,
|
|
68
|
+
method: "POST",
|
|
69
|
+
data
|
|
70
|
+
}).then((r) => r.data);
|
|
71
|
+
});
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/queries/server/peoplesoft.ts
|
|
74
|
+
let peopleSoftApi = null;
|
|
75
|
+
const getPeopleSoftApi = createServerOnlyFn(() => {
|
|
76
|
+
peopleSoftApi ??= createExternalApi(serverEnv.PS_BASE_URL, "ps");
|
|
77
|
+
return peopleSoftApi;
|
|
78
|
+
});
|
|
79
|
+
const SearchEmployeesSchema = z.object({ searchTerm: z.string().min(1) });
|
|
80
|
+
const EmployeeIdSchema = z.object({ employeeId: z.string().min(1) });
|
|
81
|
+
const DepartmentIdSchema = z.object({ departmentId: z.string().min(1) });
|
|
82
|
+
const CompanyCodeSchema = z.object({ companyCode: z.string().min(1) });
|
|
83
|
+
const searchEmployees = createServerFn({ method: "GET" }).inputValidator(SearchEmployeesSchema).handler(async ({ data }) => {
|
|
84
|
+
return getPeopleSoftApi().request({
|
|
85
|
+
url: `/v1/employee?search=${encodeURIComponent(data.searchTerm)}`,
|
|
86
|
+
method: "GET"
|
|
87
|
+
}).then((r) => r.data);
|
|
88
|
+
});
|
|
89
|
+
const getEmployees = createServerFn({ method: "GET" }).handler(async () => {
|
|
90
|
+
return getPeopleSoftApi().request({
|
|
91
|
+
url: `/v1/employee/all`,
|
|
92
|
+
method: "GET"
|
|
93
|
+
}).then((r) => r.data);
|
|
94
|
+
});
|
|
95
|
+
const getActiveEmployees = createServerFn({ method: "GET" }).handler(async () => {
|
|
96
|
+
return getPeopleSoftApi().request({
|
|
97
|
+
url: `/v1/employee/active`,
|
|
98
|
+
method: "GET"
|
|
99
|
+
}).then((r) => r.data);
|
|
100
|
+
});
|
|
101
|
+
const getEmployeeByEmployeeId = createServerFn({ method: "GET" }).inputValidator(EmployeeIdSchema).handler(async ({ data }) => {
|
|
102
|
+
return getPeopleSoftApi().request({
|
|
103
|
+
url: `/v1/employee/${encodeURIComponent(data.employeeId)}`,
|
|
104
|
+
method: "GET"
|
|
105
|
+
}).then((r) => r.data);
|
|
106
|
+
});
|
|
107
|
+
const getPreviousEmployeeIds = createServerFn({ method: "GET" }).handler(async () => {
|
|
108
|
+
return getPeopleSoftApi().request({
|
|
109
|
+
url: `/v1/employee/previousIds`,
|
|
110
|
+
method: "GET"
|
|
111
|
+
}).then((r) => r.data);
|
|
112
|
+
});
|
|
113
|
+
const getEmployeeSupervisor = createServerFn({ method: "GET" }).inputValidator(EmployeeIdSchema).handler(async ({ data }) => {
|
|
114
|
+
return getPeopleSoftApi().request({
|
|
115
|
+
url: `/v1/employee/${encodeURIComponent(data.employeeId)}/supervisor`,
|
|
116
|
+
method: "GET"
|
|
117
|
+
}).then((r) => r.data);
|
|
118
|
+
});
|
|
119
|
+
const getEmployeeSubordinates = createServerFn({ method: "GET" }).inputValidator(EmployeeIdSchema).handler(async ({ data }) => {
|
|
120
|
+
return getPeopleSoftApi().request({
|
|
121
|
+
url: `/v1/employee/${encodeURIComponent(data.employeeId)}/subordinates`,
|
|
122
|
+
method: "GET"
|
|
123
|
+
}).then((r) => r.data);
|
|
124
|
+
});
|
|
125
|
+
const getEmployeeManager = createServerFn({ method: "GET" }).inputValidator(EmployeeIdSchema).handler(async ({ data }) => {
|
|
126
|
+
return getPeopleSoftApi().request({
|
|
127
|
+
url: `/v1/employee/${encodeURIComponent(data.employeeId)}/manager`,
|
|
128
|
+
method: "GET"
|
|
129
|
+
}).then((r) => r.data);
|
|
130
|
+
});
|
|
131
|
+
const getEmployeeGeneralManager = createServerFn({ method: "GET" }).inputValidator(EmployeeIdSchema).handler(async ({ data }) => {
|
|
132
|
+
return getPeopleSoftApi().request({
|
|
133
|
+
url: `/v1/employee/${encodeURIComponent(data.employeeId)}/generalManager`,
|
|
134
|
+
method: "GET"
|
|
135
|
+
}).then((r) => r.data);
|
|
136
|
+
});
|
|
137
|
+
const getDepartments = createServerFn({ method: "GET" }).handler(async () => {
|
|
138
|
+
return getPeopleSoftApi().request({
|
|
139
|
+
url: `/v1/department/all`,
|
|
140
|
+
method: "GET"
|
|
141
|
+
}).then((r) => r.data);
|
|
142
|
+
});
|
|
143
|
+
const getDepartmentById = createServerFn({ method: "GET" }).inputValidator(DepartmentIdSchema).handler(async ({ data }) => {
|
|
144
|
+
return getPeopleSoftApi().request({
|
|
145
|
+
url: `/v1/department/${encodeURIComponent(data.departmentId)}`,
|
|
146
|
+
method: "GET"
|
|
147
|
+
}).then((r) => r.data);
|
|
148
|
+
});
|
|
149
|
+
const getDepartmentManager = createServerFn({ method: "GET" }).inputValidator(DepartmentIdSchema).handler(async ({ data }) => {
|
|
150
|
+
return getPeopleSoftApi().request({
|
|
151
|
+
url: `/v1/department/${encodeURIComponent(data.departmentId)}/manager`,
|
|
152
|
+
method: "GET"
|
|
153
|
+
}).then((r) => r.data);
|
|
154
|
+
});
|
|
155
|
+
const getDepartmentEmployees = createServerFn({ method: "GET" }).inputValidator(DepartmentIdSchema).handler(async ({ data }) => {
|
|
156
|
+
return getPeopleSoftApi().request({
|
|
157
|
+
url: `/v1/department/${encodeURIComponent(data.departmentId)}/employees`,
|
|
158
|
+
method: "GET"
|
|
159
|
+
}).then((r) => r.data);
|
|
160
|
+
});
|
|
161
|
+
const getCompanyGeneralManager = createServerFn({ method: "GET" }).inputValidator(CompanyCodeSchema).handler(async ({ data }) => {
|
|
162
|
+
return getPeopleSoftApi().request({
|
|
163
|
+
url: `/v1/company/${encodeURIComponent(data.companyCode)}/generalManager`,
|
|
164
|
+
method: "GET"
|
|
165
|
+
}).then((r) => r.data);
|
|
166
|
+
});
|
|
167
|
+
//#endregion
|
|
168
|
+
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 };
|
|
169
|
+
|
|
170
|
+
//# sourceMappingURL=peoplesoft-COFvPG-L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peoplesoft-COFvPG-L.js","names":["createServerFn","createServerOnlyFn","AxiosInstance","z","serverEnv","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","Approval","ApprovalStatus","ApprovalStepResult","createExternalApi","approvalApi","getApprovalApi","APPROVAL_BASE_URL","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","PS_BASE_URL","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\";\r\nimport type { AxiosInstance } from \"axios\";\r\nimport { z } from \"zod\";\r\nimport { serverEnv } from \"~/env\";\r\nimport {\r\n ApproveApprovalSchema,\r\n CancelApprovalSchema,\r\n CreateApprovalSchema,\r\n ResubmitApprovalSchema,\r\n WithdrawApprovalSchema,\r\n} from \"~/models/approval/Approval\";\r\nimport type { Approval } from \"~/models/approval/Approval\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\nimport { createExternalApi } from \"~/queries/server/externalApi\";\r\n\r\nlet approvalApi: AxiosInstance | null = null;\r\nconst getApprovalApi = createServerOnlyFn((): AxiosInstance => {\r\n approvalApi ??= createExternalApi(serverEnv.APPROVAL_BASE_URL, \"approval\");\r\n return approvalApi;\r\n});\r\n\r\nexport const GetApprovalsSchema = z.object({\r\n appName: z.string().min(1).max(255),\r\n status: ApprovalStatus.optional(),\r\n approverEmployeeId: z.string().min(1).max(20).optional(),\r\n stepResult: ApprovalStepResult.optional(),\r\n});\r\n\r\nexport const GetApprovalSchema = z.object({\r\n id: z.uuid(),\r\n});\r\n\r\nexport const getApprovals = createServerFn({ method: \"GET\" })\r\n .inputValidator(GetApprovalsSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"applicationName\", data.appName);\r\n if (data.status) queryParams.append(\"status\", data.status.toString());\r\n if (data.approverEmployeeId) queryParams.append(\"approverEmployeeId\", data.approverEmployeeId);\r\n if (data.stepResult) queryParams.append(\"stepResult\", data.stepResult.toString());\r\n\r\n return api\r\n .request<Array<Approval>>({\r\n url: `/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getApproval = createServerFn({ method: \"GET\" })\r\n .inputValidator(GetApprovalSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n return api\r\n .request<Approval>({\r\n url: `/Requests/${data.id}`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const createApproval = createServerFn({ method: \"POST\" })\r\n .inputValidator(CreateApprovalSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n return api\r\n .request<Approval>({\r\n url: `/Requests`,\r\n method: \"POST\",\r\n data,\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const approveApproval = createServerFn({ method: \"POST\" })\r\n .inputValidator(ApproveApprovalSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n return api\r\n .request<Approval>({\r\n url: `/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data,\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const resubmitApproval = createServerFn({ method: \"POST\" })\r\n .inputValidator(ResubmitApprovalSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n return api\r\n .request<Approval>({\r\n url: `/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data,\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const withdrawApproval = createServerFn({ method: \"POST\" })\r\n .inputValidator(WithdrawApprovalSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n return api\r\n .request<void>({\r\n url: `/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data,\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const cancelApproval = createServerFn({ method: \"POST\" })\r\n .inputValidator(CancelApprovalSchema)\r\n .handler(async ({ data }) => {\r\n const api = getApprovalApi();\r\n return api\r\n .request<void>({\r\n url: `/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data,\r\n })\r\n .then((r) => r.data);\r\n });\r\n","import { createServerFn, createServerOnlyFn } from \"@tanstack/react-start\";\r\nimport type { AxiosInstance } from \"axios\";\r\nimport { z } from \"zod\";\r\nimport { serverEnv } from \"~/env\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { createExternalApi } from \"~/queries/server/externalApi\";\r\n\r\nlet peopleSoftApi: AxiosInstance | null = null;\r\nconst getPeopleSoftApi = createServerOnlyFn((): AxiosInstance => {\r\n peopleSoftApi ??= createExternalApi(serverEnv.PS_BASE_URL, \"ps\");\r\n return peopleSoftApi;\r\n});\r\n\r\nexport const SearchEmployeesSchema = z.object({\r\n searchTerm: z.string().min(1),\r\n});\r\n\r\nexport const EmployeeIdSchema = z.object({\r\n employeeId: z.string().min(1),\r\n});\r\n\r\nexport const DepartmentIdSchema = z.object({\r\n departmentId: z.string().min(1),\r\n});\r\n\r\nexport const CompanyCodeSchema = z.object({\r\n companyCode: z.string().min(1),\r\n});\r\n\r\nexport const searchEmployees = createServerFn({ method: \"GET\" })\r\n .inputValidator(SearchEmployeesSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Employee>>({\r\n url: `/v1/employee?search=${encodeURIComponent(data.searchTerm)}`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Employee>>({ url: `/v1/employee/all`, method: \"GET\" })\r\n .then((r) => r.data);\r\n});\r\n\r\nexport const getActiveEmployees = createServerFn({ method: \"GET\" }).handler(async () => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Employee>>({ url: `/v1/employee/active`, method: \"GET\" })\r\n .then((r) => r.data);\r\n});\r\n\r\nexport const getEmployeeByEmployeeId = createServerFn({ method: \"GET\" })\r\n .inputValidator(EmployeeIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Employee>({\r\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getPreviousEmployeeIds = createServerFn({ method: \"GET\" }).handler(async () => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Employee>>({ url: `/v1/employee/previousIds`, method: \"GET\" })\r\n .then((r) => r.data);\r\n});\r\n\r\nexport const getEmployeeSupervisor = createServerFn({ method: \"GET\" })\r\n .inputValidator(EmployeeIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Employee>({\r\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/supervisor`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getEmployeeSubordinates = createServerFn({ method: \"GET\" })\r\n .inputValidator(EmployeeIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Employee>>({\r\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/subordinates`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getEmployeeManager = createServerFn({ method: \"GET\" })\r\n .inputValidator(EmployeeIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Employee>({\r\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/manager`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getEmployeeGeneralManager = createServerFn({ method: \"GET\" })\r\n .inputValidator(EmployeeIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Employee>({\r\n url: `/v1/employee/${encodeURIComponent(data.employeeId)}/generalManager`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getDepartments = createServerFn({ method: \"GET\" }).handler(async () => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Department>>({ url: `/v1/department/all`, method: \"GET\" })\r\n .then((r) => r.data);\r\n});\r\n\r\nexport const getDepartmentById = createServerFn({ method: \"GET\" })\r\n .inputValidator(DepartmentIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Department>({\r\n url: `/v1/department/${encodeURIComponent(data.departmentId)}`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getDepartmentManager = createServerFn({ method: \"GET\" })\r\n .inputValidator(DepartmentIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Employee>({\r\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/manager`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getDepartmentEmployees = createServerFn({ method: \"GET\" })\r\n .inputValidator(DepartmentIdSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Array<Employee>>({\r\n url: `/v1/department/${encodeURIComponent(data.departmentId)}/employees`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n\r\nexport const getCompanyGeneralManager = createServerFn({ method: \"GET\" })\r\n .inputValidator(CompanyCodeSchema)\r\n .handler(async ({ data }) => {\r\n const api = getPeopleSoftApi();\r\n return api\r\n .request<Employee>({\r\n url: `/v1/company/${encodeURIComponent(data.companyCode)}/generalManager`,\r\n method: \"GET\",\r\n })\r\n .then((r) => r.data);\r\n });\r\n"],"mappings":"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"}
|