wcz-layout 6.7.2 → 8.3.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/Approval-BTJTexDo.js +143 -0
- package/dist/Approval-BTJTexDo.js.map +1 -0
- package/dist/DialogsContext-DLqA8RJ_.js +7 -0
- package/dist/DialogsContext-DLqA8RJ_.js.map +1 -0
- package/dist/Email-C9qwj7GD.js +20 -0
- package/dist/Email-C9qwj7GD.js.map +1 -0
- package/dist/FileMeta-DDqUju1Y.js +19 -0
- package/dist/FileMeta-DDqUju1Y.js.map +1 -0
- package/dist/FileMeta-ILLTOjaM.d.ts +20 -0
- package/dist/NotificationContext-CgwUOeW0.js +7 -0
- package/dist/NotificationContext-CgwUOeW0.js.map +1 -0
- package/dist/RouterListItemButton-owZVvuC_.js +78 -0
- package/dist/RouterListItemButton-owZVvuC_.js.map +1 -0
- package/dist/User-CT_IDGuG.d.ts +15 -0
- package/dist/apiMiddleware-CtY4rOFU.js +23 -0
- package/dist/apiMiddleware-CtY4rOFU.js.map +1 -0
- package/dist/components.d.ts +118 -0
- package/dist/components.js +1554 -0
- package/dist/components.js.map +1 -0
- package/dist/data/client.d.ts +3111 -0
- package/dist/data/client.js +188 -0
- package/dist/data/client.js.map +1 -0
- package/dist/data/server.d.ts +19 -0
- package/dist/data/server.js +16 -0
- package/dist/data/server.js.map +1 -0
- package/dist/data.d.ts +7 -0
- package/dist/data.js +2 -0
- package/dist/env-ON-cyE3N.js +31 -0
- package/dist/env-ON-cyE3N.js.map +1 -0
- package/dist/file-BUdLb7H1.js +148 -0
- package/dist/file-BUdLb7H1.js.map +1 -0
- package/dist/file-Dsht7yOP.js +100 -0
- package/dist/file-Dsht7yOP.js.map +1 -0
- package/dist/hooks.d.ts +226 -0
- package/dist/hooks.js +1180 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +2106 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware.d.ts +47 -0
- package/dist/middleware.js +80 -0
- package/dist/middleware.js.map +1 -0
- package/dist/models.d.ts +474 -0
- package/dist/models.js +74 -0
- package/dist/models.js.map +1 -0
- package/dist/msalClient-CYiQAFnY.d.ts +15 -0
- package/dist/msalServer-B9sVqpQ2.js +47 -0
- package/dist/msalServer-B9sVqpQ2.js.map +1 -0
- package/dist/peoplesoft-BCjRje6b.js +240 -0
- package/dist/peoplesoft-BCjRje6b.js.map +1 -0
- package/dist/peoplesoft-Cze2ngGd.d.ts +1150 -0
- package/dist/queryClient-D64McLhZ.js +7 -0
- package/dist/queryClient-D64McLhZ.js.map +1 -0
- package/dist/useDialogs-BJVhBr8S.js +248 -0
- package/dist/useDialogs-BJVhBr8S.js.map +1 -0
- package/dist/utils-BMUmv2ws.js +191 -0
- package/dist/utils-BMUmv2ws.js.map +1 -0
- package/dist/utils-CvvyM8Xw.d.ts +56 -0
- package/dist/utils.d.ts +21 -0
- package/dist/utils.js +6 -0
- package/dist/vite.d.ts +7 -0
- package/dist/vite.js +147 -0
- package/dist/vite.js.map +1 -0
- package/package.json +158 -62
- package/skills/client-db/SKILL.md +107 -0
- package/skills/data-grid/SKILL.md +147 -0
- package/skills/db-schema/SKILL.md +68 -0
- package/skills/dialogs/SKILL.md +79 -0
- package/skills/forms/SKILL.md +82 -0
- package/skills/general/SKILL.md +17 -0
- package/skills/notifications/SKILL.md +43 -0
- package/skills/routing/SKILL.md +123 -0
- package/skills/server-functions/SKILL.md +109 -0
- package/skills/services/SKILL.md +28 -0
- package/skills/services/docs/approval.md +204 -0
- package/skills/services/docs/email.md +32 -0
- package/skills/services/docs/file.md +85 -0
- package/skills/services/docs/peoplesoft.md +110 -0
- package/skills/start/SKILL.md +46 -0
- package/skills/start/steps/01-git-setup.md +10 -0
- package/skills/start/steps/02-project-name-setup.md +14 -0
- package/skills/start/steps/03-apm-setup.md +208 -0
- package/skills/start/steps/04-database-setup.md +37 -0
- package/skills/start/steps/05-entra-setup.md +59 -0
- package/skills/start/steps/06-vault-setup.md +53 -0
- package/skills/start/steps/07-generate-favicon.md +10 -0
- package/skills/start/steps/08-commit.md +15 -0
- package/dist/src/components/Layout.d.ts +0 -16
- package/dist/src/components/Layout.js +0 -122
- package/dist/src/components/Layout.js.map +0 -1
- package/dist/src/components/dataGrid/ChipInputCell.d.ts +0 -9
- package/dist/src/components/dataGrid/ChipInputCell.js +0 -17
- package/dist/src/components/dataGrid/ChipInputCell.js.map +0 -1
- package/dist/src/components/dataGrid/EditableColumnHeader.d.ts +0 -2
- package/dist/src/components/dataGrid/EditableColumnHeader.js +0 -7
- package/dist/src/components/dataGrid/EditableColumnHeader.js.map +0 -1
- package/dist/src/components/dataGrid/GridToolbar.d.ts +0 -8
- package/dist/src/components/dataGrid/GridToolbar.js +0 -40
- package/dist/src/components/dataGrid/GridToolbar.js.map +0 -1
- package/dist/src/components/dataGrid/TableContainer.d.ts +0 -3
- package/dist/src/components/dataGrid/TableContainer.js +0 -32
- package/dist/src/components/dataGrid/TableContainer.js.map +0 -1
- package/dist/src/components/form/FormAutocomplete.d.ts +0 -7
- package/dist/src/components/form/FormAutocomplete.js +0 -10
- package/dist/src/components/form/FormAutocomplete.js.map +0 -1
- package/dist/src/components/form/FormCheckbox.d.ts +0 -7
- package/dist/src/components/form/FormCheckbox.js +0 -11
- package/dist/src/components/form/FormCheckbox.js.map +0 -1
- package/dist/src/components/form/FormDatePicker.d.ts +0 -9
- package/dist/src/components/form/FormDatePicker.js +0 -19
- package/dist/src/components/form/FormDatePicker.js.map +0 -1
- package/dist/src/components/form/FormDateTimePicker.d.ts +0 -9
- package/dist/src/components/form/FormDateTimePicker.js +0 -19
- package/dist/src/components/form/FormDateTimePicker.js.map +0 -1
- package/dist/src/components/form/FormNumberField.d.ts +0 -12
- package/dist/src/components/form/FormNumberField.js +0 -12
- package/dist/src/components/form/FormNumberField.js.map +0 -1
- package/dist/src/components/form/FormRadioGroup.d.ts +0 -13
- package/dist/src/components/form/FormRadioGroup.js +0 -11
- package/dist/src/components/form/FormRadioGroup.js.map +0 -1
- package/dist/src/components/form/FormSlider.d.ts +0 -7
- package/dist/src/components/form/FormSlider.js +0 -11
- package/dist/src/components/form/FormSlider.js.map +0 -1
- package/dist/src/components/form/FormSubmitButton.d.ts +0 -5
- package/dist/src/components/form/FormSubmitButton.js +0 -13
- package/dist/src/components/form/FormSubmitButton.js.map +0 -1
- package/dist/src/components/form/FormSwitch.d.ts +0 -7
- package/dist/src/components/form/FormSwitch.js +0 -11
- package/dist/src/components/form/FormSwitch.js.map +0 -1
- package/dist/src/components/form/FormTextField.d.ts +0 -7
- package/dist/src/components/form/FormTextField.js +0 -11
- package/dist/src/components/form/FormTextField.js.map +0 -1
- package/dist/src/components/layout/AccountMenu.d.ts +0 -9
- package/dist/src/components/layout/AccountMenu.js +0 -44
- package/dist/src/components/layout/AccountMenu.js.map +0 -1
- package/dist/src/components/layout/DevelopmentBanner.d.ts +0 -7
- package/dist/src/components/layout/DevelopmentBanner.js +0 -29
- package/dist/src/components/layout/DevelopmentBanner.js.map +0 -1
- package/dist/src/components/layout/ErrorPage.d.ts +0 -2
- package/dist/src/components/layout/ErrorPage.js +0 -25
- package/dist/src/components/layout/ErrorPage.js.map +0 -1
- package/dist/src/components/layout/LayoutDialog.d.ts +0 -12
- package/dist/src/components/layout/LayoutDialog.js +0 -12
- package/dist/src/components/layout/LayoutDialog.js.map +0 -1
- package/dist/src/components/layout/LayoutSnackbar.d.ts +0 -8
- package/dist/src/components/layout/LayoutSnackbar.js +0 -25
- package/dist/src/components/layout/LayoutSnackbar.js.map +0 -1
- package/dist/src/components/layout/NavigationDrawer.d.ts +0 -11
- package/dist/src/components/layout/NavigationDrawer.js +0 -70
- package/dist/src/components/layout/NavigationDrawer.js.map +0 -1
- package/dist/src/components/layout/NotificationMenu.d.ts +0 -8
- package/dist/src/components/layout/NotificationMenu.js +0 -26
- package/dist/src/components/layout/NotificationMenu.js.map +0 -1
- package/dist/src/components/layout/TypographyWithIcon.d.ts +0 -7
- package/dist/src/components/layout/TypographyWithIcon.js +0 -22
- package/dist/src/components/layout/TypographyWithIcon.js.map +0 -1
- package/dist/src/components/layout/Unauthorized.d.ts +0 -2
- package/dist/src/components/layout/Unauthorized.js +0 -26
- package/dist/src/components/layout/Unauthorized.js.map +0 -1
- package/dist/src/contexts/LayoutContext.d.ts +0 -40
- package/dist/src/contexts/LayoutContext.js +0 -60
- package/dist/src/contexts/LayoutContext.js.map +0 -1
- package/dist/src/contexts/UserContext.d.ts +0 -24
- package/dist/src/contexts/UserContext.js +0 -55
- package/dist/src/contexts/UserContext.js.map +0 -1
- package/dist/src/hooks/FormHooks.d.ts +0 -46
- package/dist/src/hooks/FormHooks.js +0 -31
- package/dist/src/hooks/FormHooks.js.map +0 -1
- package/dist/src/hooks/UseSnackbar.d.ts +0 -10
- package/dist/src/hooks/UseSnackbar.js +0 -23
- package/dist/src/hooks/UseSnackbar.js.map +0 -1
- package/dist/src/hooks/UseUser.d.ts +0 -10
- package/dist/src/hooks/UseUser.js +0 -25
- package/dist/src/hooks/UseUser.js.map +0 -1
- package/dist/src/index.d.ts +0 -20
- package/dist/src/index.js +0 -15
- package/dist/src/index.js.map +0 -1
- package/dist/src/models/Error.d.ts +0 -6
- package/dist/src/models/Error.js +0 -2
- package/dist/src/models/Error.js.map +0 -1
- package/dist/src/models/KeycloakSettings.d.ts +0 -8
- package/dist/src/models/KeycloakSettings.js +0 -2
- package/dist/src/models/KeycloakSettings.js.map +0 -1
- package/dist/src/models/LayoutPaletteColorOptions.d.ts +0 -6
- package/dist/src/models/LayoutPaletteColorOptions.js +0 -2
- package/dist/src/models/LayoutPaletteColorOptions.js.map +0 -1
- package/dist/src/models/LayoutRoute.d.ts +0 -14
- package/dist/src/models/LayoutRoute.js +0 -2
- package/dist/src/models/LayoutRoute.js.map +0 -1
- package/dist/src/models/Notification.d.ts +0 -9
- package/dist/src/models/Notification.js +0 -2
- package/dist/src/models/Notification.js.map +0 -1
- package/dist/src/models/PeoplesoftDepartment.d.ts +0 -14
- package/dist/src/models/PeoplesoftDepartment.js +0 -2
- package/dist/src/models/PeoplesoftDepartment.js.map +0 -1
- package/dist/src/models/PeoplesoftEmployee.d.ts +0 -34
- package/dist/src/models/PeoplesoftEmployee.js +0 -2
- package/dist/src/models/PeoplesoftEmployee.js.map +0 -1
- package/dist/src/models/Snackbar.d.ts +0 -15
- package/dist/src/models/Snackbar.js +0 -2
- package/dist/src/models/Snackbar.js.map +0 -1
- package/dist/src/models/User.d.ts +0 -27
- package/dist/src/models/User.js +0 -11
- package/dist/src/models/User.js.map +0 -1
- package/dist/src/models/types/EmployeeCategoryGroup.d.ts +0 -1
- package/dist/src/models/types/EmployeeCategoryGroup.js +0 -2
- package/dist/src/models/types/EmployeeCategoryGroup.js.map +0 -1
- package/dist/src/models/types/EmployeeStatus.d.ts +0 -1
- package/dist/src/models/types/EmployeeStatus.js +0 -2
- package/dist/src/models/types/EmployeeStatus.js.map +0 -1
- package/dist/src/utils/Auth.d.ts +0 -12
- package/dist/src/utils/Auth.js +0 -49
- package/dist/src/utils/Auth.js.map +0 -1
- package/dist/src/utils/Fetches.d.ts +0 -5
- package/dist/src/utils/Fetches.js +0 -66
- package/dist/src/utils/Fetches.js.map +0 -1
- package/dist/src/utils/FormUtils.d.ts +0 -7
- package/dist/src/utils/FormUtils.js +0 -9
- package/dist/src/utils/FormUtils.js.map +0 -1
- package/dist/src/utils/Helpers.d.ts +0 -11
- package/dist/src/utils/Helpers.js +0 -26
- package/dist/src/utils/Helpers.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/components/Layout.tsx +0 -183
- package/src/components/dataGrid/ChipInputCell.tsx +0 -31
- package/src/components/dataGrid/EditableColumnHeader.tsx +0 -7
- package/src/components/dataGrid/GridToolbar.tsx +0 -63
- package/src/components/dataGrid/TableContainer.tsx +0 -39
- package/src/components/form/FormAutocomplete.tsx +0 -34
- package/src/components/form/FormCheckbox.tsx +0 -32
- package/src/components/form/FormDatePicker.tsx +0 -34
- package/src/components/form/FormDateTimePicker.tsx +0 -34
- package/src/components/form/FormNumberField.tsx +0 -33
- package/src/components/form/FormRadioGroup.tsx +0 -43
- package/src/components/form/FormSlider.tsx +0 -28
- package/src/components/form/FormSubmitButton.tsx +0 -29
- package/src/components/form/FormSwitch.tsx +0 -32
- package/src/components/form/FormTextField.tsx +0 -26
- package/src/components/layout/AccountMenu.tsx +0 -160
- package/src/components/layout/DevelopmentBanner.tsx +0 -54
- package/src/components/layout/ErrorPage.tsx +0 -34
- package/src/components/layout/LayoutDialog.tsx +0 -50
- package/src/components/layout/LayoutSnackbar.tsx +0 -44
- package/src/components/layout/NavigationDrawer.tsx +0 -131
- package/src/components/layout/NotificationMenu.tsx +0 -76
- package/src/components/layout/TypographyWithIcon.tsx +0 -35
- package/src/components/layout/Unauthorized.tsx +0 -37
- package/src/contexts/LayoutContext.tsx +0 -127
- package/src/contexts/UserContext.tsx +0 -88
- package/src/hooks/FormHooks.ts +0 -33
- package/src/hooks/UseSnackbar.tsx +0 -28
- package/src/hooks/UseUser.tsx +0 -29
- package/src/index.ts +0 -27
- package/src/models/Error.tsx +0 -6
- package/src/models/KeycloakSettings.ts +0 -8
- package/src/models/LayoutPaletteColorOptions.tsx +0 -7
- package/src/models/LayoutRoute.ts +0 -15
- package/src/models/Notification.ts +0 -10
- package/src/models/PeoplesoftDepartment.ts +0 -15
- package/src/models/PeoplesoftEmployee.ts +0 -35
- package/src/models/Snackbar.ts +0 -16
- package/src/models/User.ts +0 -13
- package/src/models/types/EmployeeCategoryGroup.ts +0 -1
- package/src/models/types/EmployeeStatus.ts +0 -1
- package/src/utils/Auth.ts +0 -58
- package/src/utils/Fetches.ts +0 -83
- package/src/utils/FormUtils.ts +0 -22
- package/src/utils/Helpers.ts +0 -27
- package/tsconfig.json +0 -29
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { t as queryClient } from "../queryClient-D64McLhZ.js";
|
|
2
|
+
import { a as fileQueryOptions, c as updateFileMetaMutationOptions, i as fileMetasQueryOptions, l as useUploadFile, n as deleteFileMutationOptions, o as fileThumbnailQueryOptions, r as downloadFileMutationOptions, s as openFileMutationOptions, t as batchDeleteFilesMutationOptions } from "../file-Dsht7yOP.js";
|
|
3
|
+
import { C as createApproval, D as withdrawApproval, E as resubmitApproval, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, l as getDepartmentManager, m as getEmployeeSubordinates, o as getCompanyGeneralManager, p as getEmployeeManager, s as getDepartmentById, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval } from "../peoplesoft-BCjRje6b.js";
|
|
4
|
+
import { mutationOptions, queryOptions } from "@tanstack/react-query";
|
|
5
|
+
//#region src/data/client/approval.ts
|
|
6
|
+
const QUERY_KEY$1 = "approval";
|
|
7
|
+
const approvalsQueryOptions = (params) => queryOptions({
|
|
8
|
+
queryKey: [QUERY_KEY$1, params],
|
|
9
|
+
queryFn: () => getApprovals({ data: params })
|
|
10
|
+
});
|
|
11
|
+
const approvalQueryOptions = (params) => queryOptions({
|
|
12
|
+
queryKey: [QUERY_KEY$1, params],
|
|
13
|
+
queryFn: () => getApproval({ data: params })
|
|
14
|
+
});
|
|
15
|
+
const createApprovalMutationOptions = () => mutationOptions({
|
|
16
|
+
mutationFn: (data) => createApproval({ data }),
|
|
17
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
18
|
+
queryKey: [QUERY_KEY$1],
|
|
19
|
+
exact: false
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
const approveApprovalMutationOptions = () => mutationOptions({
|
|
23
|
+
mutationFn: (data) => approveApproval({ data }),
|
|
24
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
25
|
+
queryKey: [QUERY_KEY$1],
|
|
26
|
+
exact: false
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
const resubmitApprovalMutationOptions = () => mutationOptions({
|
|
30
|
+
mutationFn: (data) => resubmitApproval({ data }),
|
|
31
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
32
|
+
queryKey: [QUERY_KEY$1],
|
|
33
|
+
exact: false
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
const withdrawApprovalMutationOptions = () => mutationOptions({
|
|
37
|
+
mutationFn: (data) => withdrawApproval({ data }),
|
|
38
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
39
|
+
queryKey: [QUERY_KEY$1],
|
|
40
|
+
exact: false
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
const cancelApprovalMutationOptions = () => mutationOptions({
|
|
44
|
+
mutationFn: (data) => cancelApproval({ data }),
|
|
45
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
46
|
+
queryKey: [QUERY_KEY$1],
|
|
47
|
+
exact: false
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/data/client/peoplesoft.ts
|
|
52
|
+
const QUERY_KEY = "ps";
|
|
53
|
+
const DAY = 1e3 * 60 * 60 * 24;
|
|
54
|
+
const baseOptions = {
|
|
55
|
+
staleTime: DAY,
|
|
56
|
+
gcTime: DAY,
|
|
57
|
+
refetchOnWindowFocus: false
|
|
58
|
+
};
|
|
59
|
+
const employeesSearchQueryOptions = (params) => queryOptions({
|
|
60
|
+
queryKey: [
|
|
61
|
+
QUERY_KEY,
|
|
62
|
+
"employee",
|
|
63
|
+
"search",
|
|
64
|
+
params
|
|
65
|
+
],
|
|
66
|
+
queryFn: () => searchEmployees({ data: params }),
|
|
67
|
+
...baseOptions
|
|
68
|
+
});
|
|
69
|
+
const employeesQueryOptions = () => queryOptions({
|
|
70
|
+
queryKey: [QUERY_KEY, "employee"],
|
|
71
|
+
queryFn: () => getEmployees(),
|
|
72
|
+
...baseOptions
|
|
73
|
+
});
|
|
74
|
+
const activeEmployeesQueryOptions = () => queryOptions({
|
|
75
|
+
queryKey: [
|
|
76
|
+
QUERY_KEY,
|
|
77
|
+
"employee",
|
|
78
|
+
"active"
|
|
79
|
+
],
|
|
80
|
+
queryFn: () => getActiveEmployees(),
|
|
81
|
+
...baseOptions
|
|
82
|
+
});
|
|
83
|
+
const employeeByIdQueryOptions = (params) => queryOptions({
|
|
84
|
+
queryKey: [
|
|
85
|
+
QUERY_KEY,
|
|
86
|
+
"employee",
|
|
87
|
+
params
|
|
88
|
+
],
|
|
89
|
+
queryFn: () => getEmployeeByEmployeeId({ data: params }),
|
|
90
|
+
...baseOptions
|
|
91
|
+
});
|
|
92
|
+
const previousEmployeeIdsQueryOptions = () => queryOptions({
|
|
93
|
+
queryKey: [
|
|
94
|
+
QUERY_KEY,
|
|
95
|
+
"employee",
|
|
96
|
+
"previousIds"
|
|
97
|
+
],
|
|
98
|
+
queryFn: () => getPreviousEmployeeIds(),
|
|
99
|
+
...baseOptions
|
|
100
|
+
});
|
|
101
|
+
const employeeSupervisorQueryOptions = (params) => queryOptions({
|
|
102
|
+
queryKey: [
|
|
103
|
+
QUERY_KEY,
|
|
104
|
+
"employee",
|
|
105
|
+
"supervisor",
|
|
106
|
+
params
|
|
107
|
+
],
|
|
108
|
+
queryFn: () => getEmployeeSupervisor({ data: params }),
|
|
109
|
+
...baseOptions
|
|
110
|
+
});
|
|
111
|
+
const employeeSubordinatesQueryOptions = (params) => queryOptions({
|
|
112
|
+
queryKey: [
|
|
113
|
+
QUERY_KEY,
|
|
114
|
+
"employee",
|
|
115
|
+
"subordinates",
|
|
116
|
+
params
|
|
117
|
+
],
|
|
118
|
+
queryFn: () => getEmployeeSubordinates({ data: params }),
|
|
119
|
+
...baseOptions
|
|
120
|
+
});
|
|
121
|
+
const employeeManagerQueryOptions = (params) => queryOptions({
|
|
122
|
+
queryKey: [
|
|
123
|
+
QUERY_KEY,
|
|
124
|
+
"employee",
|
|
125
|
+
"manager",
|
|
126
|
+
params
|
|
127
|
+
],
|
|
128
|
+
queryFn: () => getEmployeeManager({ data: params }),
|
|
129
|
+
...baseOptions
|
|
130
|
+
});
|
|
131
|
+
const employeeGeneralManagerQueryOptions = (params) => queryOptions({
|
|
132
|
+
queryKey: [
|
|
133
|
+
QUERY_KEY,
|
|
134
|
+
"employee",
|
|
135
|
+
"generalManager",
|
|
136
|
+
params
|
|
137
|
+
],
|
|
138
|
+
queryFn: () => getEmployeeGeneralManager({ data: params }),
|
|
139
|
+
...baseOptions
|
|
140
|
+
});
|
|
141
|
+
const departmentsQueryOptions = () => queryOptions({
|
|
142
|
+
queryKey: [QUERY_KEY, "department"],
|
|
143
|
+
queryFn: () => getDepartments(),
|
|
144
|
+
...baseOptions
|
|
145
|
+
});
|
|
146
|
+
const departmentByIdQueryOptions = (params) => queryOptions({
|
|
147
|
+
queryKey: [
|
|
148
|
+
QUERY_KEY,
|
|
149
|
+
"department",
|
|
150
|
+
params
|
|
151
|
+
],
|
|
152
|
+
queryFn: () => getDepartmentById({ data: params }),
|
|
153
|
+
...baseOptions
|
|
154
|
+
});
|
|
155
|
+
const departmentManagerQueryOptions = (params) => queryOptions({
|
|
156
|
+
queryKey: [
|
|
157
|
+
QUERY_KEY,
|
|
158
|
+
"department",
|
|
159
|
+
"manager",
|
|
160
|
+
params
|
|
161
|
+
],
|
|
162
|
+
queryFn: () => getDepartmentManager({ data: params }),
|
|
163
|
+
...baseOptions
|
|
164
|
+
});
|
|
165
|
+
const departmentEmployeesQueryOptions = (params) => queryOptions({
|
|
166
|
+
queryKey: [
|
|
167
|
+
QUERY_KEY,
|
|
168
|
+
"department",
|
|
169
|
+
"employees",
|
|
170
|
+
params
|
|
171
|
+
],
|
|
172
|
+
queryFn: () => getDepartmentEmployees({ data: params }),
|
|
173
|
+
...baseOptions
|
|
174
|
+
});
|
|
175
|
+
const companyGeneralManagerQueryOptions = (params) => queryOptions({
|
|
176
|
+
queryKey: [
|
|
177
|
+
QUERY_KEY,
|
|
178
|
+
"company",
|
|
179
|
+
"generalManager",
|
|
180
|
+
params
|
|
181
|
+
],
|
|
182
|
+
queryFn: () => getCompanyGeneralManager({ data: params }),
|
|
183
|
+
...baseOptions
|
|
184
|
+
});
|
|
185
|
+
//#endregion
|
|
186
|
+
export { activeEmployeesQueryOptions, approvalQueryOptions, approvalsQueryOptions, approveApprovalMutationOptions, batchDeleteFilesMutationOptions, cancelApprovalMutationOptions, companyGeneralManagerQueryOptions, createApprovalMutationOptions, deleteFileMutationOptions, departmentByIdQueryOptions, departmentEmployeesQueryOptions, departmentManagerQueryOptions, departmentsQueryOptions, downloadFileMutationOptions, employeeByIdQueryOptions, employeeGeneralManagerQueryOptions, employeeManagerQueryOptions, employeeSubordinatesQueryOptions, employeeSupervisorQueryOptions, employeesQueryOptions, employeesSearchQueryOptions, fileMetasQueryOptions, fileQueryOptions, fileThumbnailQueryOptions, openFileMutationOptions, previousEmployeeIdsQueryOptions, resubmitApprovalMutationOptions, updateFileMetaMutationOptions, useUploadFile, withdrawApprovalMutationOptions };
|
|
187
|
+
|
|
188
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":["mutationOptions","queryOptions","z","queryClient","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","GetApprovalSchema","GetApprovalsSchema","approveApproval","cancelApproval","createApproval","getApproval","getApprovals","resubmitApproval","withdrawApproval","QUERY_KEY","approvalsQueryOptions","params","input","queryKey","queryFn","data","approvalQueryOptions","createApprovalMutationOptions","mutationFn","onSettled","invalidateQueries","exact","approveApprovalMutationOptions","resubmitApprovalMutationOptions","withdrawApprovalMutationOptions","cancelApprovalMutationOptions","queryOptions","z","CompanyCodeSchema","DepartmentIdSchema","EmployeeIdSchema","getActiveEmployees","getCompanyGeneralManager","getDepartmentById","getDepartmentEmployees","getDepartmentManager","getDepartments","getEmployeeByEmployeeId","getEmployeeGeneralManager","getEmployeeManager","getEmployees","getEmployeeSubordinates","getEmployeeSupervisor","getPreviousEmployeeIds","searchEmployees","SearchEmployeesSchema","QUERY_KEY","DAY","baseOptions","staleTime","gcTime","refetchOnWindowFocus","employeesSearchQueryOptions","params","infer","queryKey","queryFn","data","employeesQueryOptions","activeEmployeesQueryOptions","employeeByIdQueryOptions","previousEmployeeIdsQueryOptions","employeeSupervisorQueryOptions","employeeSubordinatesQueryOptions","employeeManagerQueryOptions","employeeGeneralManagerQueryOptions","departmentsQueryOptions","departmentByIdQueryOptions","departmentManagerQueryOptions","departmentEmployeesQueryOptions","companyGeneralManagerQueryOptions"],"sources":["../../src/data/client/approval.ts","../../src/data/client/peoplesoft.ts"],"sourcesContent":["import { mutationOptions, queryOptions } from \"@tanstack/react-query\";\nimport type { z } from \"zod\";\nimport { queryClient } from \"~/lib/queryClient\";\nimport {\n ApproveApprovalSchema,\n CancelApprovalSchema,\n CreateApprovalSchema,\n ResubmitApprovalSchema,\n WithdrawApprovalSchema,\n} from \"~/models/approval/Approval\";\nimport type { GetApprovalSchema, GetApprovalsSchema } from \"~/data/server/approval\";\nimport {\n approveApproval,\n cancelApproval,\n createApproval,\n getApproval,\n getApprovals,\n resubmitApproval,\n withdrawApproval,\n} from \"~/data/server/approval\";\n\nconst QUERY_KEY = \"approval\";\n\nexport const approvalsQueryOptions = (params: z.input<typeof GetApprovalsSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, params],\n queryFn: () => getApprovals({ data: params }),\n });\n\nexport const approvalQueryOptions = (params: z.input<typeof GetApprovalSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, params],\n queryFn: () => getApproval({ data: params }),\n });\n\nexport const createApprovalMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof CreateApprovalSchema>) => createApproval({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n });\n\nexport const approveApprovalMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof ApproveApprovalSchema>) => approveApproval({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n });\n\nexport const resubmitApprovalMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof ResubmitApprovalSchema>) => resubmitApproval({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n });\n\nexport const withdrawApprovalMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof WithdrawApprovalSchema>) => withdrawApproval({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n });\n\nexport const cancelApprovalMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof CancelApprovalSchema>) => cancelApproval({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false }),\n });\n","import { queryOptions } from \"@tanstack/react-query\";\nimport z from \"zod\";\nimport {\n CompanyCodeSchema,\n DepartmentIdSchema,\n EmployeeIdSchema,\n getActiveEmployees,\n getCompanyGeneralManager,\n getDepartmentById,\n getDepartmentEmployees,\n getDepartmentManager,\n getDepartments,\n getEmployeeByEmployeeId,\n getEmployeeGeneralManager,\n getEmployeeManager,\n getEmployees,\n getEmployeeSubordinates,\n getEmployeeSupervisor,\n getPreviousEmployeeIds,\n searchEmployees,\n SearchEmployeesSchema,\n} from \"~/data/server/peoplesoft\";\n\nconst QUERY_KEY = \"ps\";\nconst DAY = 1000 * 60 * 60 * 24;\n\nconst baseOptions = {\n staleTime: DAY,\n gcTime: DAY,\n refetchOnWindowFocus: false,\n};\n\nexport const employeesSearchQueryOptions = (params: z.infer<typeof SearchEmployeesSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"search\", params],\n queryFn: () => searchEmployees({ data: params }),\n ...baseOptions,\n });\n\nexport const employeesQueryOptions = () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\"],\n queryFn: () => getEmployees(),\n ...baseOptions,\n });\n\nexport const activeEmployeesQueryOptions = () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\n queryFn: () => getActiveEmployees(),\n ...baseOptions,\n });\n\nexport const employeeByIdQueryOptions = (params: z.infer<typeof EmployeeIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", params],\n queryFn: () => getEmployeeByEmployeeId({ data: params }),\n ...baseOptions,\n });\n\nexport const previousEmployeeIdsQueryOptions = () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\n queryFn: () => getPreviousEmployeeIds(),\n ...baseOptions,\n });\n\nexport const employeeSupervisorQueryOptions = (params: z.infer<typeof EmployeeIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"supervisor\", params],\n queryFn: () => getEmployeeSupervisor({ data: params }),\n ...baseOptions,\n });\n\nexport const employeeSubordinatesQueryOptions = (params: z.infer<typeof EmployeeIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"subordinates\", params],\n queryFn: () => getEmployeeSubordinates({ data: params }),\n ...baseOptions,\n });\n\nexport const employeeManagerQueryOptions = (params: z.infer<typeof EmployeeIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"manager\", params],\n queryFn: () => getEmployeeManager({ data: params }),\n ...baseOptions,\n });\n\nexport const employeeGeneralManagerQueryOptions = (params: z.infer<typeof EmployeeIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"employee\", \"generalManager\", params],\n queryFn: () => getEmployeeGeneralManager({ data: params }),\n ...baseOptions,\n });\n\nexport const departmentsQueryOptions = () =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\"],\n queryFn: () => getDepartments(),\n ...baseOptions,\n });\n\nexport const departmentByIdQueryOptions = (params: z.infer<typeof DepartmentIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\", params],\n queryFn: () => getDepartmentById({ data: params }),\n ...baseOptions,\n });\n\nexport const departmentManagerQueryOptions = (params: z.infer<typeof DepartmentIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\", \"manager\", params],\n queryFn: () => getDepartmentManager({ data: params }),\n ...baseOptions,\n });\n\nexport const departmentEmployeesQueryOptions = (params: z.infer<typeof DepartmentIdSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"department\", \"employees\", params],\n queryFn: () => getDepartmentEmployees({ data: params }),\n ...baseOptions,\n });\n\nexport const companyGeneralManagerQueryOptions = (params: z.infer<typeof CompanyCodeSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"company\", \"generalManager\", params],\n queryFn: () => getCompanyGeneralManager({ data: params }),\n ...baseOptions,\n });\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { A as UpdateFileMetaSchema, B as uploadFile, C as createApproval, D as withdrawApproval, E as resubmitApproval, F as downloadFile, I as getFile, L as getFileMetas, M as UploadFileResult, N as batchDeleteFiles, O as FileSchema, P as deleteFile, R as getFileThumbnail, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, b as GetApprovalsSchema, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, i as SearchEmployeesSchema, j as UploadFileMetaSchema, k as GetFileMetasSchema, l as getDepartmentManager, m as getEmployeeSubordinates, n as DepartmentIdSchema, o as getCompanyGeneralManager, p as getEmployeeManager, r as EmployeeIdSchema, s as getDepartmentById, t as CompanyCodeSchema, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval, y as GetApprovalSchema, z as updateFileMeta } from "../peoplesoft-Cze2ngGd.js";
|
|
2
|
+
|
|
3
|
+
//#region src/data/server/email.d.ts
|
|
4
|
+
declare const sendEmail: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").RequestMiddlewareAfterServer<{}, undefined, {
|
|
5
|
+
api: import("axios").AxiosInstance;
|
|
6
|
+
}>], import("zod").ZodObject<{
|
|
7
|
+
subject: import("zod").ZodString;
|
|
8
|
+
body: import("zod").ZodString;
|
|
9
|
+
to: import("zod").ZodArray<import("zod").ZodEmail>;
|
|
10
|
+
bcc: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEmail>>;
|
|
11
|
+
cc: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEmail>>;
|
|
12
|
+
attachments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
13
|
+
appName: import("zod").ZodString;
|
|
14
|
+
subId: import("zod").ZodUUID;
|
|
15
|
+
}, import("zod/v4/core").$strip>>>;
|
|
16
|
+
}, import("zod/v4/core").$strip>, Promise<void>>;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { CompanyCodeSchema, DepartmentIdSchema, EmployeeIdSchema, FileSchema, GetApprovalSchema, GetApprovalsSchema, GetFileMetasSchema, SearchEmployeesSchema, UpdateFileMetaSchema, UploadFileMetaSchema, UploadFileResult, approveApproval, batchDeleteFiles, cancelApproval, createApproval, deleteFile, downloadFile, getActiveEmployees, getApproval, getApprovals, getCompanyGeneralManager, getDepartmentById, getDepartmentEmployees, getDepartmentManager, getDepartments, getEmployeeByEmployeeId, getEmployeeGeneralManager, getEmployeeManager, getEmployeeSubordinates, getEmployeeSupervisor, getEmployees, getFile, getFileMetas, getFileThumbnail, getPreviousEmployeeIds, resubmitApproval, searchEmployees, sendEmail, updateFileMeta, uploadFile, withdrawApproval };
|
|
19
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { t as apiMiddleware } from "../apiMiddleware-CtY4rOFU.js";
|
|
2
|
+
import { a as batchDeleteFiles, c as getFile, d as updateFileMeta, f as uploadFile, i as UploadFileMetaSchema, l as getFileMetas, n as GetFileMetasSchema, o as deleteFile, r as UpdateFileMetaSchema, s as downloadFile, t as FileSchema, u as getFileThumbnail } from "../file-BUdLb7H1.js";
|
|
3
|
+
import { t as EmailSchema } from "../Email-C9qwj7GD.js";
|
|
4
|
+
import { C as createApproval, D as withdrawApproval, E as resubmitApproval, S as cancelApproval, T as getApprovals, _ as getPreviousEmployeeIds, a as getActiveEmployees, b as GetApprovalsSchema, c as getDepartmentEmployees, d as getEmployeeByEmployeeId, f as getEmployeeGeneralManager, g as getEmployees, h as getEmployeeSupervisor, i as SearchEmployeesSchema, l as getDepartmentManager, m as getEmployeeSubordinates, n as DepartmentIdSchema, o as getCompanyGeneralManager, p as getEmployeeManager, r as EmployeeIdSchema, s as getDepartmentById, t as CompanyCodeSchema, u as getDepartments, v as searchEmployees, w as getApproval, x as approveApproval, y as GetApprovalSchema } from "../peoplesoft-BCjRje6b.js";
|
|
5
|
+
import { createServerFn } from "@tanstack/react-start";
|
|
6
|
+
//#region src/data/server/email.ts
|
|
7
|
+
const sendEmail = createServerFn({ method: "POST" }).inputValidator(EmailSchema).middleware([apiMiddleware({
|
|
8
|
+
baseURL: "EMAIL_BASE_URL",
|
|
9
|
+
scopeKey: "email"
|
|
10
|
+
})]).handler(async ({ data, context }) => {
|
|
11
|
+
await context.api.post("/v1/email", data);
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { CompanyCodeSchema, DepartmentIdSchema, EmployeeIdSchema, FileSchema, GetApprovalSchema, GetApprovalsSchema, GetFileMetasSchema, SearchEmployeesSchema, UpdateFileMetaSchema, UploadFileMetaSchema, approveApproval, batchDeleteFiles, cancelApproval, createApproval, deleteFile, downloadFile, getActiveEmployees, getApproval, getApprovals, getCompanyGeneralManager, getDepartmentById, getDepartmentEmployees, getDepartmentManager, getDepartments, getEmployeeByEmployeeId, getEmployeeGeneralManager, getEmployeeManager, getEmployeeSubordinates, getEmployeeSupervisor, getEmployees, getFile, getFileMetas, getFileThumbnail, getPreviousEmployeeIds, resubmitApproval, searchEmployees, sendEmail, updateFileMeta, uploadFile, withdrawApproval };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","names":["createServerFn","apiMiddleware","EmailSchema","sendEmail","method","inputValidator","middleware","baseURL","scopeKey","handler","data","context","api","post"],"sources":["../../src/data/server/email.ts"],"sourcesContent":["import { createServerFn } from \"@tanstack/react-start\";\nimport { apiMiddleware } from \"~/middleware/apiMiddleware\";\nimport { EmailSchema } from \"~/models/email/Email\";\n\nexport const sendEmail = createServerFn({ method: \"POST\" })\n .inputValidator(EmailSchema)\n .middleware([apiMiddleware({ baseURL: \"EMAIL_BASE_URL\", scopeKey: \"email\" })])\n .handler(async ({ data, context }) => {\n await context.api.post(\"/v1/email\", data);\n });\n"],"mappings":";;;;;;AAIA,MAAaG,YAAYH,eAAe,EAAEI,QAAQ,OAAO,CAAC,EACvDC,eAAeH,WAAW,EAC1BI,WAAW,CAACL,cAAc;CAAEM,SAAS;CAAkBC,UAAU;AAAQ,CAAC,CAAC,CAAC,EAC5EC,QAAQ,OAAO,EAAEC,MAAMC,cAAc;CACpC,MAAMA,QAAQC,IAAIC,KAAK,aAAaH,IAAI;AAC1C,CAAC"}
|
package/dist/data.d.ts
ADDED
package/dist/data.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { createEnv } from "@t3-oss/env-core";
|
|
3
|
+
//#region src/env.ts
|
|
4
|
+
const clientEnv = createEnv({
|
|
5
|
+
clientPrefix: "VITE_",
|
|
6
|
+
client: {
|
|
7
|
+
VITE_ENTRA_CLIENT_ID: z.string(),
|
|
8
|
+
VITE_ENTRA_TENANT_ID: z.string(),
|
|
9
|
+
VITE_APP_TITLE: z.string(),
|
|
10
|
+
VITE_MUI_LICENSE_KEY: z.string()
|
|
11
|
+
},
|
|
12
|
+
runtimeEnv: import.meta.env,
|
|
13
|
+
emptyStringAsUndefined: true
|
|
14
|
+
});
|
|
15
|
+
const serverEnv = createEnv({
|
|
16
|
+
server: {
|
|
17
|
+
ENTRA_CLIENT_ID: z.string(),
|
|
18
|
+
ENTRA_TENANT_ID: z.string(),
|
|
19
|
+
ENTRA_CLIENT_SECRET: z.string(),
|
|
20
|
+
FILE_BASE_URL: z.string().min(1).optional(),
|
|
21
|
+
APPROVAL_BASE_URL: z.string().min(1).optional(),
|
|
22
|
+
PS_BASE_URL: z.string().min(1).optional(),
|
|
23
|
+
EMAIL_BASE_URL: z.string().min(1).optional()
|
|
24
|
+
},
|
|
25
|
+
runtimeEnv: process.env,
|
|
26
|
+
emptyStringAsUndefined: true
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
export { serverEnv as n, clientEnv as t };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=env-ON-cyE3N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-ON-cyE3N.js","names":["createEnv","z","clientEnv","clientPrefix","client","VITE_ENTRA_CLIENT_ID","string","VITE_ENTRA_TENANT_ID","VITE_APP_TITLE","VITE_MUI_LICENSE_KEY","runtimeEnv","import","meta","env","emptyStringAsUndefined","serverEnv","server","ENTRA_CLIENT_ID","ENTRA_TENANT_ID","ENTRA_CLIENT_SECRET","FILE_BASE_URL","min","optional","APPROVAL_BASE_URL","PS_BASE_URL","EMAIL_BASE_URL","process"],"sources":["../src/env.ts"],"sourcesContent":["import { createEnv } from \"@t3-oss/env-core\";\nimport { z } from \"zod\";\n\nexport const clientEnv = createEnv({\n clientPrefix: \"VITE_\",\n client: {\n VITE_ENTRA_CLIENT_ID: z.string(),\n VITE_ENTRA_TENANT_ID: z.string(),\n VITE_APP_TITLE: z.string(),\n VITE_MUI_LICENSE_KEY: z.string(),\n },\n runtimeEnv: import.meta.env,\n emptyStringAsUndefined: true,\n});\n\nexport const serverEnv = createEnv({\n server: {\n ENTRA_CLIENT_ID: z.string(),\n ENTRA_TENANT_ID: z.string(),\n ENTRA_CLIENT_SECRET: z.string(),\n FILE_BASE_URL: z.string().min(1).optional(),\n APPROVAL_BASE_URL: z.string().min(1).optional(),\n PS_BASE_URL: z.string().min(1).optional(),\n EMAIL_BASE_URL: z.string().min(1).optional(),\n },\n runtimeEnv: process.env,\n emptyStringAsUndefined: true,\n});\n"],"mappings":";;;AAGA,MAAaE,YAAYF,UAAU;CACjCG,cAAc;CACdC,QAAQ;EACNC,sBAAsBJ,EAAEK,OAAO;EAC/BC,sBAAsBN,EAAEK,OAAO;EAC/BE,gBAAgBP,EAAEK,OAAO;EACzBG,sBAAsBR,EAAEK,OAAO;CACjC;CACAI,YAAYC,OAAOC,KAAKC;CACxBC,wBAAwB;AAC1B,CAAC;AAED,MAAaC,YAAYf,UAAU;CACjCgB,QAAQ;EACNC,iBAAiBhB,EAAEK,OAAO;EAC1BY,iBAAiBjB,EAAEK,OAAO;EAC1Ba,qBAAqBlB,EAAEK,OAAO;EAC9Bc,eAAenB,EAAEK,OAAO,EAAEe,IAAI,CAAC,EAAEC,SAAS;EAC1CC,mBAAmBtB,EAAEK,OAAO,EAAEe,IAAI,CAAC,EAAEC,SAAS;EAC9CE,aAAavB,EAAEK,OAAO,EAAEe,IAAI,CAAC,EAAEC,SAAS;EACxCG,gBAAgBxB,EAAEK,OAAO,EAAEe,IAAI,CAAC,EAAEC,SAAS;CAC7C;CACAZ,YAAYgB,QAAQb;CACpBC,wBAAwB;AAC1B,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { n as serverEnv } from "./env-ON-cyE3N.js";
|
|
2
|
+
import { t as getAppToken } from "./msalServer-B9sVqpQ2.js";
|
|
3
|
+
import { t as apiMiddleware } from "./apiMiddleware-CtY4rOFU.js";
|
|
4
|
+
import { t as FileMetaSchema } from "./FileMeta-DDqUju1Y.js";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { createServerFn } from "@tanstack/react-start";
|
|
7
|
+
import { uuidv7 } from "uuidv7";
|
|
8
|
+
import { Upload } from "tus-js-client";
|
|
9
|
+
//#region src/data/server/file.ts
|
|
10
|
+
const GetFileMetasSchema = z.object({
|
|
11
|
+
appName: z.string().min(1).max(255),
|
|
12
|
+
subId: z.uuid()
|
|
13
|
+
});
|
|
14
|
+
const FileSchema = z.object({
|
|
15
|
+
appName: z.string().min(1).max(255),
|
|
16
|
+
id: z.uuid()
|
|
17
|
+
});
|
|
18
|
+
const UpdateFileMetaSchema = FileMetaSchema.extend({ fileName: z.string().min(1).max(255) });
|
|
19
|
+
const DeleteFileSchema = FileSchema;
|
|
20
|
+
const BatchDeleteFilesSchema = GetFileMetasSchema;
|
|
21
|
+
const UploadFileMetaSchema = z.object({
|
|
22
|
+
appName: z.string().min(1).max(255),
|
|
23
|
+
subId: z.uuid(),
|
|
24
|
+
file: z.instanceof(File)
|
|
25
|
+
});
|
|
26
|
+
const getFileMetas = createServerFn({ method: "GET" }).inputValidator(GetFileMetasSchema).middleware([apiMiddleware({
|
|
27
|
+
baseURL: "FILE_BASE_URL",
|
|
28
|
+
scopeKey: "file"
|
|
29
|
+
})]).handler(async ({ data, context }) => {
|
|
30
|
+
const queryParams = new URLSearchParams();
|
|
31
|
+
queryParams.append("appName", data.appName);
|
|
32
|
+
queryParams.append("subId", data.subId);
|
|
33
|
+
const { data: fileMetas } = await context.api.request({
|
|
34
|
+
url: `/v1/meta?${queryParams.toString()}`,
|
|
35
|
+
method: "GET"
|
|
36
|
+
});
|
|
37
|
+
return fileMetas;
|
|
38
|
+
});
|
|
39
|
+
const getFileThumbnail = createServerFn({ method: "GET" }).inputValidator(FileSchema).middleware([apiMiddleware({
|
|
40
|
+
baseURL: "FILE_BASE_URL",
|
|
41
|
+
scopeKey: "file"
|
|
42
|
+
})]).handler(async ({ data, context }) => {
|
|
43
|
+
const queryParams = new URLSearchParams();
|
|
44
|
+
queryParams.append("appName", data.appName);
|
|
45
|
+
queryParams.append("id", data.id);
|
|
46
|
+
const response = await context.api.request({
|
|
47
|
+
url: `/v1/thumbnail?${queryParams.toString()}`,
|
|
48
|
+
method: "GET",
|
|
49
|
+
responseType: "arraybuffer"
|
|
50
|
+
});
|
|
51
|
+
return new Response(response.data, { headers: { "Content-Type": response.headers["content-type"] } });
|
|
52
|
+
});
|
|
53
|
+
const getFile = createServerFn({ method: "GET" }).inputValidator(FileSchema).middleware([apiMiddleware({
|
|
54
|
+
baseURL: "FILE_BASE_URL",
|
|
55
|
+
scopeKey: "file"
|
|
56
|
+
})]).handler(async ({ data, context }) => {
|
|
57
|
+
const queryParams = new URLSearchParams();
|
|
58
|
+
queryParams.append("appName", data.appName);
|
|
59
|
+
queryParams.append("id", data.id);
|
|
60
|
+
const response = await context.api.request({
|
|
61
|
+
url: `/v1?${queryParams.toString()}`,
|
|
62
|
+
method: "GET",
|
|
63
|
+
responseType: "arraybuffer"
|
|
64
|
+
});
|
|
65
|
+
return new Response(response.data, { headers: { "Content-Type": response.headers["content-type"] } });
|
|
66
|
+
});
|
|
67
|
+
const downloadFile = createServerFn({ method: "GET" }).inputValidator(FileSchema).middleware([apiMiddleware({
|
|
68
|
+
baseURL: "FILE_BASE_URL",
|
|
69
|
+
scopeKey: "file"
|
|
70
|
+
})]).handler(async ({ data, context }) => {
|
|
71
|
+
const queryParams = new URLSearchParams();
|
|
72
|
+
queryParams.append("appName", data.appName);
|
|
73
|
+
queryParams.append("id", data.id);
|
|
74
|
+
const response = await context.api.request({
|
|
75
|
+
url: `/v1/download?${queryParams.toString()}`,
|
|
76
|
+
method: "GET",
|
|
77
|
+
responseType: "arraybuffer"
|
|
78
|
+
});
|
|
79
|
+
return new Response(response.data, { headers: { "Content-Type": response.headers["content-type"] } });
|
|
80
|
+
});
|
|
81
|
+
const updateFileMeta = createServerFn({ method: "POST" }).inputValidator(UpdateFileMetaSchema).middleware([apiMiddleware({
|
|
82
|
+
baseURL: "FILE_BASE_URL",
|
|
83
|
+
scopeKey: "file"
|
|
84
|
+
})]).handler(async ({ data, context }) => {
|
|
85
|
+
const queryParams = new URLSearchParams();
|
|
86
|
+
queryParams.append("appName", data.appName);
|
|
87
|
+
queryParams.append("id", data.id);
|
|
88
|
+
await context.api.request({
|
|
89
|
+
url: `/v1/meta?${queryParams.toString()}`,
|
|
90
|
+
method: "PUT",
|
|
91
|
+
data
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
const deleteFile = createServerFn({ method: "POST" }).inputValidator(DeleteFileSchema).middleware([apiMiddleware({
|
|
95
|
+
baseURL: "FILE_BASE_URL",
|
|
96
|
+
scopeKey: "file"
|
|
97
|
+
})]).handler(async ({ data, context }) => {
|
|
98
|
+
const queryParams = new URLSearchParams();
|
|
99
|
+
queryParams.append("appName", data.appName);
|
|
100
|
+
queryParams.append("id", data.id);
|
|
101
|
+
await context.api.request({
|
|
102
|
+
url: `/v1?${queryParams.toString()}`,
|
|
103
|
+
method: "DELETE"
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
const batchDeleteFiles = createServerFn({ method: "POST" }).inputValidator(BatchDeleteFilesSchema).middleware([apiMiddleware({
|
|
107
|
+
baseURL: "FILE_BASE_URL",
|
|
108
|
+
scopeKey: "file"
|
|
109
|
+
})]).handler(async ({ data, context }) => {
|
|
110
|
+
const queryParams = new URLSearchParams();
|
|
111
|
+
queryParams.append("appName", data.appName);
|
|
112
|
+
queryParams.append("subId", data.subId);
|
|
113
|
+
await context.api.request({
|
|
114
|
+
url: `/v1?${queryParams.toString()}`,
|
|
115
|
+
method: "DELETE"
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
const uploadFile = createServerFn({ method: "POST" }).inputValidator(UploadFileMetaSchema).handler(async ({ data }) => {
|
|
119
|
+
const accessToken = await getAppToken("file");
|
|
120
|
+
const buffer = Buffer.from(await data.file.arrayBuffer());
|
|
121
|
+
const id = uuidv7();
|
|
122
|
+
await new Promise((resolve, reject) => {
|
|
123
|
+
new Upload(buffer, {
|
|
124
|
+
endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,
|
|
125
|
+
chunkSize: 1048576,
|
|
126
|
+
metadata: {
|
|
127
|
+
id,
|
|
128
|
+
appName: data.appName,
|
|
129
|
+
subId: data.subId,
|
|
130
|
+
fileName: data.file.name,
|
|
131
|
+
fileExtension: data.file.type
|
|
132
|
+
},
|
|
133
|
+
headers: { Authorization: `Bearer ${accessToken}` },
|
|
134
|
+
onError: reject,
|
|
135
|
+
onSuccess: () => resolve()
|
|
136
|
+
}).start();
|
|
137
|
+
});
|
|
138
|
+
return {
|
|
139
|
+
id,
|
|
140
|
+
appName: data.appName,
|
|
141
|
+
subId: data.subId,
|
|
142
|
+
fileName: data.file.name
|
|
143
|
+
};
|
|
144
|
+
});
|
|
145
|
+
//#endregion
|
|
146
|
+
export { batchDeleteFiles as a, getFile as c, updateFileMeta as d, uploadFile as f, UploadFileMetaSchema as i, getFileMetas as l, GetFileMetasSchema as n, deleteFile as o, UpdateFileMetaSchema as r, downloadFile as s, FileSchema as t, getFileThumbnail as u };
|
|
147
|
+
|
|
148
|
+
//# sourceMappingURL=file-BUdLb7H1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-BUdLb7H1.js","names":["createServerFn","Upload","uuidv7","z","serverEnv","getAppToken","apiMiddleware","FileMeta","FileMetaSchema","GetFileMetasSchema","object","appName","string","min","max","subId","uuid","FileSchema","id","UpdateFileMetaSchema","extend","fileName","DeleteFileSchema","BatchDeleteFilesSchema","UploadFileResult","UploadFileMetaSchema","file","instanceof","File","getFileMetas","method","inputValidator","middleware","baseURL","scopeKey","handler","data","context","queryParams","URLSearchParams","append","fileMetas","api","request","Array","url","toString","getFileThumbnail","response","ArrayBuffer","responseType","Response","headers","getFile","downloadFile","updateFileMeta","deleteFile","batchDeleteFiles","uploadFile","Promise","accessToken","buffer","Buffer","from","arrayBuffer","resolve","reject","upload","endpoint","FILE_BASE_URL","chunkSize","metadata","name","fileExtension","type","Authorization","onError","onSuccess","start"],"sources":["../src/data/server/file.ts"],"sourcesContent":["import { createServerFn } from \"@tanstack/react-start\";\nimport { Upload } from \"tus-js-client\";\nimport { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\nimport { serverEnv } from \"~/env\";\nimport { getAppToken } from \"~/lib/auth/msalServer\";\nimport { apiMiddleware } from \"~/middleware/apiMiddleware\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\n\nexport const GetFileMetasSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n});\n\nexport const FileSchema = z.object({\n appName: z.string().min(1).max(255),\n id: z.uuid(),\n});\n\nexport const UpdateFileMetaSchema = FileMetaSchema.extend({\n fileName: z.string().min(1).max(255),\n});\n\nconst DeleteFileSchema = FileSchema;\n\nconst BatchDeleteFilesSchema = GetFileMetasSchema;\n\nexport interface UploadFileResult {\n id: string;\n appName: string;\n subId: string;\n fileName: string;\n}\n\nexport const UploadFileMetaSchema = z.object({\n appName: z.string().min(1).max(255),\n subId: z.uuid(),\n file: z.instanceof(File),\n});\n\nexport const getFileMetas = createServerFn({ method: \"GET\" })\n .inputValidator(GetFileMetasSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n const { data: fileMetas } = await context.api.request<Array<FileMeta>>({\n url: `/v1/meta?${queryParams.toString()}`,\n method: \"GET\",\n });\n return fileMetas;\n });\n\nexport const getFileThumbnail = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1/thumbnail?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const getFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const downloadFile = createServerFn({ method: \"GET\" })\n .inputValidator(FileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n const response = await context.api.request<ArrayBuffer>({\n url: `/v1/download?${queryParams.toString()}`,\n method: \"GET\",\n responseType: \"arraybuffer\",\n });\n\n return new Response(response.data, {\n headers: {\n \"Content-Type\": response.headers[\"content-type\"] as string,\n },\n });\n });\n\nexport const updateFileMeta = createServerFn({ method: \"POST\" })\n .inputValidator(UpdateFileMetaSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n await context.api.request({ url: `/v1/meta?${queryParams.toString()}`, method: \"PUT\", data });\n });\n\nexport const deleteFile = createServerFn({ method: \"POST\" })\n .inputValidator(DeleteFileSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"id\", data.id);\n\n await context.api.request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" });\n });\n\nexport const batchDeleteFiles = createServerFn({ method: \"POST\" })\n .inputValidator(BatchDeleteFilesSchema)\n .middleware([apiMiddleware({ baseURL: \"FILE_BASE_URL\", scopeKey: \"file\" })])\n .handler(async ({ data, context }) => {\n const queryParams = new URLSearchParams();\n queryParams.append(\"appName\", data.appName);\n queryParams.append(\"subId\", data.subId);\n\n await context.api.request({ url: `/v1?${queryParams.toString()}`, method: \"DELETE\" });\n });\n\nexport const uploadFile = createServerFn({ method: \"POST\" })\n .inputValidator(UploadFileMetaSchema)\n .handler(async ({ data }): Promise<UploadFileResult> => {\n const accessToken = await getAppToken(\"file\");\n const buffer = Buffer.from(await data.file.arrayBuffer());\n const id = uuidv7();\n\n await new Promise<void>((resolve, reject) => {\n const upload = new Upload(buffer, {\n endpoint: `${serverEnv.FILE_BASE_URL}/v1/upload`,\n chunkSize: 1_048_576,\n metadata: {\n id,\n appName: data.appName,\n subId: data.subId,\n fileName: data.file.name,\n fileExtension: data.file.type,\n },\n headers: { Authorization: `Bearer ${accessToken}` },\n onError: reject,\n onSuccess: () => resolve(),\n });\n upload.start();\n });\n\n return { id, appName: data.appName, subId: data.subId, fileName: data.file.name };\n });\n"],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { t as queryClient } from "./queryClient-D64McLhZ.js";
|
|
2
|
+
import { a as batchDeleteFiles, c as getFile, d as updateFileMeta, f as uploadFile, l as getFileMetas, o as deleteFile, s as downloadFile, u as getFileThumbnail } from "./file-BUdLb7H1.js";
|
|
3
|
+
import { mutationOptions, queryOptions } from "@tanstack/react-query";
|
|
4
|
+
import saveAs from "file-saver";
|
|
5
|
+
//#region src/data/client/file.ts
|
|
6
|
+
const QUERY_KEY = "file";
|
|
7
|
+
const HOUR = 1e3 * 60 * 60;
|
|
8
|
+
const baseOptions = {
|
|
9
|
+
staleTime: HOUR,
|
|
10
|
+
gcTime: HOUR,
|
|
11
|
+
refetchOnWindowFocus: false
|
|
12
|
+
};
|
|
13
|
+
async function responseToObjectUrl(response) {
|
|
14
|
+
const blob = await response.blob();
|
|
15
|
+
return URL.createObjectURL(blob);
|
|
16
|
+
}
|
|
17
|
+
const fileMetasQueryOptions = (params) => queryOptions({
|
|
18
|
+
queryKey: [
|
|
19
|
+
QUERY_KEY,
|
|
20
|
+
"meta",
|
|
21
|
+
params.appName,
|
|
22
|
+
params.subId
|
|
23
|
+
],
|
|
24
|
+
queryFn: () => getFileMetas({ data: params }),
|
|
25
|
+
...baseOptions
|
|
26
|
+
});
|
|
27
|
+
const fileThumbnailQueryOptions = (params) => queryOptions({
|
|
28
|
+
queryKey: [
|
|
29
|
+
QUERY_KEY,
|
|
30
|
+
"thumbnail",
|
|
31
|
+
params.appName,
|
|
32
|
+
params.id
|
|
33
|
+
],
|
|
34
|
+
queryFn: async () => responseToObjectUrl(await getFileThumbnail({ data: params })),
|
|
35
|
+
enabled: !!params.id,
|
|
36
|
+
...baseOptions
|
|
37
|
+
});
|
|
38
|
+
const fileQueryOptions = (params) => queryOptions({
|
|
39
|
+
queryKey: [
|
|
40
|
+
QUERY_KEY,
|
|
41
|
+
params.appName,
|
|
42
|
+
params.id
|
|
43
|
+
],
|
|
44
|
+
queryFn: async () => responseToObjectUrl(await getFile({ data: params })),
|
|
45
|
+
enabled: !!params.id,
|
|
46
|
+
...baseOptions
|
|
47
|
+
});
|
|
48
|
+
const downloadFileMutationOptions = () => mutationOptions({ mutationFn: async (data) => {
|
|
49
|
+
saveAs(await (await downloadFile({ data })).blob(), `${data.fileName}.${data.fileExtension}`);
|
|
50
|
+
} });
|
|
51
|
+
const openFileMutationOptions = () => mutationOptions({ mutationFn: async (data) => {
|
|
52
|
+
const response = await getFile({ data });
|
|
53
|
+
window.open(await responseToObjectUrl(response));
|
|
54
|
+
} });
|
|
55
|
+
const updateFileMetaMutationOptions = () => mutationOptions({
|
|
56
|
+
mutationFn: (data) => updateFileMeta({ data }),
|
|
57
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
58
|
+
queryKey: [QUERY_KEY, "meta"],
|
|
59
|
+
exact: false
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
const deleteFileMutationOptions = () => mutationOptions({
|
|
63
|
+
mutationFn: (data) => deleteFile({ data }),
|
|
64
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
65
|
+
queryKey: [QUERY_KEY, "meta"],
|
|
66
|
+
exact: false
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
const batchDeleteFilesMutationOptions = () => mutationOptions({
|
|
70
|
+
mutationFn: (data) => batchDeleteFiles({ data }),
|
|
71
|
+
onSettled: () => queryClient.invalidateQueries({
|
|
72
|
+
queryKey: [QUERY_KEY, "meta"],
|
|
73
|
+
exact: false
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
const useUploadFile = ({ onSuccess, onError } = {}) => {
|
|
77
|
+
const mutate = async (data) => {
|
|
78
|
+
if (!data.subId) throw new Error("subId is required for file upload");
|
|
79
|
+
try {
|
|
80
|
+
const result = await uploadFile({ data });
|
|
81
|
+
queryClient.invalidateQueries({
|
|
82
|
+
queryKey: [
|
|
83
|
+
QUERY_KEY,
|
|
84
|
+
"meta",
|
|
85
|
+
data.appName,
|
|
86
|
+
data.subId
|
|
87
|
+
],
|
|
88
|
+
exact: false
|
|
89
|
+
});
|
|
90
|
+
onSuccess?.(result);
|
|
91
|
+
} catch (error) {
|
|
92
|
+
onError?.(error);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return { mutate };
|
|
96
|
+
};
|
|
97
|
+
//#endregion
|
|
98
|
+
export { fileQueryOptions as a, updateFileMetaMutationOptions as c, fileMetasQueryOptions as i, useUploadFile as l, deleteFileMutationOptions as n, fileThumbnailQueryOptions as o, downloadFileMutationOptions as r, openFileMutationOptions as s, batchDeleteFilesMutationOptions as t };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=file-Dsht7yOP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-Dsht7yOP.js","names":["mutationOptions","queryOptions","saveAs","z","queryClient","batchDeleteFiles","deleteFile","downloadFile","getFile","getFileMetas","getFileThumbnail","updateFileMeta","uploadFile","FileSchema","GetFileMetasSchema","UpdateFileMetaSchema","UploadFileMetaSchema","QUERY_KEY","HOUR","baseOptions","staleTime","gcTime","refetchOnWindowFocus","responseToObjectUrl","response","Response","Promise","blob","URL","createObjectURL","fileMetasQueryOptions","params","input","queryKey","appName","subId","queryFn","data","fileThumbnailQueryOptions","id","enabled","fileQueryOptions","downloadFileMutationOptions","mutationFn","fileName","fileExtension","openFileMutationOptions","Error","window","open","updateFileMetaMutationOptions","onSettled","invalidateQueries","exact","deleteFileMutationOptions","batchDeleteFilesMutationOptions","UseUploadFileProps","onSuccess","result","Awaited","ReturnType","onError","error","useUploadFile","mutate"],"sources":["../src/data/client/file.ts"],"sourcesContent":["import { mutationOptions, queryOptions } from \"@tanstack/react-query\";\nimport saveAs from \"file-saver\";\nimport type { z } from \"zod\";\nimport { queryClient } from \"~/lib/queryClient\";\nimport {\n batchDeleteFiles,\n deleteFile,\n downloadFile,\n getFile,\n getFileMetas,\n getFileThumbnail,\n updateFileMeta,\n uploadFile,\n} from \"~/data/server/file\";\nimport type {\n FileSchema,\n GetFileMetasSchema,\n UpdateFileMetaSchema,\n UploadFileMetaSchema,\n} from \"~/data/server/file\";\n\nconst QUERY_KEY = \"file\";\nconst HOUR = 1000 * 60 * 60;\n\nconst baseOptions = {\n staleTime: HOUR,\n gcTime: HOUR,\n refetchOnWindowFocus: false,\n};\n\nasync function responseToObjectUrl(response: Response): Promise<string> {\n const blob = await response.blob();\n return URL.createObjectURL(blob);\n}\n\nexport const fileMetasQueryOptions = (params: z.input<typeof GetFileMetasSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"meta\", params.appName, params.subId],\n queryFn: () => getFileMetas({ data: params }),\n ...baseOptions,\n });\n\nexport const fileThumbnailQueryOptions = (params: z.input<typeof FileSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName, params.id],\n queryFn: async () => responseToObjectUrl(await getFileThumbnail({ data: params })),\n enabled: !!params.id,\n ...baseOptions,\n });\n\nexport const fileQueryOptions = (params: z.input<typeof FileSchema>) =>\n queryOptions({\n queryKey: [QUERY_KEY, params.appName, params.id],\n queryFn: async () => responseToObjectUrl(await getFile({ data: params })),\n enabled: !!params.id,\n ...baseOptions,\n });\n\nexport const downloadFileMutationOptions = () =>\n mutationOptions({\n mutationFn: async (\n data: z.input<typeof FileSchema> & { fileName: string; fileExtension: string },\n ) => {\n const response = await downloadFile({ data });\n saveAs(await response.blob(), `${data.fileName}.${data.fileExtension}`);\n },\n });\n\nexport const openFileMutationOptions = () =>\n mutationOptions<void, Error, z.input<typeof FileSchema>>({\n mutationFn: async (data) => {\n const response = await getFile({ data });\n window.open(await responseToObjectUrl(response));\n },\n });\n\nexport const updateFileMetaMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof UpdateFileMetaSchema>) => updateFileMeta({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n });\n\nexport const deleteFileMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof FileSchema>) => deleteFile({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n });\n\nexport const batchDeleteFilesMutationOptions = () =>\n mutationOptions({\n mutationFn: (data: z.input<typeof GetFileMetasSchema>) => batchDeleteFiles({ data }),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\n });\n\ninterface UseUploadFileProps {\n onSuccess?: (result: Awaited<ReturnType<typeof uploadFile>>) => void;\n onError?: (error: Error) => void;\n}\n\nexport const useUploadFile = ({ onSuccess, onError }: UseUploadFileProps = {}) => {\n const mutate = async (data: z.input<typeof UploadFileMetaSchema>) => {\n if (!data.subId) throw new Error(\"subId is required for file upload\");\n\n try {\n const result = await uploadFile({ data });\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEY, \"meta\", data.appName, data.subId],\n exact: false,\n });\n onSuccess?.(result);\n } catch (error) {\n onError?.(error as Error);\n }\n };\n\n return { mutate };\n};\n"],"mappings":";;;;;AAqBA,MAAMiB,YAAY;AAClB,MAAMC,OAAO,MAAO,KAAK;AAEzB,MAAMC,cAAc;CAClBC,WAAWF;CACXG,QAAQH;CACRI,sBAAsB;AACxB;AAEA,eAAeC,oBAAoBC,UAAqC;CACtE,MAAMG,OAAO,MAAMH,SAASG,KAAK;CACjC,OAAOC,IAAIC,gBAAgBF,IAAI;AACjC;AAEA,MAAaG,yBAAyBC,WACpC9B,aAAa;CACXgC,UAAU;EAAChB;EAAW;EAAQc,OAAOG;EAASH,OAAOI;CAAK;CAC1DC,eAAe3B,aAAa,EAAE4B,MAAMN,OAAO,CAAC;CAC5C,GAAGZ;AACL,CAAC;AAEH,MAAamB,6BAA6BP,WACxC9B,aAAa;CACXgC,UAAU;EAAChB;EAAW;EAAac,OAAOG;EAASH,OAAOQ;CAAE;CAC5DH,SAAS,YAAYb,oBAAoB,MAAMb,iBAAiB,EAAE2B,MAAMN,OAAO,CAAC,CAAC;CACjFS,SAAS,CAAC,CAACT,OAAOQ;CAClB,GAAGpB;AACL,CAAC;AAEH,MAAasB,oBAAoBV,WAC/B9B,aAAa;CACXgC,UAAU;EAAChB;EAAWc,OAAOG;EAASH,OAAOQ;CAAE;CAC/CH,SAAS,YAAYb,oBAAoB,MAAMf,QAAQ,EAAE6B,MAAMN,OAAO,CAAC,CAAC;CACxES,SAAS,CAAC,CAACT,OAAOQ;CAClB,GAAGpB;AACL,CAAC;AAEH,MAAauB,oCACX1C,gBAAgB,EACd2C,YAAY,OACVN,SACG;CAEHnC,OAAO,OAAMsB,MADUjB,aAAa,EAAE8B,KAAK,CAAC,GACtBV,KAAK,GAAG,GAAGU,KAAKO,SAAQ,GAAIP,KAAKQ,eAAe;AACxE,EACF,CAAC;AAEH,MAAaC,gCACX9C,gBAAyD,EACvD2C,YAAY,OAAON,SAAS;CAC1B,MAAMb,WAAW,MAAMhB,QAAQ,EAAE6B,KAAK,CAAC;CACvCW,OAAOC,KAAK,MAAM1B,oBAAoBC,QAAQ,CAAC;AACjD,EACF,CAAC;AAEH,MAAa0B,sCACXlD,gBAAgB;CACd2C,aAAaN,SAA+C1B,eAAe,EAAE0B,KAAK,CAAC;CACnFc,iBAAiB/C,YAAYgD,kBAAkB;EAAEnB,UAAU,CAAChB,WAAW,MAAM;EAAGoC,OAAO;CAAM,CAAC;AAChG,CAAC;AAEH,MAAaC,kCACXtD,gBAAgB;CACd2C,aAAaN,SAAqC/B,WAAW,EAAE+B,KAAK,CAAC;CACrEc,iBAAiB/C,YAAYgD,kBAAkB;EAAEnB,UAAU,CAAChB,WAAW,MAAM;EAAGoC,OAAO;CAAM,CAAC;AAChG,CAAC;AAEH,MAAaE,wCACXvD,gBAAgB;CACd2C,aAAaN,SAA6ChC,iBAAiB,EAAEgC,KAAK,CAAC;CACnFc,iBAAiB/C,YAAYgD,kBAAkB;EAAEnB,UAAU,CAAChB,WAAW,MAAM;EAAGoC,OAAO;CAAM,CAAC;AAChG,CAAC;AAOH,MAAaU,iBAAiB,EAAEN,WAAWI,YAAgC,CAAC,MAAM;CAChF,MAAMG,SAAS,OAAO3B,SAA+C;EACnE,IAAI,CAACA,KAAKF,OAAO,MAAM,IAAIY,MAAM,mCAAmC;EAEpE,IAAI;GACF,MAAMW,SAAS,MAAM9C,WAAW,EAAEyB,KAAK,CAAC;GACxCjC,YAAYgD,kBAAkB;IAC5BnB,UAAU;KAAChB;KAAW;KAAQoB,KAAKH;KAASG,KAAKF;IAAK;IACtDkB,OAAO;GACT,CAAC;GACDI,YAAYC,MAAM;EACpB,SAASI,OAAO;GACdD,UAAUC,KAAc;EAC1B;CACF;CAEA,OAAO,EAAEE,OAAO;AAClB"}
|