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.
Files changed (269) hide show
  1. package/dist/Approval-BTJTexDo.js +143 -0
  2. package/dist/Approval-BTJTexDo.js.map +1 -0
  3. package/dist/DialogsContext-DLqA8RJ_.js +7 -0
  4. package/dist/DialogsContext-DLqA8RJ_.js.map +1 -0
  5. package/dist/Email-C9qwj7GD.js +20 -0
  6. package/dist/Email-C9qwj7GD.js.map +1 -0
  7. package/dist/FileMeta-DDqUju1Y.js +19 -0
  8. package/dist/FileMeta-DDqUju1Y.js.map +1 -0
  9. package/dist/FileMeta-ILLTOjaM.d.ts +20 -0
  10. package/dist/NotificationContext-CgwUOeW0.js +7 -0
  11. package/dist/NotificationContext-CgwUOeW0.js.map +1 -0
  12. package/dist/RouterListItemButton-owZVvuC_.js +78 -0
  13. package/dist/RouterListItemButton-owZVvuC_.js.map +1 -0
  14. package/dist/User-CT_IDGuG.d.ts +15 -0
  15. package/dist/apiMiddleware-CtY4rOFU.js +23 -0
  16. package/dist/apiMiddleware-CtY4rOFU.js.map +1 -0
  17. package/dist/components.d.ts +118 -0
  18. package/dist/components.js +1554 -0
  19. package/dist/components.js.map +1 -0
  20. package/dist/data/client.d.ts +3111 -0
  21. package/dist/data/client.js +188 -0
  22. package/dist/data/client.js.map +1 -0
  23. package/dist/data/server.d.ts +19 -0
  24. package/dist/data/server.js +16 -0
  25. package/dist/data/server.js.map +1 -0
  26. package/dist/data.d.ts +7 -0
  27. package/dist/data.js +2 -0
  28. package/dist/env-ON-cyE3N.js +31 -0
  29. package/dist/env-ON-cyE3N.js.map +1 -0
  30. package/dist/file-BUdLb7H1.js +148 -0
  31. package/dist/file-BUdLb7H1.js.map +1 -0
  32. package/dist/file-Dsht7yOP.js +100 -0
  33. package/dist/file-Dsht7yOP.js.map +1 -0
  34. package/dist/hooks.d.ts +226 -0
  35. package/dist/hooks.js +1180 -0
  36. package/dist/hooks.js.map +1 -0
  37. package/dist/index.d.ts +50 -0
  38. package/dist/index.js +2106 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/middleware.d.ts +47 -0
  41. package/dist/middleware.js +80 -0
  42. package/dist/middleware.js.map +1 -0
  43. package/dist/models.d.ts +474 -0
  44. package/dist/models.js +74 -0
  45. package/dist/models.js.map +1 -0
  46. package/dist/msalClient-CYiQAFnY.d.ts +15 -0
  47. package/dist/msalServer-B9sVqpQ2.js +47 -0
  48. package/dist/msalServer-B9sVqpQ2.js.map +1 -0
  49. package/dist/peoplesoft-BCjRje6b.js +240 -0
  50. package/dist/peoplesoft-BCjRje6b.js.map +1 -0
  51. package/dist/peoplesoft-Cze2ngGd.d.ts +1150 -0
  52. package/dist/queryClient-D64McLhZ.js +7 -0
  53. package/dist/queryClient-D64McLhZ.js.map +1 -0
  54. package/dist/useDialogs-BJVhBr8S.js +248 -0
  55. package/dist/useDialogs-BJVhBr8S.js.map +1 -0
  56. package/dist/utils-BMUmv2ws.js +191 -0
  57. package/dist/utils-BMUmv2ws.js.map +1 -0
  58. package/dist/utils-CvvyM8Xw.d.ts +56 -0
  59. package/dist/utils.d.ts +21 -0
  60. package/dist/utils.js +6 -0
  61. package/dist/vite.d.ts +7 -0
  62. package/dist/vite.js +147 -0
  63. package/dist/vite.js.map +1 -0
  64. package/package.json +158 -62
  65. package/skills/client-db/SKILL.md +107 -0
  66. package/skills/data-grid/SKILL.md +147 -0
  67. package/skills/db-schema/SKILL.md +68 -0
  68. package/skills/dialogs/SKILL.md +79 -0
  69. package/skills/forms/SKILL.md +82 -0
  70. package/skills/general/SKILL.md +17 -0
  71. package/skills/notifications/SKILL.md +43 -0
  72. package/skills/routing/SKILL.md +123 -0
  73. package/skills/server-functions/SKILL.md +109 -0
  74. package/skills/services/SKILL.md +28 -0
  75. package/skills/services/docs/approval.md +204 -0
  76. package/skills/services/docs/email.md +32 -0
  77. package/skills/services/docs/file.md +85 -0
  78. package/skills/services/docs/peoplesoft.md +110 -0
  79. package/skills/start/SKILL.md +46 -0
  80. package/skills/start/steps/01-git-setup.md +10 -0
  81. package/skills/start/steps/02-project-name-setup.md +14 -0
  82. package/skills/start/steps/03-apm-setup.md +208 -0
  83. package/skills/start/steps/04-database-setup.md +37 -0
  84. package/skills/start/steps/05-entra-setup.md +59 -0
  85. package/skills/start/steps/06-vault-setup.md +53 -0
  86. package/skills/start/steps/07-generate-favicon.md +10 -0
  87. package/skills/start/steps/08-commit.md +15 -0
  88. package/dist/src/components/Layout.d.ts +0 -16
  89. package/dist/src/components/Layout.js +0 -122
  90. package/dist/src/components/Layout.js.map +0 -1
  91. package/dist/src/components/dataGrid/ChipInputCell.d.ts +0 -9
  92. package/dist/src/components/dataGrid/ChipInputCell.js +0 -17
  93. package/dist/src/components/dataGrid/ChipInputCell.js.map +0 -1
  94. package/dist/src/components/dataGrid/EditableColumnHeader.d.ts +0 -2
  95. package/dist/src/components/dataGrid/EditableColumnHeader.js +0 -7
  96. package/dist/src/components/dataGrid/EditableColumnHeader.js.map +0 -1
  97. package/dist/src/components/dataGrid/GridToolbar.d.ts +0 -8
  98. package/dist/src/components/dataGrid/GridToolbar.js +0 -40
  99. package/dist/src/components/dataGrid/GridToolbar.js.map +0 -1
  100. package/dist/src/components/dataGrid/TableContainer.d.ts +0 -3
  101. package/dist/src/components/dataGrid/TableContainer.js +0 -32
  102. package/dist/src/components/dataGrid/TableContainer.js.map +0 -1
  103. package/dist/src/components/form/FormAutocomplete.d.ts +0 -7
  104. package/dist/src/components/form/FormAutocomplete.js +0 -10
  105. package/dist/src/components/form/FormAutocomplete.js.map +0 -1
  106. package/dist/src/components/form/FormCheckbox.d.ts +0 -7
  107. package/dist/src/components/form/FormCheckbox.js +0 -11
  108. package/dist/src/components/form/FormCheckbox.js.map +0 -1
  109. package/dist/src/components/form/FormDatePicker.d.ts +0 -9
  110. package/dist/src/components/form/FormDatePicker.js +0 -19
  111. package/dist/src/components/form/FormDatePicker.js.map +0 -1
  112. package/dist/src/components/form/FormDateTimePicker.d.ts +0 -9
  113. package/dist/src/components/form/FormDateTimePicker.js +0 -19
  114. package/dist/src/components/form/FormDateTimePicker.js.map +0 -1
  115. package/dist/src/components/form/FormNumberField.d.ts +0 -12
  116. package/dist/src/components/form/FormNumberField.js +0 -12
  117. package/dist/src/components/form/FormNumberField.js.map +0 -1
  118. package/dist/src/components/form/FormRadioGroup.d.ts +0 -13
  119. package/dist/src/components/form/FormRadioGroup.js +0 -11
  120. package/dist/src/components/form/FormRadioGroup.js.map +0 -1
  121. package/dist/src/components/form/FormSlider.d.ts +0 -7
  122. package/dist/src/components/form/FormSlider.js +0 -11
  123. package/dist/src/components/form/FormSlider.js.map +0 -1
  124. package/dist/src/components/form/FormSubmitButton.d.ts +0 -5
  125. package/dist/src/components/form/FormSubmitButton.js +0 -13
  126. package/dist/src/components/form/FormSubmitButton.js.map +0 -1
  127. package/dist/src/components/form/FormSwitch.d.ts +0 -7
  128. package/dist/src/components/form/FormSwitch.js +0 -11
  129. package/dist/src/components/form/FormSwitch.js.map +0 -1
  130. package/dist/src/components/form/FormTextField.d.ts +0 -7
  131. package/dist/src/components/form/FormTextField.js +0 -11
  132. package/dist/src/components/form/FormTextField.js.map +0 -1
  133. package/dist/src/components/layout/AccountMenu.d.ts +0 -9
  134. package/dist/src/components/layout/AccountMenu.js +0 -44
  135. package/dist/src/components/layout/AccountMenu.js.map +0 -1
  136. package/dist/src/components/layout/DevelopmentBanner.d.ts +0 -7
  137. package/dist/src/components/layout/DevelopmentBanner.js +0 -29
  138. package/dist/src/components/layout/DevelopmentBanner.js.map +0 -1
  139. package/dist/src/components/layout/ErrorPage.d.ts +0 -2
  140. package/dist/src/components/layout/ErrorPage.js +0 -25
  141. package/dist/src/components/layout/ErrorPage.js.map +0 -1
  142. package/dist/src/components/layout/LayoutDialog.d.ts +0 -12
  143. package/dist/src/components/layout/LayoutDialog.js +0 -12
  144. package/dist/src/components/layout/LayoutDialog.js.map +0 -1
  145. package/dist/src/components/layout/LayoutSnackbar.d.ts +0 -8
  146. package/dist/src/components/layout/LayoutSnackbar.js +0 -25
  147. package/dist/src/components/layout/LayoutSnackbar.js.map +0 -1
  148. package/dist/src/components/layout/NavigationDrawer.d.ts +0 -11
  149. package/dist/src/components/layout/NavigationDrawer.js +0 -70
  150. package/dist/src/components/layout/NavigationDrawer.js.map +0 -1
  151. package/dist/src/components/layout/NotificationMenu.d.ts +0 -8
  152. package/dist/src/components/layout/NotificationMenu.js +0 -26
  153. package/dist/src/components/layout/NotificationMenu.js.map +0 -1
  154. package/dist/src/components/layout/TypographyWithIcon.d.ts +0 -7
  155. package/dist/src/components/layout/TypographyWithIcon.js +0 -22
  156. package/dist/src/components/layout/TypographyWithIcon.js.map +0 -1
  157. package/dist/src/components/layout/Unauthorized.d.ts +0 -2
  158. package/dist/src/components/layout/Unauthorized.js +0 -26
  159. package/dist/src/components/layout/Unauthorized.js.map +0 -1
  160. package/dist/src/contexts/LayoutContext.d.ts +0 -40
  161. package/dist/src/contexts/LayoutContext.js +0 -60
  162. package/dist/src/contexts/LayoutContext.js.map +0 -1
  163. package/dist/src/contexts/UserContext.d.ts +0 -24
  164. package/dist/src/contexts/UserContext.js +0 -55
  165. package/dist/src/contexts/UserContext.js.map +0 -1
  166. package/dist/src/hooks/FormHooks.d.ts +0 -46
  167. package/dist/src/hooks/FormHooks.js +0 -31
  168. package/dist/src/hooks/FormHooks.js.map +0 -1
  169. package/dist/src/hooks/UseSnackbar.d.ts +0 -10
  170. package/dist/src/hooks/UseSnackbar.js +0 -23
  171. package/dist/src/hooks/UseSnackbar.js.map +0 -1
  172. package/dist/src/hooks/UseUser.d.ts +0 -10
  173. package/dist/src/hooks/UseUser.js +0 -25
  174. package/dist/src/hooks/UseUser.js.map +0 -1
  175. package/dist/src/index.d.ts +0 -20
  176. package/dist/src/index.js +0 -15
  177. package/dist/src/index.js.map +0 -1
  178. package/dist/src/models/Error.d.ts +0 -6
  179. package/dist/src/models/Error.js +0 -2
  180. package/dist/src/models/Error.js.map +0 -1
  181. package/dist/src/models/KeycloakSettings.d.ts +0 -8
  182. package/dist/src/models/KeycloakSettings.js +0 -2
  183. package/dist/src/models/KeycloakSettings.js.map +0 -1
  184. package/dist/src/models/LayoutPaletteColorOptions.d.ts +0 -6
  185. package/dist/src/models/LayoutPaletteColorOptions.js +0 -2
  186. package/dist/src/models/LayoutPaletteColorOptions.js.map +0 -1
  187. package/dist/src/models/LayoutRoute.d.ts +0 -14
  188. package/dist/src/models/LayoutRoute.js +0 -2
  189. package/dist/src/models/LayoutRoute.js.map +0 -1
  190. package/dist/src/models/Notification.d.ts +0 -9
  191. package/dist/src/models/Notification.js +0 -2
  192. package/dist/src/models/Notification.js.map +0 -1
  193. package/dist/src/models/PeoplesoftDepartment.d.ts +0 -14
  194. package/dist/src/models/PeoplesoftDepartment.js +0 -2
  195. package/dist/src/models/PeoplesoftDepartment.js.map +0 -1
  196. package/dist/src/models/PeoplesoftEmployee.d.ts +0 -34
  197. package/dist/src/models/PeoplesoftEmployee.js +0 -2
  198. package/dist/src/models/PeoplesoftEmployee.js.map +0 -1
  199. package/dist/src/models/Snackbar.d.ts +0 -15
  200. package/dist/src/models/Snackbar.js +0 -2
  201. package/dist/src/models/Snackbar.js.map +0 -1
  202. package/dist/src/models/User.d.ts +0 -27
  203. package/dist/src/models/User.js +0 -11
  204. package/dist/src/models/User.js.map +0 -1
  205. package/dist/src/models/types/EmployeeCategoryGroup.d.ts +0 -1
  206. package/dist/src/models/types/EmployeeCategoryGroup.js +0 -2
  207. package/dist/src/models/types/EmployeeCategoryGroup.js.map +0 -1
  208. package/dist/src/models/types/EmployeeStatus.d.ts +0 -1
  209. package/dist/src/models/types/EmployeeStatus.js +0 -2
  210. package/dist/src/models/types/EmployeeStatus.js.map +0 -1
  211. package/dist/src/utils/Auth.d.ts +0 -12
  212. package/dist/src/utils/Auth.js +0 -49
  213. package/dist/src/utils/Auth.js.map +0 -1
  214. package/dist/src/utils/Fetches.d.ts +0 -5
  215. package/dist/src/utils/Fetches.js +0 -66
  216. package/dist/src/utils/Fetches.js.map +0 -1
  217. package/dist/src/utils/FormUtils.d.ts +0 -7
  218. package/dist/src/utils/FormUtils.js +0 -9
  219. package/dist/src/utils/FormUtils.js.map +0 -1
  220. package/dist/src/utils/Helpers.d.ts +0 -11
  221. package/dist/src/utils/Helpers.js +0 -26
  222. package/dist/src/utils/Helpers.js.map +0 -1
  223. package/dist/tsconfig.tsbuildinfo +0 -1
  224. package/src/components/Layout.tsx +0 -183
  225. package/src/components/dataGrid/ChipInputCell.tsx +0 -31
  226. package/src/components/dataGrid/EditableColumnHeader.tsx +0 -7
  227. package/src/components/dataGrid/GridToolbar.tsx +0 -63
  228. package/src/components/dataGrid/TableContainer.tsx +0 -39
  229. package/src/components/form/FormAutocomplete.tsx +0 -34
  230. package/src/components/form/FormCheckbox.tsx +0 -32
  231. package/src/components/form/FormDatePicker.tsx +0 -34
  232. package/src/components/form/FormDateTimePicker.tsx +0 -34
  233. package/src/components/form/FormNumberField.tsx +0 -33
  234. package/src/components/form/FormRadioGroup.tsx +0 -43
  235. package/src/components/form/FormSlider.tsx +0 -28
  236. package/src/components/form/FormSubmitButton.tsx +0 -29
  237. package/src/components/form/FormSwitch.tsx +0 -32
  238. package/src/components/form/FormTextField.tsx +0 -26
  239. package/src/components/layout/AccountMenu.tsx +0 -160
  240. package/src/components/layout/DevelopmentBanner.tsx +0 -54
  241. package/src/components/layout/ErrorPage.tsx +0 -34
  242. package/src/components/layout/LayoutDialog.tsx +0 -50
  243. package/src/components/layout/LayoutSnackbar.tsx +0 -44
  244. package/src/components/layout/NavigationDrawer.tsx +0 -131
  245. package/src/components/layout/NotificationMenu.tsx +0 -76
  246. package/src/components/layout/TypographyWithIcon.tsx +0 -35
  247. package/src/components/layout/Unauthorized.tsx +0 -37
  248. package/src/contexts/LayoutContext.tsx +0 -127
  249. package/src/contexts/UserContext.tsx +0 -88
  250. package/src/hooks/FormHooks.ts +0 -33
  251. package/src/hooks/UseSnackbar.tsx +0 -28
  252. package/src/hooks/UseUser.tsx +0 -29
  253. package/src/index.ts +0 -27
  254. package/src/models/Error.tsx +0 -6
  255. package/src/models/KeycloakSettings.ts +0 -8
  256. package/src/models/LayoutPaletteColorOptions.tsx +0 -7
  257. package/src/models/LayoutRoute.ts +0 -15
  258. package/src/models/Notification.ts +0 -10
  259. package/src/models/PeoplesoftDepartment.ts +0 -15
  260. package/src/models/PeoplesoftEmployee.ts +0 -35
  261. package/src/models/Snackbar.ts +0 -16
  262. package/src/models/User.ts +0 -13
  263. package/src/models/types/EmployeeCategoryGroup.ts +0 -1
  264. package/src/models/types/EmployeeStatus.ts +0 -1
  265. package/src/utils/Auth.ts +0 -58
  266. package/src/utils/Fetches.ts +0 -83
  267. package/src/utils/FormUtils.ts +0 -22
  268. package/src/utils/Helpers.ts +0 -27
  269. 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
@@ -0,0 +1,7 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+
3
+ //#region src/lib/queryClient.d.ts
4
+ declare const queryClient: QueryClient;
5
+ //#endregion
6
+ export { queryClient };
7
+ //# sourceMappingURL=data.d.ts.map
package/dist/data.js ADDED
@@ -0,0 +1,2 @@
1
+ import { t as queryClient } from "./queryClient-D64McLhZ.js";
2
+ export { queryClient };
@@ -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"}