wcz-test 6.5.0 → 6.5.2
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/chunk-O7U2PUIW.js +16 -0
- package/dist/chunk-O7U2PUIW.js.map +1 -0
- package/dist/{chunk-NHG74N3M.js → chunk-SIBFDHFS.js} +11 -9
- package/dist/chunk-SIBFDHFS.js.map +1 -0
- package/dist/client-utils.d.ts +1 -3
- package/dist/components.js +1 -1
- package/dist/hooks.d.ts +1 -3
- package/dist/index.d.ts +1 -3
- package/dist/queries.d.ts +573 -12
- package/dist/queries.js +92 -52
- package/dist/queries.js.map +1 -1
- package/dist/server-utils.js +4 -11
- package/dist/server-utils.js.map +1 -1
- package/dist/{utils-ChipkRJ9.d.ts → utils-DLRiZ02r.d.ts} +0 -2
- package/dist/utils.d.ts +37 -1
- package/dist/utils.js +83 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-NHG74N3M.js.map +0 -1
package/dist/queries.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
useOpenFile,
|
|
12
12
|
useUpdateFileMeta,
|
|
13
13
|
useUploadFile
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-SIBFDHFS.js";
|
|
15
15
|
import {
|
|
16
16
|
ApprovalStatus,
|
|
17
17
|
ApprovalStepResult
|
|
@@ -229,8 +229,11 @@ var useGetPeopleSoftCompanyGeneralManager = (companyCode, options) => {
|
|
|
229
229
|
|
|
230
230
|
// src/queries/ApprovalHooks.ts
|
|
231
231
|
import { useMutation, useQuery as useQuery2, useQueryClient } from "@tanstack/react-query";
|
|
232
|
+
|
|
233
|
+
// src/queries/Approval.ts
|
|
234
|
+
import { createIsomorphicFn } from "@tanstack/react-start";
|
|
232
235
|
import z from "zod";
|
|
233
|
-
var
|
|
236
|
+
var ROUTE = "approval";
|
|
234
237
|
var APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);
|
|
235
238
|
var GetApprovalsParamsSchema = z.object({
|
|
236
239
|
appName: z.string().min(1).max(255).default(APP_NAME).optional(),
|
|
@@ -238,98 +241,134 @@ var GetApprovalsParamsSchema = z.object({
|
|
|
238
241
|
approverEmployeeId: z.string().min(1).max(20).optional(),
|
|
239
242
|
stepResult: ApprovalStepResult.optional()
|
|
240
243
|
});
|
|
241
|
-
var
|
|
244
|
+
var getApprovalsBase = async (params, signal) => {
|
|
242
245
|
const queryParams = new URLSearchParams();
|
|
243
246
|
queryParams.append("applicationName", params?.appName ?? APP_NAME);
|
|
244
247
|
if (params?.status) queryParams.append("status", params.status.toString());
|
|
245
248
|
if (params?.approverEmployeeId) queryParams.append("approverEmployeeId", params.approverEmployeeId);
|
|
246
249
|
if (params?.stepResult) queryParams.append("stepResult", params.stepResult.toString());
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
url: `/${QUERY_KEY2}/Requests/Requests?${queryParams.toString()}`,
|
|
252
|
-
method: "GET",
|
|
253
|
-
signal
|
|
254
|
-
})
|
|
250
|
+
const request = await httpClient.request({
|
|
251
|
+
url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,
|
|
252
|
+
method: "GET",
|
|
253
|
+
signal
|
|
255
254
|
});
|
|
255
|
+
return request.data;
|
|
256
256
|
};
|
|
257
|
-
var
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
257
|
+
var getApprovalBase = async (id, signal) => {
|
|
258
|
+
const request = await httpClient.request({
|
|
259
|
+
url: `/${ROUTE}/Requests/${id}`,
|
|
260
|
+
method: "GET",
|
|
261
|
+
signal
|
|
262
|
+
});
|
|
263
|
+
return request.data;
|
|
264
|
+
};
|
|
265
|
+
var createApprovalBase = async (data) => {
|
|
266
|
+
const request = await httpClient.request({
|
|
267
|
+
url: `/${ROUTE}/Requests`,
|
|
268
|
+
method: "POST",
|
|
269
|
+
data
|
|
270
|
+
});
|
|
271
|
+
return request.data;
|
|
272
|
+
};
|
|
273
|
+
var approveApprovalBase = async (data) => {
|
|
274
|
+
const request = await httpClient.request({
|
|
275
|
+
url: `/${ROUTE}/Requests/${data.id}/single-approval`,
|
|
276
|
+
method: "POST",
|
|
277
|
+
data
|
|
278
|
+
});
|
|
279
|
+
return request.data;
|
|
280
|
+
};
|
|
281
|
+
var resubmitApprovalBase = async (data) => {
|
|
282
|
+
const request = await httpClient.request({
|
|
283
|
+
url: `/${ROUTE}/Requests/${data.id}/resubmit`,
|
|
284
|
+
method: "POST",
|
|
285
|
+
data
|
|
286
|
+
});
|
|
287
|
+
return request.data;
|
|
288
|
+
};
|
|
289
|
+
var withdrawApprovalBase = async (data) => {
|
|
290
|
+
await httpClient.request({
|
|
291
|
+
url: `/${ROUTE}/Requests/${data.id}/withdraw`,
|
|
292
|
+
method: "POST",
|
|
293
|
+
data
|
|
266
294
|
});
|
|
267
295
|
};
|
|
296
|
+
var cancelApprovalBase = async (data) => {
|
|
297
|
+
await httpClient.request({
|
|
298
|
+
url: `/${ROUTE}/Requests/${data.id}/cancel`,
|
|
299
|
+
method: "POST",
|
|
300
|
+
data
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
var getApprovals = createIsomorphicFn().server(getApprovalsBase).client(getApprovalsBase);
|
|
304
|
+
var getApproval = createIsomorphicFn().server(getApprovalBase).client(getApprovalBase);
|
|
305
|
+
var createApproval = createIsomorphicFn().server(createApprovalBase).client(createApprovalBase);
|
|
306
|
+
var approveApproval = createIsomorphicFn().server(approveApprovalBase).client(approveApprovalBase);
|
|
307
|
+
var resubmitApproval = createIsomorphicFn().server(resubmitApprovalBase).client(resubmitApprovalBase);
|
|
308
|
+
var withdrawApproval = createIsomorphicFn().server(withdrawApprovalBase).client(withdrawApprovalBase);
|
|
309
|
+
var cancelApproval = createIsomorphicFn().server(cancelApprovalBase).client(cancelApprovalBase);
|
|
310
|
+
|
|
311
|
+
// src/queries/ApprovalHooks.ts
|
|
312
|
+
var useGetApprovals = (params, options) => useQuery2({
|
|
313
|
+
...options,
|
|
314
|
+
queryKey: [ROUTE, params],
|
|
315
|
+
queryFn: ({ signal }) => getApprovals(params, signal)
|
|
316
|
+
});
|
|
317
|
+
var useGetApproval = (id, options) => useQuery2({
|
|
318
|
+
...options,
|
|
319
|
+
queryKey: [ROUTE, id],
|
|
320
|
+
queryFn: ({ signal }) => getApproval(id, signal)
|
|
321
|
+
});
|
|
268
322
|
var useCreateApproval = (options) => {
|
|
269
323
|
const queryClient = useQueryClient();
|
|
270
324
|
return useMutation({
|
|
271
325
|
...options,
|
|
272
|
-
mutationFn: (data) =>
|
|
273
|
-
|
|
274
|
-
method: "POST",
|
|
275
|
-
data
|
|
276
|
-
}),
|
|
277
|
-
onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
|
|
326
|
+
mutationFn: (data) => createApproval(data),
|
|
327
|
+
onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
|
|
278
328
|
});
|
|
279
329
|
};
|
|
280
330
|
var useApproveApproval = (options) => {
|
|
281
331
|
const queryClient = useQueryClient();
|
|
282
332
|
return useMutation({
|
|
283
333
|
...options,
|
|
284
|
-
mutationFn: (data) =>
|
|
285
|
-
|
|
286
|
-
method: "POST",
|
|
287
|
-
data
|
|
288
|
-
}),
|
|
289
|
-
onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
|
|
334
|
+
mutationFn: (data) => approveApproval(data),
|
|
335
|
+
onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
|
|
290
336
|
});
|
|
291
337
|
};
|
|
292
338
|
var useResubmitApproval = (options) => {
|
|
293
339
|
const queryClient = useQueryClient();
|
|
294
340
|
return useMutation({
|
|
295
341
|
...options,
|
|
296
|
-
mutationFn: (data) =>
|
|
297
|
-
|
|
298
|
-
method: "POST",
|
|
299
|
-
data
|
|
300
|
-
}),
|
|
301
|
-
onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
|
|
342
|
+
mutationFn: (data) => resubmitApproval(data),
|
|
343
|
+
onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
|
|
302
344
|
});
|
|
303
345
|
};
|
|
304
346
|
var useWithdrawApproval = (options) => {
|
|
305
347
|
const queryClient = useQueryClient();
|
|
306
348
|
return useMutation({
|
|
307
349
|
...options,
|
|
308
|
-
mutationFn: (data) =>
|
|
309
|
-
|
|
310
|
-
method: "POST",
|
|
311
|
-
data
|
|
312
|
-
}),
|
|
313
|
-
onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
|
|
350
|
+
mutationFn: (data) => withdrawApproval(data),
|
|
351
|
+
onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
|
|
314
352
|
});
|
|
315
353
|
};
|
|
316
354
|
var useCancelApproval = (options) => {
|
|
317
355
|
const queryClient = useQueryClient();
|
|
318
356
|
return useMutation({
|
|
319
357
|
...options,
|
|
320
|
-
mutationFn: (data) =>
|
|
321
|
-
|
|
322
|
-
method: "POST",
|
|
323
|
-
data
|
|
324
|
-
}),
|
|
325
|
-
onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
|
|
358
|
+
mutationFn: (data) => cancelApproval(data),
|
|
359
|
+
onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
|
|
326
360
|
});
|
|
327
361
|
};
|
|
328
362
|
export {
|
|
329
|
-
GetApprovalsParamsSchema,
|
|
330
363
|
GetFileMetasParamsSchema,
|
|
331
364
|
GetFileParamsSchema,
|
|
332
365
|
GetFileThumbnailParamsSchema,
|
|
366
|
+
approveApproval,
|
|
367
|
+
cancelApproval,
|
|
368
|
+
createApproval,
|
|
369
|
+
getApproval,
|
|
370
|
+
getApprovals,
|
|
371
|
+
resubmitApproval,
|
|
333
372
|
useApproveApproval,
|
|
334
373
|
useCancelApproval,
|
|
335
374
|
useCreateApproval,
|
|
@@ -359,6 +398,7 @@ export {
|
|
|
359
398
|
useResubmitApproval,
|
|
360
399
|
useUpdateFileMeta,
|
|
361
400
|
useUploadFile,
|
|
362
|
-
useWithdrawApproval
|
|
401
|
+
useWithdrawApproval,
|
|
402
|
+
withdrawApproval
|
|
363
403
|
};
|
|
364
404
|
//# sourceMappingURL=queries.js.map
|
package/dist/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport z from \"zod\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\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 type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n return useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params?.appName ?? APP_NAME, params?.status, params?.approverEmployeeId, params?.stepResult],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n });\r\n};\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => {\r\n return useQuery<Approval>({\r\n ...options,\r\n queryKey: [QUERY_KEY, id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n });\r\n};\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAMzB,IAAM,YAAY;AAClB,IAAM,MAAM,MAAO,KAAK,KAAK;AAStB,IAAM,kCAAkC,CAAC,YAAoB,YAA4C;AAC5G,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,UAAU,UAAU;AAAA,IACtD,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,uBAAuB,UAAU;AAAA,MACnD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,4BAA4B,CAAC,YAA4C;AAClF,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,UAAU;AAAA,IAChC,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,kCAAkC,CAAC,YAA4C;AACxF,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,QAAQ;AAAA,IAC1C,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,+BAA+B,CAAC,YAAwB,YAAuC;AACxG,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,UAAU;AAAA,IAC5C,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,sCAAsC,CAAC,YAA4C;AAC5F,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,aAAa;AAAA,IAC/C,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,qCAAqC,CAAC,YAAwB,YAAuC;AAC9G,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,YAAY;AAAA,IAC1D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,uCAAuC,CAAC,YAAwB,YAA4C;AACrH,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,cAAc;AAAA,IAC5D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,kCAAkC,CAAC,YAAwB,YAAuC;AAC3G,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,SAAS;AAAA,IACvD,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,yCAAyC,CAAC,YAAwB,YAAuC;AAClH,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,gBAAgB;AAAA,IAC9D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,8BAA8B,CAAC,YAA8C;AACtF,SAAO,SAA4B;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY;AAAA,IAClC,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,iCAAiC,CAAC,cAA0B,YAAyC;AAC9G,SAAO,SAAqB;AAAA,IACxB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,cAAc,YAAY;AAAA,IAChD,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,kBAAkB,YAAY;AAAA,MAChD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,oCAAoC,CAAC,cAA0B,YAAuC;AAC/G,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,cAAc,cAAc,SAAS;AAAA,IAC3D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,kBAAkB,YAAY;AAAA,MAChD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,sCAAsC,CAAC,cAA0B,YAA4C;AACtH,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,cAAc,cAAc,WAAW;AAAA,IAC7D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,kBAAkB,YAAY;AAAA,MAChD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,wCAAwC,CAAC,aAAyB,YAAuC;AAClH,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,WAAW,aAAa,gBAAgB;AAAA,IAC9D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,eAAe,WAAW;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;;;AChOA,SAAS,aAAa,YAAAA,WAAU,sBAAsB;AACtD,OAAO,OAAO;AAQd,IAAMC,aAAY;AAClB,IAAM,WAAW,YAAY,UAAU,cAAc;AAU9C,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC7C,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,QAAQ,EAAE,SAAS;AAAA,EAC/D,QAAQ,eAAe,SAAS;AAAA,EAChC,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EACvD,YAAY,mBAAmB,SAAS;AAC5C,CAAC;AAIM,IAAM,kBAAkB,CAAC,QAA6B,YAAqC;AAC9F,QAAM,cAAc,IAAI,gBAAgB;AACxC,cAAY,OAAO,mBAAmB,QAAQ,WAAW,QAAQ;AACjE,MAAI,QAAQ,OAAQ,aAAY,OAAO,UAAU,OAAO,OAAO,SAAS,CAAC;AACzE,MAAI,QAAQ,mBAAoB,aAAY,OAAO,sBAAsB,OAAO,kBAAkB;AAClG,MAAI,QAAQ,WAAY,aAAY,OAAO,cAAc,OAAO,WAAW,SAAS,CAAC;AAErF,SAAOC,UAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAACD,YAAW,QAAQ,WAAW,UAAU,QAAQ,QAAQ,QAAQ,oBAAoB,QAAQ,UAAU;AAAA,IACjH,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAIA,UAAS,sBAAsB,YAAY,SAAS,CAAC;AAAA,MAC9D,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,EACL,CAAC;AACL;AAEO,IAAM,iBAAiB,CAAC,IAAY,YAAoC;AAC3E,SAAOC,UAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAACD,YAAW,EAAE;AAAA,IACxB,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAIA,UAAS,aAAa,EAAE;AAAA,MACjC,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,EACL,CAAC;AACL;AAEO,IAAM,oBAAoB,CAAC,YAAuC;AACrE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA6C;AAAA,IAChD,GAAG;AAAA,IACH,YAAY,UAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAIA,UAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAACA,UAAS,GAAG,OAAO,MAAM,CAAC;AAAA,EAC1F,CAAC;AACL;AAEO,IAAM,qBAAqB,CAAC,YAAwC;AACvE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA8C;AAAA,IACjD,GAAG;AAAA,IACH,YAAY,UAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAIA,UAAS,aAAa,KAAK,EAAE;AAAA,MACtC,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAACA,UAAS,GAAG,OAAO,MAAM,CAAC;AAAA,EAC1F,CAAC;AACL;AAEO,IAAM,sBAAsB,CAAC,YAAyC;AACzE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA+C;AAAA,IAClD,GAAG;AAAA,IACH,YAAY,UAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAIA,UAAS,aAAa,KAAK,EAAE;AAAA,MACtC,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAACA,UAAS,GAAG,OAAO,MAAM,CAAC;AAAA,EAC1F,CAAC;AACL;AAEO,IAAM,sBAAsB,CAAC,YAAyC;AACzE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA2C;AAAA,IAC9C,GAAG;AAAA,IACH,YAAY,UAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAIA,UAAS,aAAa,KAAK,EAAE;AAAA,MACtC,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAACA,UAAS,GAAG,OAAO,MAAM,CAAC;AAAA,EAC1F,CAAC;AACL;AAEO,IAAM,oBAAoB,CAAC,YAAuC;AACrE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAyC;AAAA,IAC5C,GAAG;AAAA,IACH,YAAY,UAAQ,WAAW,QAAQ;AAAA,MACnC,KAAK,IAAIA,UAAS,aAAa,KAAK,EAAE;AAAA,MACtC,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAACA,UAAS,GAAG,OAAO,MAAM,CAAC;AAAA,EAC1F,CAAC;AACL;","names":["useQuery","QUERY_KEY","useQuery"]}
|
|
1
|
+
{"version":3,"sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts","../src/queries/Approval.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { ROUTE, approveApproval, cancelApproval, createApproval, getApproval, getApprovals, resubmitApproval, withdrawApproval } from \"./Approval\";\r\nimport type { GetApprovalsParams } from \"./Approval\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) =>\r\n useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [ROUTE, params],\r\n queryFn: ({ signal }) => getApprovals(params, signal),\r\n });\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => useQuery<Approval>({\r\n ...options,\r\n queryKey: [ROUTE, id],\r\n queryFn: ({ signal }) => getApproval(id, signal),\r\n});\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => createApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => approveApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => resubmitApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => withdrawApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => cancelApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n","import { createIsomorphicFn } from \"@tanstack/react-start\";\r\nimport z from \"zod\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { clientEnv } from \"~/env\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\n\r\nexport const ROUTE = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\nconst GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\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 type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nconst getApprovalsBase = async (params?: GetApprovalsParams, signal?: AbortSignal) => {\r\n const queryParams = new URLSearchParams();\r\n\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n const request = await httpClient.request<Array<Approval>>({\r\n url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst getApprovalBase = async (id: string, signal?: AbortSignal) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst createApprovalBase = async (data: CreateApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst approveApprovalBase = async (data: ApproveApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst resubmitApprovalBase = async (data: ResubmitApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst withdrawApprovalBase = async (data: WithdrawApproval) => {\r\n await httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data\r\n });\r\n};\r\n\r\nconst cancelApprovalBase = async (data: CancelApproval) => {\r\n await httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data\r\n });\r\n};\r\n\r\nexport const getApprovals = createIsomorphicFn().server(getApprovalsBase).client(getApprovalsBase);\r\nexport const getApproval = createIsomorphicFn().server(getApprovalBase).client(getApprovalBase);\r\nexport const createApproval = createIsomorphicFn().server(createApprovalBase).client(createApprovalBase);\r\nexport const approveApproval = createIsomorphicFn().server(approveApprovalBase).client(approveApprovalBase);\r\nexport const resubmitApproval = createIsomorphicFn().server(resubmitApprovalBase).client(resubmitApprovalBase);\r\nexport const withdrawApproval = createIsomorphicFn().server(withdrawApprovalBase).client(withdrawApprovalBase);\r\nexport const cancelApproval = createIsomorphicFn().server(cancelApprovalBase).client(cancelApprovalBase);\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAMzB,IAAM,YAAY;AAClB,IAAM,MAAM,MAAO,KAAK,KAAK;AAStB,IAAM,kCAAkC,CAAC,YAAoB,YAA4C;AAC5G,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,UAAU,UAAU;AAAA,IACtD,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,uBAAuB,UAAU;AAAA,MACnD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,4BAA4B,CAAC,YAA4C;AAClF,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,UAAU;AAAA,IAChC,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,kCAAkC,CAAC,YAA4C;AACxF,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,QAAQ;AAAA,IAC1C,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,+BAA+B,CAAC,YAAwB,YAAuC;AACxG,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,UAAU;AAAA,IAC5C,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,sCAAsC,CAAC,YAA4C;AAC5F,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,aAAa;AAAA,IAC/C,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,qCAAqC,CAAC,YAAwB,YAAuC;AAC9G,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,YAAY;AAAA,IAC1D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,uCAAuC,CAAC,YAAwB,YAA4C;AACrH,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,cAAc;AAAA,IAC5D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,kCAAkC,CAAC,YAAwB,YAAuC;AAC3G,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,SAAS;AAAA,IACvD,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,yCAAyC,CAAC,YAAwB,YAAuC;AAClH,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY,YAAY,gBAAgB;AAAA,IAC9D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,gBAAgB,UAAU;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,8BAA8B,CAAC,YAA8C;AACtF,SAAO,SAA4B;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,YAAY;AAAA,IAClC,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,iCAAiC,CAAC,cAA0B,YAAyC;AAC9G,SAAO,SAAqB;AAAA,IACxB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,cAAc,YAAY;AAAA,IAChD,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,kBAAkB,YAAY;AAAA,MAChD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,oCAAoC,CAAC,cAA0B,YAAuC;AAC/G,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,cAAc,cAAc,SAAS;AAAA,IAC3D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,kBAAkB,YAAY;AAAA,MAChD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,sCAAsC,CAAC,cAA0B,YAA4C;AACtH,SAAO,SAA0B;AAAA,IAC7B,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,cAAc,cAAc,WAAW;AAAA,IAC7D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,kBAAkB,YAAY;AAAA,MAChD,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;AAEO,IAAM,wCAAwC,CAAC,aAAyB,YAAuC;AAClH,SAAO,SAAmB;AAAA,IACtB,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,WAAW,aAAa,gBAAgB;AAAA,IAC9D,SAAS,CAAC,EAAE,OAAO,MAAM,WAAW,QAAQ;AAAA,MACxC,KAAK,IAAI,SAAS,eAAe,WAAW;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,IACD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACL;;;AChOA,SAAS,aAAa,YAAAA,WAAU,sBAAsB;;;ACAtD,SAAS,0BAA0B;AACnC,OAAO,OAAO;AAOP,IAAM,QAAQ;AACrB,IAAM,WAAW,YAAY,UAAU,cAAc;AAErD,IAAM,2BAA2B,EAAE,OAAO;AAAA,EACtC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,QAAQ,EAAE,SAAS;AAAA,EAC/D,QAAQ,eAAe,SAAS;AAAA,EAChC,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EACvD,YAAY,mBAAmB,SAAS;AAC5C,CAAC;AAID,IAAM,mBAAmB,OAAO,QAA6B,WAAyB;AAClF,QAAM,cAAc,IAAI,gBAAgB;AAExC,cAAY,OAAO,mBAAmB,QAAQ,WAAW,QAAQ;AACjE,MAAI,QAAQ,OAAQ,aAAY,OAAO,UAAU,OAAO,OAAO,SAAS,CAAC;AACzE,MAAI,QAAQ,mBAAoB,aAAY,OAAO,sBAAsB,OAAO,kBAAkB;AAClG,MAAI,QAAQ,WAAY,aAAY,OAAO,cAAc,OAAO,WAAW,SAAS,CAAC;AAErF,QAAM,UAAU,MAAM,WAAW,QAAyB;AAAA,IACtD,KAAK,IAAI,KAAK,sBAAsB,YAAY,SAAS,CAAC;AAAA,IAC1D,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AAED,SAAO,QAAQ;AACnB;AAEA,IAAM,kBAAkB,OAAO,IAAY,WAAyB;AAChE,QAAM,UAAU,MAAM,WAAW,QAAkB;AAAA,IAC/C,KAAK,IAAI,KAAK,aAAa,EAAE;AAAA,IAC7B,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AAED,SAAO,QAAQ;AACnB;AAEA,IAAM,qBAAqB,OAAO,SAAyB;AACvD,QAAM,UAAU,MAAM,WAAW,QAAkB;AAAA,IAC/C,KAAK,IAAI,KAAK;AAAA,IACd,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AAED,SAAO,QAAQ;AACnB;AAEA,IAAM,sBAAsB,OAAO,SAA0B;AACzD,QAAM,UAAU,MAAM,WAAW,QAAkB;AAAA,IAC/C,KAAK,IAAI,KAAK,aAAa,KAAK,EAAE;AAAA,IAClC,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AAED,SAAO,QAAQ;AACnB;AAEA,IAAM,uBAAuB,OAAO,SAA2B;AAC3D,QAAM,UAAU,MAAM,WAAW,QAAkB;AAAA,IAC/C,KAAK,IAAI,KAAK,aAAa,KAAK,EAAE;AAAA,IAClC,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AAED,SAAO,QAAQ;AACnB;AAEA,IAAM,uBAAuB,OAAO,SAA2B;AAC3D,QAAM,WAAW,QAAc;AAAA,IAC3B,KAAK,IAAI,KAAK,aAAa,KAAK,EAAE;AAAA,IAClC,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AACL;AAEA,IAAM,qBAAqB,OAAO,SAAyB;AACvD,QAAM,WAAW,QAAc;AAAA,IAC3B,KAAK,IAAI,KAAK,aAAa,KAAK,EAAE;AAAA,IAClC,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AACL;AAEO,IAAM,eAAe,mBAAmB,EAAE,OAAO,gBAAgB,EAAE,OAAO,gBAAgB;AAC1F,IAAM,cAAc,mBAAmB,EAAE,OAAO,eAAe,EAAE,OAAO,eAAe;AACvF,IAAM,iBAAiB,mBAAmB,EAAE,OAAO,kBAAkB,EAAE,OAAO,kBAAkB;AAChG,IAAM,kBAAkB,mBAAmB,EAAE,OAAO,mBAAmB,EAAE,OAAO,mBAAmB;AACnG,IAAM,mBAAmB,mBAAmB,EAAE,OAAO,oBAAoB,EAAE,OAAO,oBAAoB;AACtG,IAAM,mBAAmB,mBAAmB,EAAE,OAAO,oBAAoB,EAAE,OAAO,oBAAoB;AACtG,IAAM,iBAAiB,mBAAmB,EAAE,OAAO,kBAAkB,EAAE,OAAO,kBAAkB;;;ADrFhG,IAAM,kBAAkB,CAAC,QAA6B,YACzDC,UAA0B;AAAA,EACtB,GAAG;AAAA,EACH,UAAU,CAAC,OAAO,MAAM;AAAA,EACxB,SAAS,CAAC,EAAE,OAAO,MAAM,aAAa,QAAQ,MAAM;AACxD,CAAC;AAEE,IAAM,iBAAiB,CAAC,IAAY,YAAoCA,UAAmB;AAAA,EAC9F,GAAG;AAAA,EACH,UAAU,CAAC,OAAO,EAAE;AAAA,EACpB,SAAS,CAAC,EAAE,OAAO,MAAM,YAAY,IAAI,MAAM;AACnD,CAAC;AAEM,IAAM,oBAAoB,CAAC,YAAuC;AACrE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA6C;AAAA,IAChD,GAAG;AAAA,IACH,YAAY,UAAQ,eAAe,IAAI;AAAA,IACvC,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC;AAAA,EACtF,CAAC;AACL;AAEO,IAAM,qBAAqB,CAAC,YAAwC;AACvE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA8C;AAAA,IACjD,GAAG;AAAA,IACH,YAAY,UAAQ,gBAAgB,IAAI;AAAA,IACxC,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC;AAAA,EACtF,CAAC;AACL;AAEO,IAAM,sBAAsB,CAAC,YAAyC;AACzE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA+C;AAAA,IAClD,GAAG;AAAA,IACH,YAAY,UAAQ,iBAAiB,IAAI;AAAA,IACzC,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC;AAAA,EACtF,CAAC;AACL;AAEO,IAAM,sBAAsB,CAAC,YAAyC;AACzE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAA2C;AAAA,IAC9C,GAAG;AAAA,IACH,YAAY,UAAQ,iBAAiB,IAAI;AAAA,IACzC,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC;AAAA,EACtF,CAAC;AACL;AAEO,IAAM,oBAAoB,CAAC,YAAuC;AACrE,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAyC;AAAA,IAC5C,GAAG;AAAA,IACH,YAAY,UAAQ,eAAe,IAAI;AAAA,IACvC,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC;AAAA,EACtF,CAAC;AACL;","names":["useQuery","useQuery"]}
|
package/dist/server-utils.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
db
|
|
3
|
+
} from "./chunk-O7U2PUIW.js";
|
|
4
|
+
import "./chunk-MZYWQKGY.js";
|
|
4
5
|
import "./chunk-5WRI5ZAA.js";
|
|
5
6
|
|
|
6
7
|
// src/server-utils.ts
|
|
7
|
-
import { Pool as Pool2 } from "pg";
|
|
8
|
-
|
|
9
|
-
// src/lib/db/index.ts
|
|
10
|
-
import { drizzle } from "drizzle-orm/node-postgres";
|
|
11
8
|
import { Pool } from "pg";
|
|
12
|
-
var pool = new Pool({
|
|
13
|
-
connectionString: serverEnv.DATABASE_URL
|
|
14
|
-
});
|
|
15
|
-
var db = drizzle(pool);
|
|
16
9
|
export {
|
|
17
|
-
|
|
10
|
+
Pool,
|
|
18
11
|
db
|
|
19
12
|
};
|
|
20
13
|
//# sourceMappingURL=server-utils.js.map
|
package/dist/server-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server-utils.ts"
|
|
1
|
+
{"version":3,"sources":["../src/server-utils.ts"],"sourcesContent":["// PostgreSQL\r\nexport { Pool } from \"pg\";\r\n\r\n// Database\r\nexport { db } from \"./lib/db/index\";\r\n\r\n"],"mappings":";;;;;;;AACA,SAAS,YAAY;","names":[]}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,40 @@
|
|
|
1
|
-
export { h as httpClient } from './utils-
|
|
1
|
+
export { h as httpClient } from './utils-DLRiZ02r.js';
|
|
2
2
|
export { uuidv7 } from 'uuidv7';
|
|
3
3
|
export { createEnv } from '@t3-oss/env-core';
|
|
4
|
+
import * as better_call from 'better-call';
|
|
5
|
+
import * as better_auth_adapters from 'better-auth/adapters';
|
|
6
|
+
import * as better_auth from 'better-auth';
|
|
4
7
|
import 'axios';
|
|
8
|
+
|
|
9
|
+
declare const auth: better_auth.Auth<{
|
|
10
|
+
database: (options: better_auth.BetterAuthOptions) => better_auth_adapters.DBAdapter<better_auth.BetterAuthOptions>;
|
|
11
|
+
session: {
|
|
12
|
+
cookieCache: {
|
|
13
|
+
enabled: true;
|
|
14
|
+
maxAge: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
socialProviders: {
|
|
18
|
+
microsoft: {
|
|
19
|
+
clientId: string;
|
|
20
|
+
clientSecret: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
plugins: [{
|
|
24
|
+
id: "react-start-cookies";
|
|
25
|
+
hooks: {
|
|
26
|
+
after: {
|
|
27
|
+
matcher(ctx: better_call.EndpointContext<string, any> & Omit<better_call.InputContext<string, any>, "method"> & {
|
|
28
|
+
context: better_auth.AuthContext & {
|
|
29
|
+
returned?: unknown;
|
|
30
|
+
responseHeaders?: Headers;
|
|
31
|
+
};
|
|
32
|
+
headers?: Headers;
|
|
33
|
+
}): true;
|
|
34
|
+
handler: (inputContext: better_call.MiddlewareInputContext<better_call.MiddlewareOptions>) => Promise<void>;
|
|
35
|
+
}[];
|
|
36
|
+
};
|
|
37
|
+
}];
|
|
38
|
+
}>;
|
|
39
|
+
|
|
40
|
+
export { auth };
|
package/dist/utils.js
CHANGED
|
@@ -1,13 +1,95 @@
|
|
|
1
1
|
import {
|
|
2
2
|
httpClient
|
|
3
3
|
} from "./chunk-T723TJ46.js";
|
|
4
|
-
import
|
|
4
|
+
import {
|
|
5
|
+
db
|
|
6
|
+
} from "./chunk-O7U2PUIW.js";
|
|
7
|
+
import {
|
|
8
|
+
serverEnv
|
|
9
|
+
} from "./chunk-MZYWQKGY.js";
|
|
5
10
|
import "./chunk-5WRI5ZAA.js";
|
|
6
11
|
|
|
7
12
|
// src/utils.ts
|
|
8
13
|
import { uuidv7 } from "uuidv7";
|
|
9
14
|
import { createEnv } from "@t3-oss/env-core";
|
|
15
|
+
|
|
16
|
+
// src/lib/auth/auth.ts
|
|
17
|
+
import { betterAuth } from "better-auth";
|
|
18
|
+
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
|
19
|
+
import { reactStartCookies } from "better-auth/react-start";
|
|
20
|
+
|
|
21
|
+
// src/lib/db/schema/auth.ts
|
|
22
|
+
import { boolean, pgTable, text, timestamp } from "drizzle-orm/pg-core";
|
|
23
|
+
var user = pgTable("user", {
|
|
24
|
+
id: text("id").primaryKey(),
|
|
25
|
+
name: text("name").notNull(),
|
|
26
|
+
email: text("email").notNull().unique(),
|
|
27
|
+
emailVerified: boolean("email_verified").default(false).notNull(),
|
|
28
|
+
image: text("image"),
|
|
29
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
30
|
+
updatedAt: timestamp("updated_at").defaultNow().$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
31
|
+
});
|
|
32
|
+
var session = pgTable("session", {
|
|
33
|
+
id: text("id").primaryKey(),
|
|
34
|
+
expiresAt: timestamp("expires_at").notNull(),
|
|
35
|
+
token: text("token").notNull().unique(),
|
|
36
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
37
|
+
updatedAt: timestamp("updated_at").$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
|
|
38
|
+
ipAddress: text("ip_address"),
|
|
39
|
+
userAgent: text("user_agent"),
|
|
40
|
+
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" })
|
|
41
|
+
});
|
|
42
|
+
var account = pgTable("account", {
|
|
43
|
+
id: text("id").primaryKey(),
|
|
44
|
+
accountId: text("account_id").notNull(),
|
|
45
|
+
providerId: text("provider_id").notNull(),
|
|
46
|
+
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
|
|
47
|
+
accessToken: text("access_token"),
|
|
48
|
+
refreshToken: text("refresh_token"),
|
|
49
|
+
idToken: text("id_token"),
|
|
50
|
+
accessTokenExpiresAt: timestamp("access_token_expires_at"),
|
|
51
|
+
refreshTokenExpiresAt: timestamp("refresh_token_expires_at"),
|
|
52
|
+
scope: text("scope"),
|
|
53
|
+
password: text("password"),
|
|
54
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
55
|
+
updatedAt: timestamp("updated_at").$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
56
|
+
});
|
|
57
|
+
var verification = pgTable("verification", {
|
|
58
|
+
id: text("id").primaryKey(),
|
|
59
|
+
identifier: text("identifier").notNull(),
|
|
60
|
+
value: text("value").notNull(),
|
|
61
|
+
expiresAt: timestamp("expires_at").notNull(),
|
|
62
|
+
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
63
|
+
updatedAt: timestamp("updated_at").defaultNow().$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// src/lib/auth/auth.ts
|
|
67
|
+
var auth = betterAuth({
|
|
68
|
+
database: drizzleAdapter(db, {
|
|
69
|
+
provider: "pg",
|
|
70
|
+
schema: {
|
|
71
|
+
user,
|
|
72
|
+
session,
|
|
73
|
+
account,
|
|
74
|
+
verification
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
session: {
|
|
78
|
+
cookieCache: {
|
|
79
|
+
enabled: true,
|
|
80
|
+
maxAge: 5 * 60
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
socialProviders: {
|
|
84
|
+
microsoft: {
|
|
85
|
+
clientId: serverEnv.MICROSOFT_CLIENT_ID,
|
|
86
|
+
clientSecret: serverEnv.MICROSOFT_CLIENT_SECRET
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
plugins: [reactStartCookies()]
|
|
90
|
+
});
|
|
10
91
|
export {
|
|
92
|
+
auth,
|
|
11
93
|
createEnv,
|
|
12
94
|
httpClient,
|
|
13
95
|
uuidv7
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.ts"],"sourcesContent":["export { httpClient } from \"./lib/utils\";\r\nexport { uuidv7 } from \"uuidv7\";\r\nexport { createEnv } from \"@t3-oss/env-core\";\r\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts","../src/lib/auth/auth.ts","../src/lib/db/schema/auth.ts"],"sourcesContent":["export { httpClient } from \"./lib/utils\";\r\nexport { uuidv7 } from \"uuidv7\";\r\nexport { createEnv } from \"@t3-oss/env-core\";\r\nexport { auth } from \"./lib/auth/auth\";\r\n","import { betterAuth } from \"better-auth\";\r\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\r\nimport { reactStartCookies } from \"better-auth/react-start\";\r\nimport { db } from \"../db\";\r\nimport { account, session, user, verification } from \"../db/schema/auth\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nexport const auth = betterAuth({\r\n database: drizzleAdapter(db, {\r\n provider: \"pg\",\r\n schema: {\r\n user,\r\n session,\r\n account,\r\n verification\r\n }\r\n }),\r\n session: {\r\n cookieCache: {\r\n enabled: true,\r\n maxAge: 5 * 60,\r\n },\r\n },\r\n socialProviders: {\r\n microsoft: {\r\n clientId: serverEnv.MICROSOFT_CLIENT_ID,\r\n clientSecret: serverEnv.MICROSOFT_CLIENT_SECRET\r\n }\r\n },\r\n plugins: [reactStartCookies()]\r\n});\r\n","import { boolean, pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\n\nexport const user = pgTable(\"user\", {\n id: text(\"id\").primaryKey(),\n name: text(\"name\").notNull(),\n email: text(\"email\").notNull().unique(),\n emailVerified: boolean(\"email_verified\").default(false).notNull(),\n image: text(\"image\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .defaultNow()\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n\nexport const session = pgTable(\"session\", {\n id: text(\"id\").primaryKey(),\n expiresAt: timestamp(\"expires_at\").notNull(),\n token: text(\"token\").notNull().unique(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n ipAddress: text(\"ip_address\"),\n userAgent: text(\"user_agent\"),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n});\n\nexport const account = pgTable(\"account\", {\n id: text(\"id\").primaryKey(),\n accountId: text(\"account_id\").notNull(),\n providerId: text(\"provider_id\").notNull(),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n accessToken: text(\"access_token\"),\n refreshToken: text(\"refresh_token\"),\n idToken: text(\"id_token\"),\n accessTokenExpiresAt: timestamp(\"access_token_expires_at\"),\n refreshTokenExpiresAt: timestamp(\"refresh_token_expires_at\"),\n scope: text(\"scope\"),\n password: text(\"password\"),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n\nexport const verification = pgTable(\"verification\", {\n id: text(\"id\").primaryKey(),\n identifier: text(\"identifier\").notNull(),\n value: text(\"value\").notNull(),\n expiresAt: timestamp(\"expires_at\").notNull(),\n createdAt: timestamp(\"created_at\").defaultNow().notNull(),\n updatedAt: timestamp(\"updated_at\")\n .defaultNow()\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n"],"mappings":";;;;;;;;;;;;AACA,SAAS,cAAc;AACvB,SAAS,iBAAiB;;;ACF1B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;;;ACFlC,SAAS,SAAS,SAAS,MAAM,iBAAiB;AAE3C,IAAM,OAAO,QAAQ,QAAQ;AAAA,EAClC,IAAI,KAAK,IAAI,EAAE,WAAW;AAAA,EAC1B,MAAM,KAAK,MAAM,EAAE,QAAQ;AAAA,EAC3B,OAAO,KAAK,OAAO,EAAE,QAAQ,EAAE,OAAO;AAAA,EACtC,eAAe,QAAQ,gBAAgB,EAAE,QAAQ,KAAK,EAAE,QAAQ;AAAA,EAChE,OAAO,KAAK,OAAO;AAAA,EACnB,WAAW,UAAU,YAAY,EAAE,WAAW,EAAE,QAAQ;AAAA,EACxD,WAAW,UAAU,YAAY,EAC9B,WAAW,EACX,UAAU,MAAsB,oBAAI,KAAK,CAAC,EAC1C,QAAQ;AACb,CAAC;AAEM,IAAM,UAAU,QAAQ,WAAW;AAAA,EACxC,IAAI,KAAK,IAAI,EAAE,WAAW;AAAA,EAC1B,WAAW,UAAU,YAAY,EAAE,QAAQ;AAAA,EAC3C,OAAO,KAAK,OAAO,EAAE,QAAQ,EAAE,OAAO;AAAA,EACtC,WAAW,UAAU,YAAY,EAAE,WAAW,EAAE,QAAQ;AAAA,EACxD,WAAW,UAAU,YAAY,EAC9B,UAAU,MAAsB,oBAAI,KAAK,CAAC,EAC1C,QAAQ;AAAA,EACX,WAAW,KAAK,YAAY;AAAA,EAC5B,WAAW,KAAK,YAAY;AAAA,EAC5B,QAAQ,KAAK,SAAS,EACnB,QAAQ,EACR,WAAW,MAAM,KAAK,IAAI,EAAE,UAAU,UAAU,CAAC;AACtD,CAAC;AAEM,IAAM,UAAU,QAAQ,WAAW;AAAA,EACxC,IAAI,KAAK,IAAI,EAAE,WAAW;AAAA,EAC1B,WAAW,KAAK,YAAY,EAAE,QAAQ;AAAA,EACtC,YAAY,KAAK,aAAa,EAAE,QAAQ;AAAA,EACxC,QAAQ,KAAK,SAAS,EACnB,QAAQ,EACR,WAAW,MAAM,KAAK,IAAI,EAAE,UAAU,UAAU,CAAC;AAAA,EACpD,aAAa,KAAK,cAAc;AAAA,EAChC,cAAc,KAAK,eAAe;AAAA,EAClC,SAAS,KAAK,UAAU;AAAA,EACxB,sBAAsB,UAAU,yBAAyB;AAAA,EACzD,uBAAuB,UAAU,0BAA0B;AAAA,EAC3D,OAAO,KAAK,OAAO;AAAA,EACnB,UAAU,KAAK,UAAU;AAAA,EACzB,WAAW,UAAU,YAAY,EAAE,WAAW,EAAE,QAAQ;AAAA,EACxD,WAAW,UAAU,YAAY,EAC9B,UAAU,MAAsB,oBAAI,KAAK,CAAC,EAC1C,QAAQ;AACb,CAAC;AAEM,IAAM,eAAe,QAAQ,gBAAgB;AAAA,EAClD,IAAI,KAAK,IAAI,EAAE,WAAW;AAAA,EAC1B,YAAY,KAAK,YAAY,EAAE,QAAQ;AAAA,EACvC,OAAO,KAAK,OAAO,EAAE,QAAQ;AAAA,EAC7B,WAAW,UAAU,YAAY,EAAE,QAAQ;AAAA,EAC3C,WAAW,UAAU,YAAY,EAAE,WAAW,EAAE,QAAQ;AAAA,EACxD,WAAW,UAAU,YAAY,EAC9B,WAAW,EACX,UAAU,MAAsB,oBAAI,KAAK,CAAC,EAC1C,QAAQ;AACb,CAAC;;;ADrDM,IAAM,OAAO,WAAW;AAAA,EAC3B,UAAU,eAAe,IAAI;AAAA,IACzB,UAAU;AAAA,IACV,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,CAAC;AAAA,EACD,SAAS;AAAA,IACL,aAAa;AAAA,MACT,SAAS;AAAA,MACT,QAAQ,IAAI;AAAA,IAChB;AAAA,EACJ;AAAA,EACA,iBAAiB;AAAA,IACb,WAAW;AAAA,MACP,UAAU,UAAU;AAAA,MACpB,cAAc,UAAU;AAAA,IAC5B;AAAA,EACJ;AAAA,EACA,SAAS,CAAC,kBAAkB,CAAC;AACjC,CAAC;","names":[]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema,\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta.id);\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema,\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta.id);\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_BASE_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n // headers: { \"Authorization\": `Bearer ${await getToken()}` }, //TODO: implement token retrieval\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"mappings":"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","names":[]}
|