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.
Potentially problematic release.
This version of wcz-layout might be problematic. Click here for more details.
- 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/queries-JPqCc5Tb.js
DELETED
|
@@ -1,551 +0,0 @@
|
|
|
1
|
-
import { c as toKebabCase, p as clientEnv, u as getAccessToken } from "./utils-CqQKSaSs.js";
|
|
2
|
-
import { t as queryClient } from "./queryClient-CAJR3qjE.js";
|
|
3
|
-
import { n as ApprovalStepResult, r as ApprovalStatus, t as FileMetaSchema } from "./FileMeta-D9HyhrGi.js";
|
|
4
|
-
import { c } from "react/compiler-runtime";
|
|
5
|
-
import { useState } from "react";
|
|
6
|
-
import z$1 from "zod";
|
|
7
|
-
import axios from "axios";
|
|
8
|
-
import { mutationOptions, queryOptions } from "@tanstack/react-query";
|
|
9
|
-
import { uuidv7 } from "uuidv7";
|
|
10
|
-
import saveAs from "file-saver";
|
|
11
|
-
import { Upload } from "tus-js-client";
|
|
12
|
-
//#region src/queries/ApprovalQueries.ts
|
|
13
|
-
const QUERY_KEY$2 = "approval";
|
|
14
|
-
const APP_NAME$1 = toKebabCase(clientEnv.VITE_APP_TITLE);
|
|
15
|
-
const api$2 = axios.create({ baseURL: "https://graph.microsoft.com/v1.0" });
|
|
16
|
-
api$2.interceptors.request.use(async (config) => {
|
|
17
|
-
const accessToken = await getAccessToken("graph");
|
|
18
|
-
config.headers.set("Authorization", `Bearer ${accessToken}`);
|
|
19
|
-
return config;
|
|
20
|
-
});
|
|
21
|
-
z$1.object({
|
|
22
|
-
appName: z$1.string().min(1).max(255).default(APP_NAME$1).optional(),
|
|
23
|
-
status: ApprovalStatus.optional(),
|
|
24
|
-
approverEmployeeId: z$1.string().min(1).max(20).optional(),
|
|
25
|
-
stepResult: ApprovalStepResult.optional()
|
|
26
|
-
});
|
|
27
|
-
const approvalQueries = {
|
|
28
|
-
approvals: (params) => {
|
|
29
|
-
const queryParams = new URLSearchParams();
|
|
30
|
-
queryParams.append("applicationName", params?.appName ?? APP_NAME$1);
|
|
31
|
-
if (params?.status) queryParams.append("status", params.status.toString());
|
|
32
|
-
if (params?.approverEmployeeId) queryParams.append("approverEmployeeId", params.approverEmployeeId);
|
|
33
|
-
if (params?.stepResult) queryParams.append("stepResult", params.stepResult.toString());
|
|
34
|
-
return queryOptions({
|
|
35
|
-
queryKey: [QUERY_KEY$2, params],
|
|
36
|
-
queryFn: ({ signal }) => api$2.request({
|
|
37
|
-
url: `/${QUERY_KEY$2}/Requests/Requests?${queryParams.toString()}`,
|
|
38
|
-
method: "GET",
|
|
39
|
-
signal
|
|
40
|
-
}).then((request) => request.data)
|
|
41
|
-
});
|
|
42
|
-
},
|
|
43
|
-
approval: (id) => queryOptions({
|
|
44
|
-
queryKey: [QUERY_KEY$2, id],
|
|
45
|
-
queryFn: ({ signal }) => api$2.request({
|
|
46
|
-
url: `/${QUERY_KEY$2}/Requests/${id}`,
|
|
47
|
-
method: "GET",
|
|
48
|
-
signal
|
|
49
|
-
}).then((request) => request.data)
|
|
50
|
-
}),
|
|
51
|
-
create: () => mutationOptions({
|
|
52
|
-
mutationFn: (data) => api$2.request({
|
|
53
|
-
url: `/${QUERY_KEY$2}/Requests`,
|
|
54
|
-
method: "POST",
|
|
55
|
-
data
|
|
56
|
-
}).then((request) => request.data),
|
|
57
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
58
|
-
queryKey: [QUERY_KEY$2],
|
|
59
|
-
exact: false
|
|
60
|
-
})
|
|
61
|
-
}),
|
|
62
|
-
approve: () => mutationOptions({
|
|
63
|
-
mutationFn: (data) => api$2.request({
|
|
64
|
-
url: `/${QUERY_KEY$2}/Requests/${data.id}/single-approval`,
|
|
65
|
-
method: "POST",
|
|
66
|
-
data
|
|
67
|
-
}).then((request) => request.data),
|
|
68
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
69
|
-
queryKey: [QUERY_KEY$2],
|
|
70
|
-
exact: false
|
|
71
|
-
})
|
|
72
|
-
}),
|
|
73
|
-
resubmit: () => mutationOptions({
|
|
74
|
-
mutationFn: (data) => api$2.request({
|
|
75
|
-
url: `/${QUERY_KEY$2}/Requests/${data.id}/resubmit`,
|
|
76
|
-
method: "POST",
|
|
77
|
-
data
|
|
78
|
-
}).then((request) => request.data),
|
|
79
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
80
|
-
queryKey: [QUERY_KEY$2],
|
|
81
|
-
exact: false
|
|
82
|
-
})
|
|
83
|
-
}),
|
|
84
|
-
withdraw: () => mutationOptions({
|
|
85
|
-
mutationFn: (data) => api$2.request({
|
|
86
|
-
url: `/${QUERY_KEY$2}/Requests/${data.id}/withdraw`,
|
|
87
|
-
method: "POST",
|
|
88
|
-
data
|
|
89
|
-
}).then((request) => request.data),
|
|
90
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
91
|
-
queryKey: [QUERY_KEY$2],
|
|
92
|
-
exact: false
|
|
93
|
-
})
|
|
94
|
-
}),
|
|
95
|
-
cancel: () => mutationOptions({
|
|
96
|
-
mutationFn: (data) => api$2.request({
|
|
97
|
-
url: `/${QUERY_KEY$2}/Requests/${data.id}/cancel`,
|
|
98
|
-
method: "POST",
|
|
99
|
-
data
|
|
100
|
-
}).then((request) => request.data),
|
|
101
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
102
|
-
queryKey: [QUERY_KEY$2],
|
|
103
|
-
exact: false
|
|
104
|
-
})
|
|
105
|
-
})
|
|
106
|
-
};
|
|
107
|
-
//#endregion
|
|
108
|
-
//#region src/queries/FileQueries.ts
|
|
109
|
-
const QUERY_KEY$1 = "file";
|
|
110
|
-
const HOUR = 1e3 * 60 * 60;
|
|
111
|
-
const APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);
|
|
112
|
-
const FILE_API_URL = "later";
|
|
113
|
-
const api$1 = axios.create({ baseURL: "https://graph.microsoft.com/v1.0" });
|
|
114
|
-
api$1.interceptors.request.use(async (config) => {
|
|
115
|
-
const accessToken = await getAccessToken("graph");
|
|
116
|
-
config.headers.set("Authorization", `Bearer ${accessToken}`);
|
|
117
|
-
return config;
|
|
118
|
-
});
|
|
119
|
-
z$1.object({
|
|
120
|
-
appName: z$1.string().min(1).max(255).default(APP_NAME).optional(),
|
|
121
|
-
subId: z$1.uuid()
|
|
122
|
-
});
|
|
123
|
-
z$1.object({
|
|
124
|
-
appName: z$1.string().min(1).max(255).default(APP_NAME).optional(),
|
|
125
|
-
meta: FileMetaSchema.nullish()
|
|
126
|
-
});
|
|
127
|
-
z$1.object({
|
|
128
|
-
appName: z$1.string().min(1).max(255).default(APP_NAME).optional(),
|
|
129
|
-
meta: FileMetaSchema.nullish()
|
|
130
|
-
});
|
|
131
|
-
const fileQueries = {
|
|
132
|
-
metas: (params) => {
|
|
133
|
-
const queryParams = new URLSearchParams();
|
|
134
|
-
queryParams.append("appName", params.appName ?? APP_NAME);
|
|
135
|
-
queryParams.append("subId", params.subId);
|
|
136
|
-
return queryOptions({
|
|
137
|
-
queryKey: [
|
|
138
|
-
QUERY_KEY$1,
|
|
139
|
-
"meta",
|
|
140
|
-
params.appName ?? APP_NAME,
|
|
141
|
-
params.subId
|
|
142
|
-
],
|
|
143
|
-
queryFn: ({ signal }) => api$1.request({
|
|
144
|
-
url: `/${QUERY_KEY$1}/v1/meta?${queryParams.toString()}`,
|
|
145
|
-
method: "GET",
|
|
146
|
-
signal
|
|
147
|
-
}).then((request) => request.data),
|
|
148
|
-
staleTime: HOUR,
|
|
149
|
-
gcTime: HOUR,
|
|
150
|
-
refetchOnWindowFocus: false
|
|
151
|
-
});
|
|
152
|
-
},
|
|
153
|
-
thumbnail: (params) => {
|
|
154
|
-
const queryParams = new URLSearchParams();
|
|
155
|
-
queryParams.append("appName", params.appName ?? APP_NAME);
|
|
156
|
-
queryParams.append("id", params.meta?.id ?? "");
|
|
157
|
-
return queryOptions({
|
|
158
|
-
queryKey: [
|
|
159
|
-
QUERY_KEY$1,
|
|
160
|
-
"thumbnail",
|
|
161
|
-
params.appName ?? APP_NAME,
|
|
162
|
-
params.meta?.id
|
|
163
|
-
],
|
|
164
|
-
queryFn: ({ signal }) => api$1.request({
|
|
165
|
-
url: `/${QUERY_KEY$1}/v1/thumbnail?${queryParams.toString()}`,
|
|
166
|
-
method: "GET",
|
|
167
|
-
signal,
|
|
168
|
-
responseType: "blob"
|
|
169
|
-
}).then((request) => request.data),
|
|
170
|
-
select: (data) => URL.createObjectURL(data),
|
|
171
|
-
staleTime: HOUR,
|
|
172
|
-
gcTime: HOUR,
|
|
173
|
-
refetchOnWindowFocus: false
|
|
174
|
-
});
|
|
175
|
-
},
|
|
176
|
-
getOne: (params) => {
|
|
177
|
-
const queryParams = new URLSearchParams();
|
|
178
|
-
queryParams.append("appName", params.appName ?? APP_NAME);
|
|
179
|
-
queryParams.append("id", params.meta?.id ?? "");
|
|
180
|
-
return queryOptions({
|
|
181
|
-
queryKey: [
|
|
182
|
-
QUERY_KEY$1,
|
|
183
|
-
params.appName ?? APP_NAME,
|
|
184
|
-
params.meta?.id
|
|
185
|
-
],
|
|
186
|
-
queryFn: ({ signal }) => api$1.request({
|
|
187
|
-
url: `/${QUERY_KEY$1}/v1?${queryParams.toString()}`,
|
|
188
|
-
method: "GET",
|
|
189
|
-
signal,
|
|
190
|
-
responseType: "blob"
|
|
191
|
-
}).then((request) => request.data),
|
|
192
|
-
select: (data) => URL.createObjectURL(data),
|
|
193
|
-
staleTime: HOUR,
|
|
194
|
-
gcTime: HOUR,
|
|
195
|
-
refetchOnWindowFocus: false
|
|
196
|
-
});
|
|
197
|
-
},
|
|
198
|
-
download: () => mutationOptions({
|
|
199
|
-
mutationFn: (meta) => api$1.request({
|
|
200
|
-
url: `/${QUERY_KEY$1}/v1/download?appName=${APP_NAME}&id=${meta.id}`,
|
|
201
|
-
method: "GET",
|
|
202
|
-
responseType: "blob"
|
|
203
|
-
}).then((request) => request.data),
|
|
204
|
-
onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)
|
|
205
|
-
}),
|
|
206
|
-
open: () => mutationOptions({
|
|
207
|
-
mutationFn: (meta) => api$1.request({
|
|
208
|
-
url: `/${QUERY_KEY$1}/v1?appName=${APP_NAME}&id=${meta.id}`,
|
|
209
|
-
method: "GET",
|
|
210
|
-
responseType: "blob"
|
|
211
|
-
}).then((request) => request.data),
|
|
212
|
-
onSuccess: (data) => {
|
|
213
|
-
window.open(URL.createObjectURL(data));
|
|
214
|
-
}
|
|
215
|
-
}),
|
|
216
|
-
updateMeta: () => mutationOptions({
|
|
217
|
-
mutationFn: (meta) => api$1.request({
|
|
218
|
-
url: `/${QUERY_KEY$1}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,
|
|
219
|
-
method: "PUT",
|
|
220
|
-
data: meta
|
|
221
|
-
}).then((request) => request.data),
|
|
222
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
223
|
-
queryKey: [QUERY_KEY$1, "meta"],
|
|
224
|
-
exact: false
|
|
225
|
-
})
|
|
226
|
-
}),
|
|
227
|
-
delete: () => mutationOptions({
|
|
228
|
-
mutationFn: (meta) => api$1.request({
|
|
229
|
-
url: `/${QUERY_KEY$1}/v1?appName=${APP_NAME}&id=${meta.id}`,
|
|
230
|
-
method: "DELETE"
|
|
231
|
-
}).then((request) => request.data),
|
|
232
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
233
|
-
queryKey: [QUERY_KEY$1, "meta"],
|
|
234
|
-
exact: false
|
|
235
|
-
})
|
|
236
|
-
}),
|
|
237
|
-
batchDelete: () => mutationOptions({
|
|
238
|
-
mutationFn: (subId) => api$1.request({
|
|
239
|
-
url: `/${QUERY_KEY$1}/v1?appName=${APP_NAME}&subId=${subId}`,
|
|
240
|
-
method: "DELETE"
|
|
241
|
-
}).then((request) => request.data),
|
|
242
|
-
onSettled: () => queryClient.invalidateQueries({
|
|
243
|
-
queryKey: [QUERY_KEY$1, "meta"],
|
|
244
|
-
exact: false
|
|
245
|
-
})
|
|
246
|
-
})
|
|
247
|
-
};
|
|
248
|
-
const useUploadFile = (t0) => {
|
|
249
|
-
const $ = c(8);
|
|
250
|
-
if ($[0] !== "6bb7ad390fe3212557f406ce73d2eca570acbf23f5ca466d77712629cd8702be") {
|
|
251
|
-
for (let $i = 0; $i < 8; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
252
|
-
$[0] = "6bb7ad390fe3212557f406ce73d2eca570acbf23f5ca466d77712629cd8702be";
|
|
253
|
-
}
|
|
254
|
-
const { subId, onSuccess, onError } = t0;
|
|
255
|
-
const [progress, setProgress] = useState(0);
|
|
256
|
-
let t1;
|
|
257
|
-
if ($[1] !== onError || $[2] !== onSuccess || $[3] !== subId) {
|
|
258
|
-
t1 = async (file) => {
|
|
259
|
-
if (!subId) throw new Error("subId is required for file upload");
|
|
260
|
-
const metadata = {
|
|
261
|
-
id: uuidv7(),
|
|
262
|
-
appName: APP_NAME,
|
|
263
|
-
subId,
|
|
264
|
-
fileName: file.name
|
|
265
|
-
};
|
|
266
|
-
const accessToken = await getAccessToken("graph");
|
|
267
|
-
const upload = new Upload(file, {
|
|
268
|
-
endpoint: `${FILE_API_URL}/${QUERY_KEY$1}/v1/upload`,
|
|
269
|
-
chunkSize: 1048576,
|
|
270
|
-
metadata: {
|
|
271
|
-
id: metadata.id,
|
|
272
|
-
appName: metadata.appName,
|
|
273
|
-
subId: metadata.subId,
|
|
274
|
-
fileName: metadata.fileName,
|
|
275
|
-
fileExtension: file.type
|
|
276
|
-
},
|
|
277
|
-
headers: { Authorization: `Bearer ${accessToken}` },
|
|
278
|
-
onError: (error) => {
|
|
279
|
-
setProgress(0);
|
|
280
|
-
onError?.(error);
|
|
281
|
-
},
|
|
282
|
-
onProgress: (bytesUploaded, bytesTotal) => {
|
|
283
|
-
setProgress(bytesUploaded / bytesTotal * 100);
|
|
284
|
-
},
|
|
285
|
-
onSuccess: () => {
|
|
286
|
-
setProgress(0);
|
|
287
|
-
queryClient.invalidateQueries({
|
|
288
|
-
queryKey: [
|
|
289
|
-
QUERY_KEY$1,
|
|
290
|
-
"meta",
|
|
291
|
-
subId
|
|
292
|
-
],
|
|
293
|
-
exact: false
|
|
294
|
-
});
|
|
295
|
-
onSuccess?.(metadata);
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
const previousUploads = await upload.findPreviousUploads();
|
|
299
|
-
if (previousUploads.length > 0) upload.resumeFromPreviousUpload(previousUploads[0]);
|
|
300
|
-
upload.start();
|
|
301
|
-
};
|
|
302
|
-
$[1] = onError;
|
|
303
|
-
$[2] = onSuccess;
|
|
304
|
-
$[3] = subId;
|
|
305
|
-
$[4] = t1;
|
|
306
|
-
} else t1 = $[4];
|
|
307
|
-
const mutate = t1;
|
|
308
|
-
let t2;
|
|
309
|
-
if ($[5] !== mutate || $[6] !== progress) {
|
|
310
|
-
t2 = {
|
|
311
|
-
mutate,
|
|
312
|
-
progress
|
|
313
|
-
};
|
|
314
|
-
$[5] = mutate;
|
|
315
|
-
$[6] = progress;
|
|
316
|
-
$[7] = t2;
|
|
317
|
-
} else t2 = $[7];
|
|
318
|
-
return t2;
|
|
319
|
-
};
|
|
320
|
-
//#endregion
|
|
321
|
-
//#region src/queries/PeopleSoftQueries.ts
|
|
322
|
-
const QUERY_KEY = "ps";
|
|
323
|
-
const DAY = 1e3 * 60 * 60 * 24;
|
|
324
|
-
const api = axios.create({ baseURL: "https://graph.microsoft.com/v1.0" });
|
|
325
|
-
api.interceptors.request.use(async (config) => {
|
|
326
|
-
const accessToken = await getAccessToken("graph");
|
|
327
|
-
config.headers.set("Authorization", `Bearer ${accessToken}`);
|
|
328
|
-
return config;
|
|
329
|
-
});
|
|
330
|
-
//#endregion
|
|
331
|
-
//#region src/queries/index.ts
|
|
332
|
-
const query = {
|
|
333
|
-
peopleSoft: {
|
|
334
|
-
employeesSearch: (searchTerm) => queryOptions({
|
|
335
|
-
queryKey: [
|
|
336
|
-
QUERY_KEY,
|
|
337
|
-
"employee",
|
|
338
|
-
"search",
|
|
339
|
-
searchTerm
|
|
340
|
-
],
|
|
341
|
-
queryFn: ({ signal }) => api.request({
|
|
342
|
-
url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,
|
|
343
|
-
method: "GET",
|
|
344
|
-
signal
|
|
345
|
-
}).then((request) => request.data),
|
|
346
|
-
staleTime: DAY,
|
|
347
|
-
gcTime: DAY,
|
|
348
|
-
refetchOnWindowFocus: false
|
|
349
|
-
}),
|
|
350
|
-
employees: () => queryOptions({
|
|
351
|
-
queryKey: [QUERY_KEY, "employee"],
|
|
352
|
-
queryFn: ({ signal }) => api.request({
|
|
353
|
-
url: `/${QUERY_KEY}/v1/employee/all`,
|
|
354
|
-
method: "GET",
|
|
355
|
-
signal
|
|
356
|
-
}).then((request) => request.data),
|
|
357
|
-
staleTime: DAY,
|
|
358
|
-
gcTime: DAY,
|
|
359
|
-
refetchOnWindowFocus: false
|
|
360
|
-
}),
|
|
361
|
-
activeEmployees: () => queryOptions({
|
|
362
|
-
queryKey: [
|
|
363
|
-
QUERY_KEY,
|
|
364
|
-
"employee",
|
|
365
|
-
"active"
|
|
366
|
-
],
|
|
367
|
-
queryFn: ({ signal }) => api.request({
|
|
368
|
-
url: `/${QUERY_KEY}/v1/employee/active`,
|
|
369
|
-
method: "GET",
|
|
370
|
-
signal
|
|
371
|
-
}).then((request) => request.data),
|
|
372
|
-
staleTime: DAY,
|
|
373
|
-
gcTime: DAY,
|
|
374
|
-
refetchOnWindowFocus: false
|
|
375
|
-
}),
|
|
376
|
-
employeeById: (employeeId) => queryOptions({
|
|
377
|
-
queryKey: [
|
|
378
|
-
QUERY_KEY,
|
|
379
|
-
"employee",
|
|
380
|
-
employeeId
|
|
381
|
-
],
|
|
382
|
-
queryFn: ({ signal }) => api.request({
|
|
383
|
-
url: `/${QUERY_KEY}/v1/employee/${employeeId}`,
|
|
384
|
-
method: "GET",
|
|
385
|
-
signal
|
|
386
|
-
}).then((request) => request.data),
|
|
387
|
-
staleTime: DAY,
|
|
388
|
-
gcTime: DAY,
|
|
389
|
-
refetchOnWindowFocus: false
|
|
390
|
-
}),
|
|
391
|
-
previousEmployeeIds: () => queryOptions({
|
|
392
|
-
queryKey: [
|
|
393
|
-
QUERY_KEY,
|
|
394
|
-
"employee",
|
|
395
|
-
"previousIds"
|
|
396
|
-
],
|
|
397
|
-
queryFn: ({ signal }) => api.request({
|
|
398
|
-
url: `/${QUERY_KEY}/v1/employee/previousIds`,
|
|
399
|
-
method: "GET",
|
|
400
|
-
signal
|
|
401
|
-
}).then((request) => request.data),
|
|
402
|
-
staleTime: DAY,
|
|
403
|
-
gcTime: DAY,
|
|
404
|
-
refetchOnWindowFocus: false
|
|
405
|
-
}),
|
|
406
|
-
employeeSupervisor: (employeeId) => queryOptions({
|
|
407
|
-
queryKey: [
|
|
408
|
-
QUERY_KEY,
|
|
409
|
-
"employee",
|
|
410
|
-
employeeId,
|
|
411
|
-
"supervisor"
|
|
412
|
-
],
|
|
413
|
-
queryFn: ({ signal }) => api.request({
|
|
414
|
-
url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,
|
|
415
|
-
method: "GET",
|
|
416
|
-
signal
|
|
417
|
-
}).then((request) => request.data),
|
|
418
|
-
staleTime: DAY,
|
|
419
|
-
gcTime: DAY,
|
|
420
|
-
refetchOnWindowFocus: false
|
|
421
|
-
}),
|
|
422
|
-
employeeSubordinates: (employeeId) => queryOptions({
|
|
423
|
-
queryKey: [
|
|
424
|
-
QUERY_KEY,
|
|
425
|
-
"employee",
|
|
426
|
-
employeeId,
|
|
427
|
-
"subordinates"
|
|
428
|
-
],
|
|
429
|
-
queryFn: ({ signal }) => api.request({
|
|
430
|
-
url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,
|
|
431
|
-
method: "GET",
|
|
432
|
-
signal
|
|
433
|
-
}).then((request) => request.data),
|
|
434
|
-
staleTime: DAY,
|
|
435
|
-
gcTime: DAY,
|
|
436
|
-
refetchOnWindowFocus: false
|
|
437
|
-
}),
|
|
438
|
-
employeeManager: (employeeId) => queryOptions({
|
|
439
|
-
queryKey: [
|
|
440
|
-
QUERY_KEY,
|
|
441
|
-
"employee",
|
|
442
|
-
employeeId,
|
|
443
|
-
"manager"
|
|
444
|
-
],
|
|
445
|
-
queryFn: ({ signal }) => api.request({
|
|
446
|
-
url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,
|
|
447
|
-
method: "GET",
|
|
448
|
-
signal
|
|
449
|
-
}).then((request) => request.data),
|
|
450
|
-
staleTime: DAY,
|
|
451
|
-
gcTime: DAY,
|
|
452
|
-
refetchOnWindowFocus: false
|
|
453
|
-
}),
|
|
454
|
-
employeeGeneralManager: (employeeId) => queryOptions({
|
|
455
|
-
queryKey: [
|
|
456
|
-
QUERY_KEY,
|
|
457
|
-
"employee",
|
|
458
|
-
employeeId,
|
|
459
|
-
"generalManager"
|
|
460
|
-
],
|
|
461
|
-
queryFn: ({ signal }) => api.request({
|
|
462
|
-
url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,
|
|
463
|
-
method: "GET",
|
|
464
|
-
signal
|
|
465
|
-
}).then((request) => request.data),
|
|
466
|
-
staleTime: DAY,
|
|
467
|
-
gcTime: DAY,
|
|
468
|
-
refetchOnWindowFocus: false
|
|
469
|
-
}),
|
|
470
|
-
departments: () => queryOptions({
|
|
471
|
-
queryKey: [QUERY_KEY, "department"],
|
|
472
|
-
queryFn: ({ signal }) => api.request({
|
|
473
|
-
url: `/${QUERY_KEY}/v1/department/all`,
|
|
474
|
-
method: "GET",
|
|
475
|
-
signal
|
|
476
|
-
}).then((request) => request.data),
|
|
477
|
-
staleTime: DAY,
|
|
478
|
-
gcTime: DAY,
|
|
479
|
-
refetchOnWindowFocus: false
|
|
480
|
-
}),
|
|
481
|
-
departmentById: (departmentId) => queryOptions({
|
|
482
|
-
queryKey: [
|
|
483
|
-
QUERY_KEY,
|
|
484
|
-
"department",
|
|
485
|
-
departmentId
|
|
486
|
-
],
|
|
487
|
-
queryFn: ({ signal }) => api.request({
|
|
488
|
-
url: `/${QUERY_KEY}/v1/department/${departmentId}`,
|
|
489
|
-
method: "GET",
|
|
490
|
-
signal
|
|
491
|
-
}).then((request) => request.data),
|
|
492
|
-
staleTime: DAY,
|
|
493
|
-
gcTime: DAY,
|
|
494
|
-
refetchOnWindowFocus: false
|
|
495
|
-
}),
|
|
496
|
-
departmentManager: (departmentId) => queryOptions({
|
|
497
|
-
queryKey: [
|
|
498
|
-
QUERY_KEY,
|
|
499
|
-
"department",
|
|
500
|
-
departmentId,
|
|
501
|
-
"manager"
|
|
502
|
-
],
|
|
503
|
-
queryFn: ({ signal }) => api.request({
|
|
504
|
-
url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,
|
|
505
|
-
method: "GET",
|
|
506
|
-
signal
|
|
507
|
-
}).then((request) => request.data),
|
|
508
|
-
staleTime: DAY,
|
|
509
|
-
gcTime: DAY,
|
|
510
|
-
refetchOnWindowFocus: false
|
|
511
|
-
}),
|
|
512
|
-
departmentEmployees: (departmentId) => queryOptions({
|
|
513
|
-
queryKey: [
|
|
514
|
-
QUERY_KEY,
|
|
515
|
-
"department",
|
|
516
|
-
departmentId,
|
|
517
|
-
"employees"
|
|
518
|
-
],
|
|
519
|
-
queryFn: ({ signal }) => api.request({
|
|
520
|
-
url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,
|
|
521
|
-
method: "GET",
|
|
522
|
-
signal
|
|
523
|
-
}).then((request) => request.data),
|
|
524
|
-
staleTime: DAY,
|
|
525
|
-
gcTime: DAY,
|
|
526
|
-
refetchOnWindowFocus: false
|
|
527
|
-
}),
|
|
528
|
-
companyGeneralManager: (companyCode) => queryOptions({
|
|
529
|
-
queryKey: [
|
|
530
|
-
QUERY_KEY,
|
|
531
|
-
"company",
|
|
532
|
-
companyCode,
|
|
533
|
-
"generalManager"
|
|
534
|
-
],
|
|
535
|
-
queryFn: ({ signal }) => api.request({
|
|
536
|
-
url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,
|
|
537
|
-
method: "GET",
|
|
538
|
-
signal
|
|
539
|
-
}).then((request) => request.data),
|
|
540
|
-
staleTime: DAY,
|
|
541
|
-
gcTime: DAY,
|
|
542
|
-
refetchOnWindowFocus: false
|
|
543
|
-
})
|
|
544
|
-
},
|
|
545
|
-
approval: approvalQueries,
|
|
546
|
-
file: fileQueries
|
|
547
|
-
};
|
|
548
|
-
//#endregion
|
|
549
|
-
export { useUploadFile as n, query as t };
|
|
550
|
-
|
|
551
|
-
//# sourceMappingURL=queries-JPqCc5Tb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queries-JPqCc5Tb.js","names":["mutationOptions","queryOptions","axios","z","Approval","ApproveApproval","CancelApproval","CreateApproval","ResubmitApproval","WithdrawApproval","clientEnv","getAccessToken","queryClient","toKebabCase","ApprovalStatus","ApprovalStepResult","QUERY_KEY","APP_NAME","VITE_APP_TITLE","api","create","baseURL","interceptors","request","use","config","accessToken","headers","set","GetApprovalsParamsSchema","object","appName","string","min","max","default","optional","status","approverEmployeeId","stepResult","GetApprovalsParams","infer","approvalQueries","approvals","params","queryParams","URLSearchParams","append","toString","queryKey","queryFn","signal","Array","url","method","then","data","approval","id","Error","mutationFn","onSettled","invalidateQueries","exact","approve","resubmit","withdraw","cancel","mutationOptions","queryOptions","axios","saveAs","useState","Upload","TusUpload","uuidv7","z","DetailedError","FileMeta","clientEnv","getAccessToken","queryClient","toKebabCase","FileMetaSchema","QUERY_KEY","HOUR","APP_NAME","VITE_APP_TITLE","FILE_API_URL","api","create","baseURL","interceptors","request","use","config","accessToken","headers","set","GetFileMetasParamsSchema","object","appName","string","min","max","default","optional","subId","uuid","GetFileMetasParams","infer","GetFileThumbnailParamsSchema","meta","nullish","GetFileThumbnailParams","GetFileParamsSchema","GetFileParams","fileQueries","metas","params","queryParams","URLSearchParams","append","queryKey","queryFn","signal","Array","url","toString","method","then","data","staleTime","gcTime","refetchOnWindowFocus","thumbnail","id","Blob","responseType","select","URL","createObjectURL","getOne","download","Error","mutationFn","onSuccess","variables","fileName","fileExtension","open","window","updateMeta","onSettled","invalidateQueries","exact","delete","batchDelete","OptionalId","UseUploadFileProps","Pick","onError","error","useUploadFile","t0","$","_c","$i","Symbol","for","progress","setProgress","t1","file","metadata","name","upload","endpoint","chunkSize","type","Authorization","onProgress","bytesUploaded","bytesTotal","previousUploads","findPreviousUploads","length","resumeFromPreviousUpload","start","mutate","t2","queryOptions","axios","Department","Employee","getAccessToken","QUERY_KEY","DAY","api","create","baseURL","interceptors","request","use","config","accessToken","headers","set","OptionalId","peopleSoftQueries","employeesSearch","searchTerm","queryKey","queryFn","signal","Array","url","method","then","data","staleTime","gcTime","refetchOnWindowFocus","employees","activeEmployees","employeeById","employeeId","previousEmployeeIds","employeeSupervisor","employeeSubordinates","employeeManager","employeeGeneralManager","departments","departmentById","departmentId","departmentManager","departmentEmployees","companyGeneralManager","companyCode","approvalQueries","fileQueries","peopleSoftQueries","query","peopleSoft","approval","file"],"sources":["../src/queries/ApprovalQueries.ts","../src/queries/FileQueries.ts","../src/queries/PeopleSoftQueries.ts","../src/queries/index.ts"],"sourcesContent":["import { mutationOptions, queryOptions } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport z from \"zod\";\nimport type {\n Approval,\n ApproveApproval,\n CancelApproval,\n CreateApproval,\n ResubmitApproval,\n WithdrawApproval,\n} from \"~/models/approval/Approval\";\nimport { clientEnv } from \"~/env\";\nimport { getAccessToken } from \"~/lib/auth/msalClient\";\nimport { queryClient } from \"~/lib/queryClient\";\nimport { toKebabCase } from \"~/lib/utils\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\n\nconst QUERY_KEY = \"approval\";\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\n\nexport const api = axios.create({\n baseURL: \"https://graph.microsoft.com/v1.0\",\n});\n\napi.interceptors.request.use(async (config) => {\n const accessToken = await getAccessToken(\"graph\");\n config.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return config;\n});\n\nconst GetApprovalsParamsSchema = z.object({\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional(),\n});\n\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\n\nexport const approvalQueries = {\n approvals: (params?: GetApprovalsParams) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\n if (params?.status) queryParams.append(\"status\", params.status.toString());\n if (params?.approverEmployeeId)\n queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\n\n return queryOptions({\n queryKey: [QUERY_KEY, params],\n queryFn: ({ signal }) =>\n api\n .request<Array<Approval>>({\n url: `/${QUERY_KEY}/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n });\n },\n approval: (id: string) =>\n queryOptions({\n queryKey: [QUERY_KEY, id],\n queryFn: ({ signal }) =>\n api\n .request<Approval>({\n url: `/${QUERY_KEY}/Requests/${id}`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n }),\n create: () =>\n mutationOptions<Approval, Error, CreateApproval>({\n mutationFn: (data) =>\n api\n .request<Approval>({\n url: `/${QUERY_KEY}/Requests`,\n method: \"POST\",\n data,\n })\n .then((request) => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n }),\n approve: () =>\n mutationOptions<Approval, Error, ApproveApproval>({\n mutationFn: (data) =>\n api\n .request<Approval>({\n url: `/${QUERY_KEY}/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data,\n })\n .then((request) => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n }),\n resubmit: () =>\n mutationOptions<Approval, Error, ResubmitApproval>({\n mutationFn: (data) =>\n api\n .request<Approval>({\n url: `/${QUERY_KEY}/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data,\n })\n .then((request) => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n }),\n withdraw: () =>\n mutationOptions<void, Error, WithdrawApproval>({\n mutationFn: (data) =>\n api\n .request<void>({\n url: `/${QUERY_KEY}/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data,\n })\n .then((request) => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n }),\n cancel: () =>\n mutationOptions<void, Error, CancelApproval>({\n mutationFn: (data) =>\n api\n .request<void>({\n url: `/${QUERY_KEY}/Requests/${data.id}/cancel`,\n method: \"POST\",\n data,\n })\n .then((request) => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n }),\n};\n","import { mutationOptions, queryOptions } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport saveAs from \"file-saver\";\nimport { useState } from \"react\";\nimport { Upload as TusUpload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport z from \"zod\";\nimport type { DetailedError } from \"tus-js-client\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { clientEnv } from \"~/env\";\nimport { getAccessToken } from \"~/lib/auth/msalClient\";\nimport { queryClient } from \"~/lib/queryClient\";\nimport { toKebabCase } from \"~/lib/utils\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\n\nconst QUERY_KEY = \"file\";\nconst HOUR = 1000 * 60 * 60;\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\nconst FILE_API_URL = \"later\";\n\nexport const api = axios.create({\n baseURL: \"https://graph.microsoft.com/v1.0\",\n});\n\napi.interceptors.request.use(async (config) => {\n const accessToken = await getAccessToken(\"graph\");\n config.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return config;\n});\n\nexport const GetFileMetasParamsSchema = z.object({\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\n subId: z.uuid(),\n});\n\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\n\nexport const GetFileThumbnailParamsSchema = z.object({\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\n meta: FileMetaSchema.nullish(),\n});\n\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\n\nexport const GetFileParamsSchema = z.object({\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\n meta: FileMetaSchema.nullish(),\n});\n\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\n\nexport const fileQueries = {\n metas: (params: GetFileMetasParams) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\n queryParams.append(\"subId\", params.subId);\n\n return queryOptions({\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\n queryFn: ({ signal }) =>\n api\n .request<Array<FileMeta>>({\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: HOUR,\n gcTime: HOUR,\n refetchOnWindowFocus: false,\n });\n },\n thumbnail: (params: GetFileThumbnailParams) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\n queryParams.append(\"id\", params.meta?.id ?? \"\");\n\n return queryOptions({\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta?.id],\n queryFn: ({ signal }) =>\n api\n .request<Blob>({\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n signal,\n responseType: \"blob\",\n })\n .then((request) => request.data),\n select: (data) => URL.createObjectURL(data),\n staleTime: HOUR,\n gcTime: HOUR,\n refetchOnWindowFocus: false,\n });\n },\n getOne: (params: GetFileParams) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\n queryParams.append(\"id\", params.meta?.id ?? \"\");\n\n return queryOptions({\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],\n queryFn: ({ signal }) =>\n api\n .request<Blob>({\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\n method: \"GET\",\n signal,\n responseType: \"blob\",\n })\n .then((request) => request.data),\n select: (data) => URL.createObjectURL(data),\n staleTime: HOUR,\n gcTime: HOUR,\n refetchOnWindowFocus: false,\n });\n },\n download: () =>\n mutationOptions<Blob, Error, FileMeta>({\n mutationFn: (meta) =>\n api\n .request<Blob>({\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\n method: \"GET\",\n responseType: \"blob\",\n })\n .then((request) => request.data),\n onSuccess: (data, variables) =>\n saveAs(data, `${variables.fileName}.${variables.fileExtension}`),\n }),\n open: () =>\n mutationOptions<Blob, Error, FileMeta>({\n mutationFn: (meta) =>\n api\n .request<Blob>({\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\n method: \"GET\",\n responseType: \"blob\",\n })\n .then((request) => request.data),\n onSuccess: (data) => {\n window.open(URL.createObjectURL(data));\n },\n }),\n updateMeta: () =>\n mutationOptions<FileMeta, Error, FileMeta>({\n mutationFn: (meta) =>\n api\n .request<FileMeta>({\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\n method: \"PUT\",\n data: meta,\n })\n .then((request) => request.data),\n onSettled: () =>\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n }),\n delete: () =>\n mutationOptions<FileMeta, Error, FileMeta>({\n mutationFn: (meta) =>\n api\n .request<FileMeta>({\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\n method: \"DELETE\",\n })\n .then((request) => request.data),\n onSettled: () =>\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n }),\n batchDelete: () =>\n mutationOptions<string, Error, string>({\n mutationFn: (subId) =>\n api\n .request<string>({\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\n method: \"DELETE\",\n })\n .then((request) => request.data),\n onSettled: () =>\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n }),\n};\n\ntype OptionalId = string | undefined | null;\n\ninterface UseUploadFileProps {\n subId: OptionalId;\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\n onError?: (error: Error | DetailedError) => void;\n}\n\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\n const [progress, setProgress] = useState<number>(0);\n\n const mutate = async (file: File) => {\n if (!subId) throw new Error(\"subId is required for file upload\");\n\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\n id: uuidv7(),\n appName: APP_NAME,\n subId: subId,\n fileName: file.name,\n };\n\n const accessToken = await getAccessToken(\"graph\");\n\n const upload = new TusUpload(file, {\n endpoint: `${FILE_API_URL}/${QUERY_KEY}/v1/upload`,\n chunkSize: 1_048_576, // 1 MB\n metadata: {\n id: metadata.id,\n appName: metadata.appName,\n subId: metadata.subId,\n fileName: metadata.fileName,\n fileExtension: file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: (error) => {\n setProgress(0);\n onError?.(error);\n },\n onProgress: (bytesUploaded, bytesTotal) => {\n setProgress((bytesUploaded / bytesTotal) * 100);\n },\n onSuccess: () => {\n setProgress(0);\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\n onSuccess?.(metadata);\n },\n });\n\n const previousUploads = await upload.findPreviousUploads();\n if (previousUploads.length > 0) {\n upload.resumeFromPreviousUpload(previousUploads[0]);\n }\n\n upload.start();\n };\n\n return { mutate, progress };\n};\n","import { queryOptions } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport type { Department } from \"~/models/peoplesoft/Department\";\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\nimport { getAccessToken } from \"~/lib/auth/msalClient\";\n\nconst QUERY_KEY = \"ps\";\nconst DAY = 1000 * 60 * 60 * 24;\n\nexport const api = axios.create({\n baseURL: \"https://graph.microsoft.com/v1.0\",\n});\n\napi.interceptors.request.use(async (config) => {\n const accessToken = await getAccessToken(\"graph\");\n config.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return config;\n});\n\ntype OptionalId = string | undefined | null;\n\nexport const peopleSoftQueries = {\n employeesSearch: (searchTerm: string) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\n queryFn: ({ signal }) =>\n api\n .request<Array<Employee>>({\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n employees: () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\"],\n queryFn: ({ signal }) =>\n api\n .request<Array<Employee>>({\n url: `/${QUERY_KEY}/v1/employee/all`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n activeEmployees: () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\n queryFn: ({ signal }) =>\n api\n .request<Array<Employee>>({\n url: `/${QUERY_KEY}/v1/employee/active`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n employeeById: (employeeId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", employeeId],\n queryFn: ({ signal }) =>\n api\n .request<Employee>({\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n previousEmployeeIds: () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\n queryFn: ({ signal }) =>\n api\n .request<Array<Employee>>({\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n employeeSupervisor: (employeeId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\n queryFn: ({ signal }) =>\n api\n .request<Employee>({\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n employeeSubordinates: (employeeId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\n queryFn: ({ signal }) =>\n api\n .request<Array<Employee>>({\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n employeeManager: (employeeId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\n queryFn: ({ signal }) =>\n api\n .request<Employee>({\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n employeeGeneralManager: (employeeId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\n queryFn: ({ signal }) =>\n api\n .request<Employee>({\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n departments: () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\"],\n queryFn: ({ signal }) =>\n api\n .request<Array<Department>>({\n url: `/${QUERY_KEY}/v1/department/all`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n departmentById: (departmentId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\", departmentId],\n queryFn: ({ signal }) =>\n api\n .request<Department>({\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n departmentManager: (departmentId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\n queryFn: ({ signal }) =>\n api\n .request<Employee>({\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n departmentEmployees: (departmentId: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\n queryFn: ({ signal }) =>\n api\n .request<Array<Employee>>({\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n companyGeneralManager: (companyCode: OptionalId) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\n queryFn: ({ signal }) =>\n api\n .request<Employee>({\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\n method: \"GET\",\n signal,\n })\n .then((request) => request.data),\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n }),\n};\n","import { approvalQueries } from \"./ApprovalQueries\";\nimport { fileQueries } from \"./FileQueries\";\nimport { peopleSoftQueries } from \"./PeopleSoftQueries\";\n\nexport const query = {\n peopleSoft: peopleSoftQueries,\n approval: approvalQueries,\n file: fileQueries,\n};\n"],"mappings":"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"}
|