wcz-test 6.24.1 → 6.24.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 (284) hide show
  1. package/dist/ApprovalStatus-BtAVFn5p.js +8 -0
  2. package/dist/ApprovalStatus-BtAVFn5p.js.map +1 -0
  3. package/dist/{node_modules/react/cjs/react-jsx-runtime.development.js → DialogsContext-BKtkEAfL.js} +48 -4
  4. package/dist/DialogsContext-BKtkEAfL.js.map +1 -0
  5. package/dist/{hooks/DialogsHooks.js → DialogsHooks-BQVpqCq9.js} +4 -7
  6. package/dist/DialogsHooks-BQVpqCq9.js.map +1 -0
  7. package/dist/FileHooks-Cg9ver7z.js +3478 -0
  8. package/dist/FileHooks-Cg9ver7z.js.map +1 -0
  9. package/dist/{models/file/FileMeta.js → FileMeta-G1oT3mYK.js} +2 -2
  10. package/dist/FileMeta-G1oT3mYK.js.map +1 -0
  11. package/dist/{components/router/RouterListItemButton.js → RouterListItemButton-IUVgwnz3.js} +4 -4
  12. package/dist/RouterListItemButton-IUVgwnz3.js.map +1 -0
  13. package/dist/client.js +4 -4
  14. package/dist/compiler-runtime-BGHur82y.js +46 -0
  15. package/dist/compiler-runtime-BGHur82y.js.map +1 -0
  16. package/dist/components.js +1486 -15
  17. package/dist/components.js.map +1 -1
  18. package/dist/{env.js → env-gsqZ6zZD.js} +3 -3
  19. package/dist/env-gsqZ6zZD.js.map +1 -0
  20. package/dist/exports/client.d.ts +17 -4
  21. package/dist/exports/components.d.ts +44 -14
  22. package/dist/exports/hooks.d.ts +23 -4
  23. package/dist/exports/index.d.ts +17 -4
  24. package/dist/exports/models.d.ts +107 -25
  25. package/dist/exports/queries.d.ts +95 -4
  26. package/dist/exports/server.d.ts +14 -4
  27. package/dist/exports/utils.d.ts +11 -3
  28. package/dist/exports/vite.d.ts +5 -1
  29. package/dist/hooks.js +1000 -3
  30. package/dist/hooks.js.map +1 -1
  31. package/dist/index.js +1752 -4
  32. package/dist/index.js.map +1 -1
  33. package/dist/models.js +159 -10
  34. package/dist/models.js.map +1 -1
  35. package/dist/queries.js +935 -14
  36. package/dist/queries.js.map +1 -1
  37. package/dist/{lib/queryClient.js → queryClient-CNvC95mU.js} +2 -2
  38. package/dist/queryClient-CNvC95mU.js.map +1 -0
  39. package/dist/server.js +84 -1
  40. package/dist/server.js.map +1 -1
  41. package/dist/{lib/auth/session.js → session-vW7WZadj.js} +23 -8
  42. package/dist/session-vW7WZadj.js.map +1 -0
  43. package/dist/{lib/utils.js → utils-MD9YwOtu.js} +9 -9
  44. package/dist/utils-MD9YwOtu.js.map +1 -0
  45. package/dist/utils.js +2 -2
  46. package/dist/vite.js +61 -1
  47. package/dist/vite.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/_virtual/compiler-runtime.js +0 -6
  50. package/dist/_virtual/compiler-runtime.js.map +0 -1
  51. package/dist/_virtual/compiler-runtime2.js +0 -5
  52. package/dist/_virtual/compiler-runtime2.js.map +0 -1
  53. package/dist/_virtual/jsx-runtime.js +0 -6
  54. package/dist/_virtual/jsx-runtime.js.map +0 -1
  55. package/dist/_virtual/jsx-runtime2.js +0 -5
  56. package/dist/_virtual/jsx-runtime2.js.map +0 -1
  57. package/dist/_virtual/react-compiler-runtime.development.js +0 -5
  58. package/dist/_virtual/react-compiler-runtime.development.js.map +0 -1
  59. package/dist/_virtual/react-compiler-runtime.production.js +0 -5
  60. package/dist/_virtual/react-compiler-runtime.production.js.map +0 -1
  61. package/dist/_virtual/react-jsx-runtime.development.js +0 -5
  62. package/dist/_virtual/react-jsx-runtime.development.js.map +0 -1
  63. package/dist/_virtual/react-jsx-runtime.production.js +0 -5
  64. package/dist/_virtual/react-jsx-runtime.production.js.map +0 -1
  65. package/dist/components/core/AppTitle.d.ts +0 -2
  66. package/dist/components/core/AppTitle.js +0 -23
  67. package/dist/components/core/AppTitle.js.map +0 -1
  68. package/dist/components/core/Fullscreen.d.ts +0 -3
  69. package/dist/components/core/Fullscreen.js +0 -104
  70. package/dist/components/core/Fullscreen.js.map +0 -1
  71. package/dist/components/core/Layout.d.ts +0 -8
  72. package/dist/components/core/Layout.js +0 -214
  73. package/dist/components/core/Layout.js.map +0 -1
  74. package/dist/components/core/ToolbarAccount.d.ts +0 -2
  75. package/dist/components/core/ToolbarAccount.js +0 -582
  76. package/dist/components/core/ToolbarAccount.js.map +0 -1
  77. package/dist/components/core/TypographyWithIcon.d.ts +0 -7
  78. package/dist/components/core/TypographyWithIcon.js +0 -117
  79. package/dist/components/core/TypographyWithIcon.js.map +0 -1
  80. package/dist/components/core/navigation/NavigationList.d.ts +0 -22
  81. package/dist/components/core/navigation/NavigationList.js +0 -166
  82. package/dist/components/core/navigation/NavigationList.js.map +0 -1
  83. package/dist/components/core/navigation/NavigationListItem.d.ts +0 -16
  84. package/dist/components/core/navigation/NavigationListItem.js +0 -467
  85. package/dist/components/core/navigation/NavigationListItem.js.map +0 -1
  86. package/dist/components/core/navigation/NavigationRail.d.ts +0 -12
  87. package/dist/components/core/navigation/NavigationRail.js +0 -141
  88. package/dist/components/core/navigation/NavigationRail.js.map +0 -1
  89. package/dist/components/data-grid/ChipInputCell.d.ts +0 -9
  90. package/dist/components/data-grid/ChipInputCell.js +0 -95
  91. package/dist/components/data-grid/ChipInputCell.js.map +0 -1
  92. package/dist/components/data-grid/EditableColumnHeader.d.ts +0 -2
  93. package/dist/components/data-grid/EditableColumnHeader.js +0 -30
  94. package/dist/components/data-grid/EditableColumnHeader.js.map +0 -1
  95. package/dist/components/file/Dropzone.d.ts +0 -8
  96. package/dist/components/file/Dropzone.js +0 -151
  97. package/dist/components/file/Dropzone.js.map +0 -1
  98. package/dist/components/file/FileViewer.d.ts +0 -20
  99. package/dist/components/file/FileViewer.js +0 -127
  100. package/dist/components/file/FileViewer.js.map +0 -1
  101. package/dist/components/file/fileViewer/FileViewerGrid.d.ts +0 -17
  102. package/dist/components/file/fileViewer/FileViewerGrid.js +0 -282
  103. package/dist/components/file/fileViewer/FileViewerGrid.js.map +0 -1
  104. package/dist/components/file/fileViewer/FileViewerList.d.ts +0 -12
  105. package/dist/components/file/fileViewer/FileViewerList.js +0 -191
  106. package/dist/components/file/fileViewer/FileViewerList.js.map +0 -1
  107. package/dist/components/file/fileViewer/ImageViewer.d.ts +0 -6
  108. package/dist/components/file/fileViewer/ImageViewer.js +0 -75
  109. package/dist/components/file/fileViewer/ImageViewer.js.map +0 -1
  110. package/dist/components/file/fileViewer/common/ActionsMenu.d.ts +0 -15
  111. package/dist/components/file/fileViewer/common/ActionsMenu.js +0 -159
  112. package/dist/components/file/fileViewer/common/ActionsMenu.js.map +0 -1
  113. package/dist/components/form/FormAutocomplete.d.ts +0 -7
  114. package/dist/components/form/FormAutocomplete.js +0 -80
  115. package/dist/components/form/FormAutocomplete.js.map +0 -1
  116. package/dist/components/form/FormCheckbox.d.ts +0 -7
  117. package/dist/components/form/FormCheckbox.js +0 -81
  118. package/dist/components/form/FormCheckbox.js.map +0 -1
  119. package/dist/components/form/FormDatePicker.d.ts +0 -8
  120. package/dist/components/form/FormDatePicker.js +0 -77
  121. package/dist/components/form/FormDatePicker.js.map +0 -1
  122. package/dist/components/form/FormDateRangePicker.d.ts +0 -8
  123. package/dist/components/form/FormDateRangePicker.js +0 -77
  124. package/dist/components/form/FormDateRangePicker.js.map +0 -1
  125. package/dist/components/form/FormDateTimePicker.d.ts +0 -8
  126. package/dist/components/form/FormDateTimePicker.js +0 -77
  127. package/dist/components/form/FormDateTimePicker.js.map +0 -1
  128. package/dist/components/form/FormDateTimeRangePicker.d.ts +0 -8
  129. package/dist/components/form/FormDateTimeRangePicker.js +0 -77
  130. package/dist/components/form/FormDateTimeRangePicker.js.map +0 -1
  131. package/dist/components/form/FormNumberField.d.ts +0 -9
  132. package/dist/components/form/FormNumberField.js +0 -73
  133. package/dist/components/form/FormNumberField.js.map +0 -1
  134. package/dist/components/form/FormRadioGroup.d.ts +0 -13
  135. package/dist/components/form/FormRadioGroup.js +0 -113
  136. package/dist/components/form/FormRadioGroup.js.map +0 -1
  137. package/dist/components/form/FormSlider.d.ts +0 -7
  138. package/dist/components/form/FormSlider.js +0 -94
  139. package/dist/components/form/FormSlider.js.map +0 -1
  140. package/dist/components/form/FormSubmitButton.d.ts +0 -4
  141. package/dist/components/form/FormSubmitButton.js +0 -50
  142. package/dist/components/form/FormSubmitButton.js.map +0 -1
  143. package/dist/components/form/FormSwitch.d.ts +0 -7
  144. package/dist/components/form/FormSwitch.js +0 -81
  145. package/dist/components/form/FormSwitch.js.map +0 -1
  146. package/dist/components/form/FormTextField.d.ts +0 -7
  147. package/dist/components/form/FormTextField.js +0 -52
  148. package/dist/components/form/FormTextField.js.map +0 -1
  149. package/dist/components/form/FormTimePicker.d.ts +0 -8
  150. package/dist/components/form/FormTimePicker.js +0 -77
  151. package/dist/components/form/FormTimePicker.js.map +0 -1
  152. package/dist/components/form/FormTimeRangePicker.d.ts +0 -8
  153. package/dist/components/form/FormTimeRangePicker.js +0 -77
  154. package/dist/components/form/FormTimeRangePicker.js.map +0 -1
  155. package/dist/components/router/RouterButton.d.ts +0 -6
  156. package/dist/components/router/RouterButton.js +0 -35
  157. package/dist/components/router/RouterButton.js.map +0 -1
  158. package/dist/components/router/RouterError.d.ts +0 -7
  159. package/dist/components/router/RouterError.js +0 -62
  160. package/dist/components/router/RouterError.js.map +0 -1
  161. package/dist/components/router/RouterGridActionsCellItem.d.ts +0 -6
  162. package/dist/components/router/RouterGridActionsCellItem.js +0 -35
  163. package/dist/components/router/RouterGridActionsCellItem.js.map +0 -1
  164. package/dist/components/router/RouterIconButton.d.ts +0 -6
  165. package/dist/components/router/RouterIconButton.js +0 -35
  166. package/dist/components/router/RouterIconButton.js.map +0 -1
  167. package/dist/components/router/RouterLink.d.ts +0 -6
  168. package/dist/components/router/RouterLink.js +0 -35
  169. package/dist/components/router/RouterLink.js.map +0 -1
  170. package/dist/components/router/RouterListItemButton.d.ts +0 -6
  171. package/dist/components/router/RouterListItemButton.js.map +0 -1
  172. package/dist/components/router/RouterNotFound.d.ts +0 -1
  173. package/dist/components/router/RouterNotFound.js +0 -53
  174. package/dist/components/router/RouterNotFound.js.map +0 -1
  175. package/dist/components/router/RouterTab.d.ts +0 -6
  176. package/dist/components/router/RouterTab.js +0 -35
  177. package/dist/components/router/RouterTab.js.map +0 -1
  178. package/dist/contexts/DialogsContext.d.ts +0 -6
  179. package/dist/contexts/DialogsContext.js +0 -6
  180. package/dist/contexts/DialogsContext.js.map +0 -1
  181. package/dist/contexts/FileContext.d.ts +0 -13
  182. package/dist/contexts/FileContext.js +0 -14
  183. package/dist/contexts/FileContext.js.map +0 -1
  184. package/dist/env.d.ts +0 -13
  185. package/dist/env.js.map +0 -1
  186. package/dist/hooks/DialogsHooks.d.ts +0 -42
  187. package/dist/hooks/DialogsHooks.js.map +0 -1
  188. package/dist/hooks/FormHooks.d.ts +0 -52
  189. package/dist/hooks/FormHooks.js +0 -55
  190. package/dist/hooks/FormHooks.js.map +0 -1
  191. package/dist/lib/auth/api.d.ts +0 -3
  192. package/dist/lib/auth/api.js +0 -91
  193. package/dist/lib/auth/api.js.map +0 -1
  194. package/dist/lib/auth/entra.d.ts +0 -2
  195. package/dist/lib/auth/entra.js +0 -7
  196. package/dist/lib/auth/entra.js.map +0 -1
  197. package/dist/lib/auth/graph.d.ts +0 -17
  198. package/dist/lib/auth/graph.js +0 -72
  199. package/dist/lib/auth/graph.js.map +0 -1
  200. package/dist/lib/auth/session.d.ts +0 -24
  201. package/dist/lib/auth/session.js.map +0 -1
  202. package/dist/lib/queryClient.d.ts +0 -2
  203. package/dist/lib/queryClient.js.map +0 -1
  204. package/dist/lib/utils.d.ts +0 -52
  205. package/dist/lib/utils.js.map +0 -1
  206. package/dist/lib/vite-plugin.d.ts +0 -2
  207. package/dist/lib/vite-plugin.js +0 -65
  208. package/dist/lib/vite-plugin.js.map +0 -1
  209. package/dist/middleware/auth.d.ts +0 -22
  210. package/dist/models/Navigation.d.ts +0 -18
  211. package/dist/models/User.d.ts +0 -16
  212. package/dist/models/User.js +0 -18
  213. package/dist/models/User.js.map +0 -1
  214. package/dist/models/approval/Approval.d.ts +0 -177
  215. package/dist/models/approval/Approval.js +0 -81
  216. package/dist/models/approval/Approval.js.map +0 -1
  217. package/dist/models/approval/ApprovalEmployee.d.ts +0 -7
  218. package/dist/models/approval/ApprovalEmployee.js +0 -10
  219. package/dist/models/approval/ApprovalEmployee.js.map +0 -1
  220. package/dist/models/approval/ApprovalFlow.d.ts +0 -49
  221. package/dist/models/approval/ApprovalFlow.js +0 -15
  222. package/dist/models/approval/ApprovalFlow.js.map +0 -1
  223. package/dist/models/approval/ApprovalFlowStep.d.ts +0 -29
  224. package/dist/models/approval/ApprovalFlowStep.js +0 -17
  225. package/dist/models/approval/ApprovalFlowStep.js.map +0 -1
  226. package/dist/models/approval/ApprovalRequestType.d.ts +0 -5
  227. package/dist/models/approval/ApprovalRequestType.js +0 -6
  228. package/dist/models/approval/ApprovalRequestType.js.map +0 -1
  229. package/dist/models/approval/ApprovalStatus.d.ts +0 -9
  230. package/dist/models/approval/ApprovalStatus.js +0 -6
  231. package/dist/models/approval/ApprovalStatus.js.map +0 -1
  232. package/dist/models/approval/ApprovalStepResult.d.ts +0 -11
  233. package/dist/models/approval/ApprovalStepResult.js +0 -6
  234. package/dist/models/approval/ApprovalStepResult.js.map +0 -1
  235. package/dist/models/approval/StepApprovalOrder.d.ts +0 -6
  236. package/dist/models/approval/StepApprovalOrder.js +0 -6
  237. package/dist/models/approval/StepApprovalOrder.js.map +0 -1
  238. package/dist/models/email/Email.d.ts +0 -13
  239. package/dist/models/email/Email.js +0 -14
  240. package/dist/models/email/Email.js.map +0 -1
  241. package/dist/models/email/EmailAttachment.d.ts +0 -6
  242. package/dist/models/email/EmailAttachment.js +0 -9
  243. package/dist/models/email/EmailAttachment.js.map +0 -1
  244. package/dist/models/file/FileActions.d.ts +0 -6
  245. package/dist/models/file/FileMeta.d.ts +0 -15
  246. package/dist/models/file/FileMeta.js.map +0 -1
  247. package/dist/models/peoplesoft/Department.d.ts +0 -58
  248. package/dist/models/peoplesoft/Department.js +0 -19
  249. package/dist/models/peoplesoft/Department.js.map +0 -1
  250. package/dist/models/peoplesoft/Employee.d.ts +0 -46
  251. package/dist/models/peoplesoft/Employee.js +0 -43
  252. package/dist/models/peoplesoft/Employee.js.map +0 -1
  253. package/dist/models/peoplesoft/EmployeeCategoryGroup.d.ts +0 -6
  254. package/dist/models/peoplesoft/EmployeeCategoryGroup.js +0 -6
  255. package/dist/models/peoplesoft/EmployeeCategoryGroup.js.map +0 -1
  256. package/dist/models/peoplesoft/EmployeeStatus.d.ts +0 -6
  257. package/dist/models/peoplesoft/EmployeeStatus.js +0 -6
  258. package/dist/models/peoplesoft/EmployeeStatus.js.map +0 -1
  259. package/dist/node_modules/react/cjs/react-compiler-runtime.development.js +0 -22
  260. package/dist/node_modules/react/cjs/react-compiler-runtime.development.js.map +0 -1
  261. package/dist/node_modules/react/cjs/react-compiler-runtime.production.js +0 -16
  262. package/dist/node_modules/react/cjs/react-compiler-runtime.production.js.map +0 -1
  263. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  264. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -33
  265. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
  266. package/dist/node_modules/react/compiler-runtime.js +0 -18
  267. package/dist/node_modules/react/compiler-runtime.js.map +0 -1
  268. package/dist/node_modules/react/jsx-runtime.js +0 -18
  269. package/dist/node_modules/react/jsx-runtime.js.map +0 -1
  270. package/dist/providers/DialogsProvider.d.ts +0 -5
  271. package/dist/providers/DialogsProvider.js +0 -79
  272. package/dist/providers/DialogsProvider.js.map +0 -1
  273. package/dist/providers/LayoutProvider.d.ts +0 -11
  274. package/dist/providers/LayoutProvider.js +0 -94
  275. package/dist/providers/LayoutProvider.js.map +0 -1
  276. package/dist/queries/ApprovalHooks.d.ts +0 -338
  277. package/dist/queries/ApprovalHooks.js +0 -326
  278. package/dist/queries/ApprovalHooks.js.map +0 -1
  279. package/dist/queries/FileHooks.d.ts +0 -151
  280. package/dist/queries/FileHooks.js +0 -493
  281. package/dist/queries/FileHooks.js.map +0 -1
  282. package/dist/queries/PeopleSoftHooks.d.ts +0 -537
  283. package/dist/queries/PeopleSoftHooks.js +0 -628
  284. package/dist/queries/PeopleSoftHooks.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"queries.js","sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Department>>({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request<Department>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport z from \"zod\";\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\nimport { clientEnv } from \"~/env\";\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\n\nconst ROUTE = \"approval\";\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\n\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\n\nconst GetApprovalsParamsSchema = z.object({\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional()\n});\n\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\n\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => {\n const queryParams = new URLSearchParams();\n\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\n if (params?.status) queryParams.append(\"status\", params.status.toString());\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\n\n return useQuery<Array<Approval>>({\n ...options,\n queryKey: [ROUTE, params],\n queryFn: ({ signal }) => httpClient.request<Array<Approval>>({\n url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n signal,\n }).then(request => request.data),\n });\n};\n\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => useQuery<Approval>({\n ...options,\n queryKey: [ROUTE, id],\n queryFn: ({ signal }) => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests/${id}`,\n method: \"GET\",\n signal,\n }).then(request => request.data),\n});\n\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<Approval, Error, CreateApproval>({\n ...options,\n mutationFn: data => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<Approval, Error, ApproveApproval>({\n ...options,\n mutationFn: data => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests/${data.id}/single-approval`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<Approval, Error, ResubmitApproval>({\n ...options,\n mutationFn: data => httpClient.request<Approval>({\n url: `/${ROUTE}/Requests/${data.id}/resubmit`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<void, Error, WithdrawApproval>({\n ...options,\n mutationFn: data => httpClient.request<void>({\n url: `/${ROUTE}/Requests/${data.id}/withdraw`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\n const queryClient = useQueryClient();\n\n return useMutation<void, Error, CancelApproval>({\n ...options,\n mutationFn: data => httpClient.request<void>({\n url: `/${ROUTE}/Requests/${data.id}/cancel`,\n method: \"POST\",\n data\n }).then(request => request.data),\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\n });\n};\n"],"names":["QUERY_KEY","DAY","useGetPeopleSoftEmployeesSearch","searchTerm","options","$","_c","t0","t1","t2","signal","httpClient","request","url","method","then","_temp","queryKey","queryFn","staleTime","gcTime","refetchOnWindowFocus","useQuery","useGetPeopleSoftEmployees","Symbol","for","_temp3","useGetPeopleSoftActiveEmployees","_temp5","useGetPeopleSoftEmployeeById","employeeId","_temp6","useGetPeopleSoftPreviousEmployeeIds","_temp8","useGetPeopleSoftEmployeeSupervisor","_temp9","useGetPeopleSoftEmployeeSubordinates","_temp0","useGetPeopleSoftEmployeeManager","_temp1","useGetPeopleSoftEmployeeGeneralManager","_temp10","useGetPeopleSoftDepartments","_temp12","useGetPeopleSoftDepartmentById","departmentId","_temp13","useGetPeopleSoftDepartmentManager","_temp14","useGetPeopleSoftDepartmentEmployees","_temp15","useGetPeopleSoftCompanyGeneralManager","companyCode","_temp16","data","_temp2","_temp4","_temp7","_temp11","ROUTE","APP_NAME","toKebabCase","clientEnv","VITE_APP_TITLE","z","object","appName","string","min","max","default","optional","status","ApprovalStatus","approverEmployeeId","stepResult","ApprovalStepResult","useGetApprovals","params","queryParams","URLSearchParams","append","toString","useGetApproval","id","useCreateApproval","queryClient","useQueryClient","invalidateQueries","exact","mutationFn","onSettled","useMutation","useApproveApproval","useResubmitApproval","useWithdrawApproval","useCancelApproval"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { QueryClient } from "@tanstack/react-query";
2
2
  const queryClient = new QueryClient();
3
3
  export {
4
- queryClient
4
+ queryClient as q
5
5
  };
6
- //# sourceMappingURL=queryClient.js.map
6
+ //# sourceMappingURL=queryClient-CNvC95mU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryClient-CNvC95mU.js","sources":["../src/lib/queryClient.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient();\r\n"],"names":["queryClient","QueryClient"],"mappings":";AAEO,MAAMA,cAAc,IAAIC,YAAAA;"}
package/dist/server.js CHANGED
@@ -1,5 +1,88 @@
1
1
  import { Pool } from "pg";
2
- import { callback, login, logout } from "./lib/auth/api.js";
2
+ import { setCookie, getCookie, deleteCookie } from "@tanstack/react-start/server";
3
+ import { generateState, generateCodeVerifier, decodeIdToken } from "arctic";
4
+ import { s as serverEnv } from "./env-gsqZ6zZD.js";
5
+ import { e as entraId, s as setSessionCookie, a as setSessionAccessTokenCookie } from "./session-vW7WZadj.js";
6
+ const login = async (request) => {
7
+ const url = new URL(request.url);
8
+ const redirectUri = url.searchParams.get("redirect_uri") || "/";
9
+ const state = generateState();
10
+ const codeVerifier = generateCodeVerifier();
11
+ const scopes = ["openid", "profile", "offline_access", "User.Read"];
12
+ const authorizationURL = entraId.createAuthorizationURL(state, codeVerifier, scopes);
13
+ setCookie("entra_oauth_state", state, {
14
+ secure: serverEnv.NODE_ENV === "production",
15
+ path: "/",
16
+ httpOnly: true,
17
+ sameSite: "lax",
18
+ maxAge: 60 * 10
19
+ // 10 minutes
20
+ });
21
+ setCookie("entra_code_verifier", codeVerifier, {
22
+ secure: serverEnv.NODE_ENV === "production",
23
+ path: "/",
24
+ httpOnly: true,
25
+ sameSite: "lax",
26
+ maxAge: 60 * 10
27
+ // 10 minutes,
28
+ });
29
+ setCookie("entra_redirect_uri", redirectUri, {
30
+ secure: serverEnv.NODE_ENV === "production",
31
+ path: "/",
32
+ httpOnly: true,
33
+ sameSite: "lax",
34
+ maxAge: 60 * 10
35
+ // 10 minutes,
36
+ });
37
+ return Response.redirect(authorizationURL.href);
38
+ };
39
+ const callback = async (request) => {
40
+ const url = new URL(request.url);
41
+ const code = url.searchParams.get("code");
42
+ if (!code) return new Response("Missing code", {
43
+ status: 400
44
+ });
45
+ const state = url.searchParams.get("state");
46
+ const storedState = getCookie("entra_oauth_state") ?? null;
47
+ const codeVerifier = getCookie("entra_code_verifier") ?? null;
48
+ const redirectUri = getCookie("entra_redirect_uri") ?? "/";
49
+ if (!state || !storedState || !codeVerifier || !redirectUri) throw new Response("Missing entra oauth data in cookies", {
50
+ status: 400
51
+ });
52
+ if (state !== storedState) return new Response("Invalid oauth state", {
53
+ status: 400
54
+ });
55
+ deleteCookie("entra_oauth_state");
56
+ deleteCookie("entra_code_verifier");
57
+ deleteCookie("entra_redirect_uri");
58
+ const tokens = await entraId.validateAuthorizationCode(code, codeVerifier);
59
+ const idToken = tokens.idToken();
60
+ const claims = decodeIdToken(idToken);
61
+ await setSessionCookie({
62
+ refreshToken: tokens.refreshToken(),
63
+ user: {
64
+ id: claims.oid,
65
+ name: claims.name.split("/")[0],
66
+ email: claims.preferred_username
67
+ }
68
+ });
69
+ await setSessionAccessTokenCookie(tokens.accessToken());
70
+ return new Response(null, {
71
+ status: 302,
72
+ headers: {
73
+ Location: redirectUri
74
+ }
75
+ });
76
+ };
77
+ const logout = async (request) => {
78
+ const url = new URL(request.url);
79
+ return new Response(null, {
80
+ status: 302,
81
+ headers: {
82
+ Location: url.href
83
+ }
84
+ });
85
+ };
3
86
  export {
4
87
  Pool,
5
88
  callback,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"server.js","sources":["../src/lib/auth/api.ts"],"sourcesContent":["import { deleteCookie, getCookie, setCookie } from \"@tanstack/react-start/server\";\r\nimport { decodeIdToken, generateCodeVerifier, generateState } from \"arctic\";\r\nimport type jwt from \"jsonwebtoken\";\r\nimport { serverEnv } from \"~/env\";\r\nimport { entraId } from \"~/lib/auth/entra\";\r\nimport { setSessionAccessTokenCookie, setSessionCookie } from \"~/lib/auth/session\";\r\n\r\nexport const login = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const redirectUri = url.searchParams.get(\"redirect_uri\") || \"/\";\r\n\r\n const state = generateState();\r\n const codeVerifier = generateCodeVerifier();\r\n const scopes = [\"openid\", \"profile\", \"offline_access\", \"User.Read\"];\r\n const authorizationURL = entraId.createAuthorizationURL(state, codeVerifier, scopes);\r\n\r\n setCookie(\"entra_oauth_state\", state, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes\r\n });\r\n\r\n setCookie(\"entra_code_verifier\", codeVerifier, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n setCookie(\"entra_redirect_uri\", redirectUri, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 60 * 10 // 10 minutes,\r\n });\r\n\r\n return Response.redirect(authorizationURL.href);\r\n};\r\n\r\nexport const callback = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n const code = url.searchParams.get(\"code\");\r\n if (!code) return new Response(\"Missing code\", { status: 400 });\r\n const state = url.searchParams.get(\"state\");\r\n const storedState = getCookie(\"entra_oauth_state\") ?? null;\r\n const codeVerifier = getCookie(\"entra_code_verifier\") ?? null;\r\n const redirectUri = getCookie(\"entra_redirect_uri\") ?? \"/\";\r\n\r\n if (!state || !storedState || !codeVerifier || !redirectUri) throw new Response(\"Missing entra oauth data in cookies\", { status: 400 });\r\n if (state !== storedState) return new Response(\"Invalid oauth state\", { status: 400 });\r\n\r\n deleteCookie(\"entra_oauth_state\");\r\n deleteCookie(\"entra_code_verifier\");\r\n deleteCookie(\"entra_redirect_uri\");\r\n\r\n const tokens = await entraId.validateAuthorizationCode(code, codeVerifier);\r\n\r\n const idToken = tokens.idToken();\r\n const claims = decodeIdToken(idToken) as jwt.JwtPayload;\r\n\r\n await setSessionCookie({\r\n refreshToken: tokens.refreshToken(),\r\n user: {\r\n id: claims.oid,\r\n name: claims.name.split(\"/\")[0],\r\n email: claims.preferred_username,\r\n }\r\n });\r\n\r\n await setSessionAccessTokenCookie(tokens.accessToken());\r\n\r\n return new Response(null, {\r\n status: 302,\r\n headers: { Location: redirectUri },\r\n });\r\n};\r\n\r\nexport const logout = async (request: Request): Promise<Response> => {\r\n const url = new URL(request.url);\r\n\r\n // const { session } = await validateRequest();\r\n // if (!session) {\r\n // return new Response(null, { status: 302, headers: { Location: \"/\" } });\r\n // }\r\n // setCookie(SESSION_COOKIE_NAME, \"\", {\r\n // httpOnly: true,\r\n // sameSite: \"lax\",\r\n // secure: serverEnv.NODE_ENV === \"production\",\r\n // maxAge: 0,\r\n // path: \"/\",\r\n // });\r\n\r\n return new Response(null, { status: 302, headers: { Location: url.href } });\r\n};\r\n"],"names":["login","request","url","URL","redirectUri","searchParams","get","state","generateState","codeVerifier","generateCodeVerifier","scopes","authorizationURL","entraId","createAuthorizationURL","setCookie","secure","serverEnv","NODE_ENV","path","httpOnly","sameSite","maxAge","Response","redirect","href","callback","code","status","storedState","getCookie","deleteCookie","tokens","validateAuthorizationCode","idToken","claims","decodeIdToken","setSessionCookie","refreshToken","user","id","oid","name","split","email","preferred_username","setSessionAccessTokenCookie","accessToken","headers","Location","logout"],"mappings":";;;;;AAOO,MAAMA,QAAQ,OAAOC,YAAwC;AAChE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAC/B,QAAME,cAAcF,IAAIG,aAAaC,IAAI,cAAc,KAAK;AAE5D,QAAMC,QAAQC,cAAAA;AACd,QAAMC,eAAeC,qBAAAA;AACrB,QAAMC,SAAS,CAAC,UAAU,WAAW,kBAAkB,WAAW;AAClE,QAAMC,mBAAmBC,QAAQC,uBAAuBP,OAAOE,cAAcE,MAAM;AAEnFI,YAAU,qBAAqBR,OAAO;AAAA,IAClCS,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAEDP,YAAU,uBAAuBN,cAAc;AAAA,IAC3CO,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAEDP,YAAU,sBAAsBX,aAAa;AAAA,IACzCY,QAAQC,UAAUC,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,KAAK;AAAA;AAAA,EAAA,CAChB;AAED,SAAOC,SAASC,SAASZ,iBAAiBa,IAAI;AAClD;AAEO,MAAMC,WAAW,OAAOzB,YAAwC;AACnE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAC/B,QAAMyB,OAAOzB,IAAIG,aAAaC,IAAI,MAAM;AACxC,MAAI,CAACqB,KAAM,QAAO,IAAIJ,SAAS,gBAAgB;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AAC9D,QAAMrB,QAAQL,IAAIG,aAAaC,IAAI,OAAO;AAC1C,QAAMuB,cAAcC,UAAU,mBAAmB,KAAK;AACtD,QAAMrB,eAAeqB,UAAU,qBAAqB,KAAK;AACzD,QAAM1B,cAAc0B,UAAU,oBAAoB,KAAK;AAEvD,MAAI,CAACvB,SAAS,CAACsB,eAAe,CAACpB,gBAAgB,CAACL,YAAa,OAAM,IAAImB,SAAS,uCAAuC;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AACtI,MAAIrB,UAAUsB,YAAa,QAAO,IAAIN,SAAS,uBAAuB;AAAA,IAAEK,QAAQ;AAAA,EAAA,CAAK;AAErFG,eAAa,mBAAmB;AAChCA,eAAa,qBAAqB;AAClCA,eAAa,oBAAoB;AAEjC,QAAMC,SAAS,MAAMnB,QAAQoB,0BAA0BN,MAAMlB,YAAY;AAEzE,QAAMyB,UAAUF,OAAOE,QAAAA;AACvB,QAAMC,SAASC,cAAcF,OAAO;AAEpC,QAAMG,iBAAiB;AAAA,IACnBC,cAAcN,OAAOM,aAAAA;AAAAA,IACrBC,MAAM;AAAA,MACFC,IAAIL,OAAOM;AAAAA,MACXC,MAAMP,OAAOO,KAAKC,MAAM,GAAG,EAAE,CAAC;AAAA,MAC9BC,OAAOT,OAAOU;AAAAA,IAAAA;AAAAA,EAClB,CACH;AAED,QAAMC,4BAA4Bd,OAAOe,aAAa;AAEtD,SAAO,IAAIxB,SAAS,MAAM;AAAA,IACtBK,QAAQ;AAAA,IACRoB,SAAS;AAAA,MAAEC,UAAU7C;AAAAA,IAAAA;AAAAA,EAAY,CACpC;AACL;AAEO,MAAM8C,SAAS,OAAOjD,YAAwC;AACjE,QAAMC,MAAM,IAAIC,IAAIF,QAAQC,GAAG;AAc/B,SAAO,IAAIqB,SAAS,MAAM;AAAA,IAAEK,QAAQ;AAAA,IAAKoB,SAAS;AAAA,MAAEC,UAAU/C,IAAIuB;AAAAA,IAAAA;AAAAA,EAAK,CAAG;AAC9E;"}
@@ -1,11 +1,25 @@
1
1
  import { redirect } from "@tanstack/react-router";
2
2
  import { getCookie, deleteCookie, setCookie } from "@tanstack/react-start/server";
3
3
  import jwt from "jsonwebtoken";
4
+ import * as z from "zod";
4
5
  import z__default from "zod";
5
6
  import "jwks-rsa";
6
- import { entraId } from "./entra.js";
7
- import { serverEnv } from "../../env.js";
8
- import { UserSchema } from "../../models/User.js";
7
+ import { MicrosoftEntraId } from "arctic";
8
+ import { s as serverEnv } from "./env-gsqZ6zZD.js";
9
+ const entraId = new MicrosoftEntraId(serverEnv.MICROSOFT_TENANT_ID, serverEnv.MICROSOFT_CLIENT_ID, serverEnv.MICROSOFT_CLIENT_SECRET, serverEnv.MICROSOFT_REDIRECT_URI);
10
+ const UserSchema = z.object({
11
+ id: z.string(),
12
+ name: z.string(),
13
+ email: z.email(),
14
+ groups: z.array(z.string())
15
+ });
16
+ z.object({
17
+ id: z.string(),
18
+ displayName: z.string(),
19
+ jobTitle: z.string(),
20
+ mail: z.email(),
21
+ mobilePhone: z.string()
22
+ });
9
23
  const SESSION_COOKIE_NAME = "session";
10
24
  const ACCESS_TOKEN_COOKIE_NAME = "access_token";
11
25
  const AFTER_LOGIN_URL = "/";
@@ -68,9 +82,10 @@ const setSessionAccessTokenCookie = async (accessToken) => {
68
82
  });
69
83
  };
70
84
  export {
71
- getAccessToken,
72
- requireSession,
73
- setSessionAccessTokenCookie,
74
- setSessionCookie
85
+ setSessionAccessTokenCookie as a,
86
+ entraId as e,
87
+ getAccessToken as g,
88
+ requireSession as r,
89
+ setSessionCookie as s
75
90
  };
76
- //# sourceMappingURL=session.js.map
91
+ //# sourceMappingURL=session-vW7WZadj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-vW7WZadj.js","sources":["../src/lib/auth/entra.ts","../src/models/User.ts","../src/lib/auth/session.ts"],"sourcesContent":["import { MicrosoftEntraId } from \"arctic\";\r\nimport { serverEnv } from \"~/env\";\r\n\r\nexport const entraId = new MicrosoftEntraId(\r\n serverEnv.MICROSOFT_TENANT_ID,\r\n serverEnv.MICROSOFT_CLIENT_ID,\r\n serverEnv.MICROSOFT_CLIENT_SECRET,\r\n serverEnv.MICROSOFT_REDIRECT_URI,\r\n);\r\n","import * as z from \"zod\";\r\n\r\nexport const UserSchema = z.object({\r\n id: z.string(),\r\n name: z.string(),\r\n email: z.email(),\r\n groups: z.array(z.string()),\r\n});\r\n\r\nexport type User = z.infer<typeof UserSchema>;\r\n\r\nexport const GraphUserSchema = z.object({\r\n id: z.string(),\r\n displayName: z.string(),\r\n jobTitle: z.string(),\r\n mail: z.email(),\r\n mobilePhone: z.string(),\r\n});\r\n\r\nexport type GraphUser = z.infer<typeof GraphUserSchema>;\r\n","import { redirect } from \"@tanstack/react-router\";\r\nimport { deleteCookie, getCookie, setCookie } from \"@tanstack/react-start/server\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport z from \"zod\";\r\nimport jwksRsa from \"jwks-rsa\";\r\nimport { entraId } from \"./entra\";\r\nimport { serverEnv } from \"~/env\";\r\nimport { UserSchema } from \"~/models/User\";\r\n\r\nconst SESSION_COOKIE_NAME = \"session\";\r\nconst ACCESS_TOKEN_COOKIE_NAME = \"access_token\";\r\nconst AFTER_LOGIN_URL = \"/\";\r\n\r\nconst SessionSchema = z.object({\r\n refreshToken: z.string(),\r\n user: UserSchema.omit({ groups: true }),\r\n});\r\n\r\ntype Session = z.infer<typeof SessionSchema>;\r\n\r\nexport const requireSession = async (redirectUri?: string) => {\r\n const sessionCookie = getCookie(SESSION_COOKIE_NAME);\r\n if (!sessionCookie) {\r\n throw redirect({ href: `/api/auth/login?redirect_uri=${encodeURIComponent(redirectUri ?? AFTER_LOGIN_URL)}` });\r\n }\r\n\r\n const payloadRaw = jwt.verify(sessionCookie, serverEnv.SESSION_SECRET);\r\n const sessionResult = SessionSchema.safeParse(payloadRaw);\r\n if (!sessionResult.success) {\r\n deleteCookie(SESSION_COOKIE_NAME);\r\n throw redirect({ href: `/api/auth/login?redirect_uri=${encodeURIComponent(redirectUri ?? AFTER_LOGIN_URL)}` });\r\n }\r\n\r\n return sessionResult.data;\r\n};\r\n\r\nexport const getAccessToken = async () => {\r\n const accessTokenCookie = getCookie(ACCESS_TOKEN_COOKIE_NAME);\r\n if (accessTokenCookie) return accessTokenCookie;\r\n\r\n const session = await requireSession();\r\n\r\n const tokens = await entraId.refreshAccessToken(session.refreshToken, []);\r\n\r\n await setSessionCookie({\r\n ...session,\r\n refreshToken: tokens.refreshToken()\r\n });\r\n\r\n await setSessionAccessTokenCookie(tokens.accessToken());\r\n\r\n return tokens.accessToken();\r\n};\r\n\r\nexport const validateAccessToken = async (token: string): Promise<jwt.JwtPayload> => {\r\n const client = jwksRsa({\r\n cache: true,\r\n rateLimit: true,\r\n jwksRequestsPerMinute: 5,\r\n jwksUri: \"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\r\n });\r\n\r\n const decodedHeader = jwt.decode(token, { complete: true });\r\n if (!decodedHeader?.header.kid) throw new Error(\"Invalid token: Missing kid\");\r\n\r\n const key = await client.getSigningKey(decodedHeader.header.kid);\r\n const signingKey = key.getPublicKey();\r\n\r\n const payload = jwt.verify(token, signingKey) as jwt.JwtPayload;\r\n\r\n if (typeof payload.iss !== \"string\" || !payload.iss.startsWith(\"https://login.microsoftonline.com/\"))\r\n throw new Error(\"Invalid issuer\");\r\n\r\n return payload;\r\n};\r\n\r\nexport const setSessionCookie = async (session: Session) => {\r\n const sessionJwt = jwt.sign(session, serverEnv.SESSION_SECRET, { expiresIn: \"7d\" });\r\n\r\n setCookie(SESSION_COOKIE_NAME, sessionJwt, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 7 * 24 * 60 * 60, // 7 days\r\n });\r\n};\r\n\r\nexport const setSessionAccessTokenCookie = async (accessToken: string) => {\r\n setCookie(ACCESS_TOKEN_COOKIE_NAME, accessToken, {\r\n secure: serverEnv.NODE_ENV === \"production\",\r\n path: \"/\",\r\n httpOnly: true,\r\n sameSite: \"lax\",\r\n maxAge: 5 * 60, // 5 minutes\r\n });\r\n};\r\n"],"names":["entraId","MicrosoftEntraId","serverEnv","MICROSOFT_TENANT_ID","MICROSOFT_CLIENT_ID","MICROSOFT_CLIENT_SECRET","MICROSOFT_REDIRECT_URI","UserSchema","z","object","id","string","name","email","groups","array","displayName","jobTitle","mail","mobilePhone","SESSION_COOKIE_NAME","ACCESS_TOKEN_COOKIE_NAME","AFTER_LOGIN_URL","SessionSchema","refreshToken","user","omit","requireSession","redirectUri","sessionCookie","getCookie","redirect","href","encodeURIComponent","payloadRaw","jwt","verify","SESSION_SECRET","sessionResult","safeParse","success","deleteCookie","data","getAccessToken","accessTokenCookie","session","tokens","refreshAccessToken","setSessionCookie","setSessionAccessTokenCookie","accessToken","sessionJwt","sign","expiresIn","setCookie","secure","NODE_ENV","path","httpOnly","sameSite","maxAge"],"mappings":";;;;;;;;AAGO,MAAMA,UAAU,IAAIC,iBACvBC,UAAUC,qBACVD,UAAUE,qBACVF,UAAUG,yBACVH,UAAUI,sBACd;ACNO,MAAMC,aAAaC,EAAEC,OAAO;AAAA,EAC/BC,IAAIF,EAAEG,OAAAA;AAAAA,EACNC,MAAMJ,EAAEG,OAAAA;AAAAA,EACRE,OAAOL,EAAEK,MAAAA;AAAAA,EACTC,QAAQN,EAAEO,MAAMP,EAAEG,QAAQ;AAC9B,CAAC;AAI8BH,EAAEC,OAAO;AAAA,EACpCC,IAAIF,EAAEG,OAAAA;AAAAA,EACNK,aAAaR,EAAEG,OAAAA;AAAAA,EACfM,UAAUT,EAAEG,OAAAA;AAAAA,EACZO,MAAMV,EAAEK,MAAAA;AAAAA,EACRM,aAAaX,EAAEG,OAAAA;AACnB,CAAC;ACRD,MAAMS,sBAAsB;AAC5B,MAAMC,2BAA2B;AACjC,MAAMC,kBAAkB;AAExB,MAAMC,gBAAgBf,WAAEC,OAAO;AAAA,EAC3Be,cAAchB,WAAEG,OAAAA;AAAAA,EAChBc,MAAMlB,WAAWmB,KAAK;AAAA,IAAEZ,QAAQ;AAAA,EAAA,CAAM;AAC1C,CAAC;AAIM,MAAMa,iBAAiB,OAAOC,gBAAyB;AAC1D,QAAMC,gBAAgBC,UAAUV,mBAAmB;AACnD,MAAI,CAACS,eAAe;AAChB,UAAME,SAAS;AAAA,MAAEC,MAAM,gCAAgCC,mBAAmBL,eAAeN,eAAe,CAAC;AAAA,IAAA,CAAI;AAAA,EACjH;AAEA,QAAMY,aAAaC,IAAIC,OAAOP,eAAe3B,UAAUmC,cAAc;AACrE,QAAMC,gBAAgBf,cAAcgB,UAAUL,UAAU;AACxD,MAAI,CAACI,cAAcE,SAAS;AACxBC,iBAAarB,mBAAmB;AAChC,UAAMW,SAAS;AAAA,MAAEC,MAAM,gCAAgCC,mBAAmBL,eAAeN,eAAe,CAAC;AAAA,IAAA,CAAI;AAAA,EACjH;AAEA,SAAOgB,cAAcI;AACzB;AAEO,MAAMC,iBAAiB,YAAY;AACtC,QAAMC,oBAAoBd,UAAUT,wBAAwB;AAC5D,MAAIuB,kBAAmB,QAAOA;AAE9B,QAAMC,UAAU,MAAMlB,eAAAA;AAEtB,QAAMmB,SAAS,MAAM9C,QAAQ+C,mBAAmBF,QAAQrB,cAAc,EAAE;AAExE,QAAMwB,iBAAiB;AAAA,IACnB,GAAGH;AAAAA,IACHrB,cAAcsB,OAAOtB,aAAAA;AAAAA,EAAa,CACrC;AAED,QAAMyB,4BAA4BH,OAAOI,aAAa;AAEtD,SAAOJ,OAAOI,YAAAA;AAClB;AAwBO,MAAMF,mBAAmB,OAAOH,YAAqB;AACxD,QAAMM,aAAahB,IAAIiB,KAAKP,SAAS3C,UAAUmC,gBAAgB;AAAA,IAAEgB,WAAW;AAAA,EAAA,CAAM;AAElFC,YAAUlC,qBAAqB+B,YAAY;AAAA,IACvCI,QAAQrD,UAAUsD,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,IAAI,KAAK,KAAK;AAAA;AAAA,EAAA,CACzB;AACL;AAEO,MAAMX,8BAA8B,OAAOC,gBAAwB;AACtEI,YAAUjC,0BAA0B6B,aAAa;AAAA,IAC7CK,QAAQrD,UAAUsD,aAAa;AAAA,IAC/BC,MAAM;AAAA,IACNC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,QAAQ,IAAI;AAAA;AAAA,EAAA,CACf;AACL;"}
@@ -1,5 +1,5 @@
1
1
  import axios from "axios";
2
- import { clientEnv } from "../env.js";
2
+ import { c as clientEnv } from "./env-gsqZ6zZD.js";
3
3
  const WISTRON_PRIMARY_COLOR = "#00506E";
4
4
  const WISTRON_SECONDARY_COLOR = "#64DC00";
5
5
  class Platform {
@@ -80,12 +80,12 @@ const toKebabCase = (str) => {
80
80
  return str.replaceAll(/([a-z])([A-Z])/g, "$1-$2").replaceAll(/[\s_]+/g, "-").replaceAll(/[^a-zA-Z0-9-]/g, "").toLowerCase().replaceAll(/-+/g, "-").replaceAll(/(^-|-$)/g, "");
81
81
  };
82
82
  export {
83
- Platform,
84
- WISTRON_PRIMARY_COLOR,
85
- WISTRON_SECONDARY_COLOR,
86
- getFieldStatus,
87
- httpClient,
88
- rootRouteHead,
89
- toKebabCase
83
+ Platform as P,
84
+ WISTRON_PRIMARY_COLOR as W,
85
+ WISTRON_SECONDARY_COLOR as a,
86
+ getFieldStatus as g,
87
+ httpClient as h,
88
+ rootRouteHead as r,
89
+ toKebabCase as t
90
90
  };
91
- //# sourceMappingURL=utils.js.map
91
+ //# sourceMappingURL=utils-MD9YwOtu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-MD9YwOtu.js","sources":["../src/lib/utils.ts"],"sourcesContent":["import axios from \"axios\";\r\nimport type { AnyFieldApi } from \"@tanstack/react-form\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const WISTRON_PRIMARY_COLOR = \"#00506E\";\r\nexport const WISTRON_SECONDARY_COLOR = \"#64DC00\";\r\n\r\nexport class Platform {\r\n static get isAndroid() { return /android/i.test(this.userAgent); }\r\n static get isIOS() { return /iPad|iPhone|iPod/.test(this.userAgent); }\r\n static get isWindows() { return /windows/i.test(this.userAgent); }\r\n static get isMacOS() { return /Macintosh|MacIntel|MacPPC|Mac68K/.test(this.userAgent); }\r\n\r\n private static get userAgent() { return typeof navigator === \"undefined\" ? \"\" : navigator.userAgent; }\r\n}\r\n\r\nexport const rootRouteHead = () => ({\r\n meta: [\r\n { charSet: \"utf-8\" },\r\n { name: \"viewport\", content: \"width=device-width, initial-scale=1\" },\r\n { title: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:type\", content: \"website\" },\r\n { name: \"og:title\", content: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:image\", content: \"/favicon-32x32.png\" }\r\n ],\r\n links: [\r\n { rel: \"apple-touch-icon\", sizes: \"180x180\", href: \"/apple-touch-icon.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"32x32\", href: \"/favicon-32x32.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"16x16\", href: \"/favicon-16x16.png\", },\r\n { rel: \"manifest\", href: \"/manifest.webmanifest\" },\r\n { rel: \"icon\", href: \"/favicon.ico\" },\r\n ],\r\n});\r\n\r\nexport const httpClient = axios.create({\r\n baseURL: clientEnv.VITE_API_URL // TODO: Not working in children projects\r\n});\r\n\r\n/* Internal Utils */\r\nexport type FormOmittedProps =\r\n \"name\" |\r\n \"value\" |\r\n \"onChange\" |\r\n \"onBlur\" |\r\n \"error\" |\r\n \"helperText\" |\r\n \"renderInput\" |\r\n \"type\" |\r\n \"aria-label\";\r\n\r\nexport const getFieldStatus = (field: AnyFieldApi) => {\r\n const { meta } = field.state;\r\n\r\n const isTouched = meta.isTouched;\r\n const hasError = !!meta.errors.length;\r\n const helperText = meta.errors[0]?.message;\r\n\r\n return { isTouched, hasError, helperText };\r\n};\r\n\r\nexport const toKebabCase = (str: string): string => {\r\n return str\r\n .replaceAll(/([a-z])([A-Z])/g, \"$1-$2\")\r\n .replaceAll(/[\\s_]+/g, \"-\")\r\n .replaceAll(/[^a-zA-Z0-9-]/g, \"\")\r\n .toLowerCase()\r\n .replaceAll(/-+/g, \"-\")\r\n .replaceAll(/(^-|-$)/g, \"\");\r\n};\r\n"],"names":["WISTRON_PRIMARY_COLOR","WISTRON_SECONDARY_COLOR","Platform","isAndroid","test","userAgent","isIOS","isWindows","isMacOS","navigator","rootRouteHead","meta","charSet","name","content","title","clientEnv","VITE_APP_TITLE","links","rel","sizes","href","type","httpClient","axios","create","baseURL","VITE_API_URL","getFieldStatus","field","state","isTouched","hasError","errors","length","helperText","message","toKebabCase","str","replaceAll","toLowerCase"],"mappings":";;AAIO,MAAMA,wBAAwB;AAC9B,MAAMC,0BAA0B;AAEhC,MAAMC,SAAS;AAAA,EAClB,WAAWC,YAAY;AAAE,WAAO,WAAWC,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EACjE,WAAWC,QAAQ;AAAE,WAAO,mBAAmBF,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EACrE,WAAWE,YAAY;AAAE,WAAO,WAAWH,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EACjE,WAAWG,UAAU;AAAE,WAAO,mCAAmCJ,KAAK,KAAKC,SAAS;AAAA,EAAG;AAAA,EAEvF,WAAmBA,YAAY;AAAE,WAAO,OAAOI,cAAc,cAAc,KAAKA,UAAUJ;AAAAA,EAAW;AACzG;AAEO,MAAMK,gBAAgBA,OAAO;AAAA,EAChCC,MAAM,CACF;AAAA,IAAEC,SAAS;AAAA,EAAA,GACX;AAAA,IAAEC,MAAM;AAAA,IAAYC,SAAS;AAAA,EAAA,GAC7B;AAAA,IAAEC,OAAOC,UAAUC;AAAAA,EAAAA,GACnB;AAAA,IAAEJ,MAAM;AAAA,IAAWC,SAAS;AAAA,EAAA,GAC5B;AAAA,IAAED,MAAM;AAAA,IAAYC,SAASE,UAAUC;AAAAA,EAAAA,GACvC;AAAA,IAAEJ,MAAM;AAAA,IAAYC,SAAS;AAAA,EAAA,CAAsB;AAAA,EAEvDI,OAAO,CACH;AAAA,IAAEC,KAAK;AAAA,IAAoBC,OAAO;AAAA,IAAWC,MAAM;AAAA,EAAA,GACnD;AAAA,IAAEF,KAAK;AAAA,IAAQG,MAAM;AAAA,IAAaF,OAAO;AAAA,IAASC,MAAM;AAAA,EAAA,GACxD;AAAA,IAAEF,KAAK;AAAA,IAAQG,MAAM;AAAA,IAAaF,OAAO;AAAA,IAASC,MAAM;AAAA,EAAA,GACxD;AAAA,IAAEF,KAAK;AAAA,IAAYE,MAAM;AAAA,EAAA,GACzB;AAAA,IAAEF,KAAK;AAAA,IAAQE,MAAM;AAAA,EAAA,CAAgB;AAE7C;AAEO,MAAME,aAAaC,MAAMC,OAAO;AAAA,EACnCC,SAASV,UAAUW;AAAAA;AACvB,CAAC;AAcM,MAAMC,iBAAiBA,CAACC,UAAuB;AAClD,QAAM;AAAA,IAAElB;AAAAA,EAAAA,IAASkB,MAAMC;AAEvB,QAAMC,YAAYpB,KAAKoB;AACvB,QAAMC,WAAW,CAAC,CAACrB,KAAKsB,OAAOC;AAC/B,QAAMC,aAAaxB,KAAKsB,OAAO,CAAC,GAAGG;AAEnC,SAAO;AAAA,IAAEL;AAAAA,IAAWC;AAAAA,IAAUG;AAAAA,EAAAA;AAClC;AAEO,MAAME,cAAcA,CAACC,QAAwB;AAChD,SAAOA,IACFC,WAAW,mBAAmB,OAAO,EACrCA,WAAW,WAAW,GAAG,EACzBA,WAAW,kBAAkB,EAAE,EAC/BC,cACAD,WAAW,OAAO,GAAG,EACrBA,WAAW,YAAY,EAAE;AAClC;"}
package/dist/utils.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { uuidv7 } from "uuidv7";
2
- import { httpClient } from "./lib/utils.js";
2
+ import { h } from "./utils-MD9YwOtu.js";
3
3
  import { createEnv } from "@t3-oss/env-core";
4
4
  export {
5
5
  createEnv,
6
- httpClient,
6
+ h as httpClient,
7
7
  uuidv7
8
8
  };
9
9
  //# sourceMappingURL=utils.js.map
package/dist/vite.js CHANGED
@@ -1,4 +1,64 @@
1
- import { viteWczLayout } from "./lib/vite-plugin.js";
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ function viteWczLayout() {
4
+ const virtualModuleId = "virtual:wcz-layout";
5
+ const resolvedVirtualModuleId = "\0" + virtualModuleId;
6
+ let localesPath;
7
+ return {
8
+ name: "vite:wcz-layout",
9
+ enforce: "pre",
10
+ configResolved(resolvedConfig) {
11
+ localesPath = path.resolve(resolvedConfig.root, "src/locales");
12
+ },
13
+ config() {
14
+ return {
15
+ optimizeDeps: {
16
+ exclude: [virtualModuleId]
17
+ },
18
+ ssr: {
19
+ noExternal: ["@mui/*"]
20
+ }
21
+ };
22
+ },
23
+ resolveId(id) {
24
+ if (id === virtualModuleId) return resolvedVirtualModuleId;
25
+ return null;
26
+ },
27
+ load(id) {
28
+ if (id !== resolvedVirtualModuleId) return null;
29
+ if (!fs.existsSync(localesPath)) {
30
+ fs.mkdirSync(localesPath, {
31
+ recursive: true
32
+ });
33
+ }
34
+ const enPath = path.join(localesPath, "en.json");
35
+ if (!fs.existsSync(enPath)) {
36
+ fs.writeFileSync(enPath, JSON.stringify({}));
37
+ }
38
+ const files = fs.readdirSync(localesPath);
39
+ const jsonFiles = files.filter((f) => f.endsWith(".json"));
40
+ const resources = {};
41
+ for (const file of jsonFiles) {
42
+ const lang = path.basename(file, ".json");
43
+ const filePath = path.join(localesPath, file);
44
+ try {
45
+ const content = fs.readFileSync(filePath, "utf-8");
46
+ const translations = JSON.parse(content);
47
+ resources[lang] = {
48
+ translation: translations
49
+ };
50
+ } catch (error) {
51
+ console.error(`[vite:layout] Error parsing ${file}:`, error);
52
+ resources[lang] = {
53
+ translation: {}
54
+ };
55
+ }
56
+ this.addWatchFile(filePath);
57
+ }
58
+ return `export const resources = ${JSON.stringify(resources)};`;
59
+ }
60
+ };
61
+ }
2
62
  export {
3
63
  viteWczLayout
4
64
  };
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"vite.js","sources":["../src/lib/vite-plugin.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { Resource } from \"i18next\";\nimport type { Plugin } from \"vite\";\n\nexport function viteWczLayout(): Plugin {\n const virtualModuleId = \"virtual:wcz-layout\";\n const resolvedVirtualModuleId = \"\\0\" + virtualModuleId;\n\n let localesPath: string;\n\n return {\n name: \"vite:wcz-layout\",\n enforce: \"pre\",\n configResolved(resolvedConfig) {\n localesPath = path.resolve(resolvedConfig.root, \"src/locales\");\n },\n config() {\n return {\n optimizeDeps: {\n exclude: [virtualModuleId],\n },\n ssr: {\n noExternal: [\"@mui/*\"],\n },\n };\n },\n resolveId(id) {\n if (id === virtualModuleId) return resolvedVirtualModuleId;\n return null;\n },\n load(id) {\n if (id !== resolvedVirtualModuleId) return null;\n\n if (!fs.existsSync(localesPath)) {\n fs.mkdirSync(localesPath, { recursive: true });\n }\n\n const enPath = path.join(localesPath, \"en.json\");\n if (!fs.existsSync(enPath)) {\n fs.writeFileSync(enPath, JSON.stringify({}));\n }\n\n const files = fs.readdirSync(localesPath);\n const jsonFiles = files.filter((f) => f.endsWith(\".json\"));\n\n const resources: Resource = {};\n\n for (const file of jsonFiles) {\n const lang = path.basename(file, \".json\");\n const filePath = path.join(localesPath, file);\n\n try {\n const content = fs.readFileSync(filePath, \"utf-8\");\n const translations = JSON.parse(content);\n resources[lang] = { translation: translations };\n } catch (error) {\n console.error(`[vite:layout] Error parsing ${file}:`, error);\n resources[lang] = { translation: {} };\n }\n\n this.addWatchFile(filePath);\n }\n\n return `export const resources = ${JSON.stringify(resources)};`;\n },\n };\n}\n"],"names":["viteWczLayout","virtualModuleId","resolvedVirtualModuleId","localesPath","name","enforce","configResolved","resolvedConfig","path","resolve","root","config","optimizeDeps","exclude","ssr","noExternal","resolveId","id","load","fs","existsSync","mkdirSync","recursive","enPath","join","writeFileSync","JSON","stringify","files","readdirSync","jsonFiles","filter","f","endsWith","resources","file","lang","basename","filePath","content","readFileSync","translations","parse","translation","error","console","addWatchFile"],"mappings":";;AAKO,SAASA,gBAAwB;AACpC,QAAMC,kBAAkB;AACxB,QAAMC,0BAA0B,OAAOD;AAEvC,MAAIE;AAEJ,SAAO;AAAA,IACHC,MAAM;AAAA,IACNC,SAAS;AAAA,IACTC,eAAeC,gBAAgB;AAC3BJ,oBAAcK,KAAKC,QAAQF,eAAeG,MAAM,aAAa;AAAA,IACjE;AAAA,IACAC,SAAS;AACL,aAAO;AAAA,QACHC,cAAc;AAAA,UACVC,SAAS,CAACZ,eAAe;AAAA,QAAA;AAAA,QAE7Ba,KAAK;AAAA,UACDC,YAAY,CAAC,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IAER;AAAA,IACAC,UAAUC,IAAI;AACV,UAAIA,OAAOhB,gBAAiB,QAAOC;AACnC,aAAO;AAAA,IACX;AAAA,IACAgB,KAAKD,IAAI;AACL,UAAIA,OAAOf,wBAAyB,QAAO;AAE3C,UAAI,CAACiB,GAAGC,WAAWjB,WAAW,GAAG;AAC7BgB,WAAGE,UAAUlB,aAAa;AAAA,UAAEmB,WAAW;AAAA,QAAA,CAAM;AAAA,MACjD;AAEA,YAAMC,SAASf,KAAKgB,KAAKrB,aAAa,SAAS;AAC/C,UAAI,CAACgB,GAAGC,WAAWG,MAAM,GAAG;AACxBJ,WAAGM,cAAcF,QAAQG,KAAKC,UAAU,CAAA,CAAE,CAAC;AAAA,MAC/C;AAEA,YAAMC,QAAQT,GAAGU,YAAY1B,WAAW;AACxC,YAAM2B,YAAYF,MAAMG,OAAQC,OAAMA,EAAEC,SAAS,OAAO,CAAC;AAEzD,YAAMC,YAAsB,CAAA;AAE5B,iBAAWC,QAAQL,WAAW;AAC1B,cAAMM,OAAO5B,KAAK6B,SAASF,MAAM,OAAO;AACxC,cAAMG,WAAW9B,KAAKgB,KAAKrB,aAAagC,IAAI;AAE5C,YAAI;AACA,gBAAMI,UAAUpB,GAAGqB,aAAaF,UAAU,OAAO;AACjD,gBAAMG,eAAef,KAAKgB,MAAMH,OAAO;AACvCL,oBAAUE,IAAI,IAAI;AAAA,YAAEO,aAAaF;AAAAA,UAAAA;AAAAA,QACrC,SAASG,OAAO;AACZC,kBAAQD,MAAM,+BAA+BT,IAAI,KAAKS,KAAK;AAC3DV,oBAAUE,IAAI,IAAI;AAAA,YAAEO,aAAa,CAAA;AAAA,UAAC;AAAA,QACtC;AAEA,aAAKG,aAAaR,QAAQ;AAAA,MAC9B;AAEA,aAAO,4BAA4BZ,KAAKC,UAAUO,SAAS,CAAC;AAAA,IAChE;AAAA,EAAA;AAER;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wcz-test",
3
- "version": "6.24.1",
3
+ "version": "6.24.2",
4
4
  "private": false,
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -1,6 +0,0 @@
1
- import { __require as requireCompilerRuntime } from "../node_modules/react/compiler-runtime.js";
2
- var compilerRuntimeExports = requireCompilerRuntime();
3
- export {
4
- compilerRuntimeExports as c
5
- };
6
- //# sourceMappingURL=compiler-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler-runtime.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,5 +0,0 @@
1
- var compilerRuntime = { exports: {} };
2
- export {
3
- compilerRuntime as __module
4
- };
5
- //# sourceMappingURL=compiler-runtime2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler-runtime2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,6 +0,0 @@
1
- import { __require as requireJsxRuntime } from "../node_modules/react/jsx-runtime.js";
2
- var jsxRuntimeExports = requireJsxRuntime();
3
- export {
4
- jsxRuntimeExports as j
5
- };
6
- //# sourceMappingURL=jsx-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-runtime.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,5 +0,0 @@
1
- var jsxRuntime = { exports: {} };
2
- export {
3
- jsxRuntime as __module
4
- };
5
- //# sourceMappingURL=jsx-runtime2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-runtime2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var reactCompilerRuntime_development = {};
2
- export {
3
- reactCompilerRuntime_development as __exports
4
- };
5
- //# sourceMappingURL=react-compiler-runtime.development.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-compiler-runtime.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var reactCompilerRuntime_production = {};
2
- export {
3
- reactCompilerRuntime_production as __exports
4
- };
5
- //# sourceMappingURL=react-compiler-runtime.production.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-compiler-runtime.production.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var reactJsxRuntime_development = {};
2
- export {
3
- reactJsxRuntime_development as __exports
4
- };
5
- //# sourceMappingURL=react-jsx-runtime.development.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-jsx-runtime.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var reactJsxRuntime_production = {};
2
- export {
3
- reactJsxRuntime_production as __exports
4
- };
5
- //# sourceMappingURL=react-jsx-runtime.production.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-jsx-runtime.production.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const AppTitle: FC;
@@ -1,23 +0,0 @@
1
- import { j as jsxRuntimeExports } from "../../_virtual/jsx-runtime.js";
2
- import { c as compilerRuntimeExports } from "../../_virtual/compiler-runtime.js";
3
- import { Stack, Typography } from "@mui/material";
4
- import { clientEnv } from "../../env.js";
5
- const AppTitle = () => {
6
- const $ = compilerRuntimeExports.c(1);
7
- let t0;
8
- if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
9
- t0 = /* @__PURE__ */ jsxRuntimeExports.jsxs(Stack, { direction: "row", alignItems: "center", spacing: 2, flexGrow: 1, children: [
10
- /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: "/favicon-32x32.png", alt: "app-logo", loading: "lazy" }),
11
- /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", children: clientEnv.VITE_APP_TITLE }),
12
- false
13
- ] });
14
- $[0] = t0;
15
- } else {
16
- t0 = $[0];
17
- }
18
- return t0;
19
- };
20
- export {
21
- AppTitle
22
- };
23
- //# sourceMappingURL=AppTitle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppTitle.js","sources":["../../../src/components/core/AppTitle.tsx"],"sourcesContent":["import { Chip, Stack, Typography } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport { clientEnv } from \"~/env\";\n\nexport const AppTitle: FC = () => {\n return (\n <Stack direction=\"row\" alignItems=\"center\" spacing={2} flexGrow={1}>\n <img src=\"/favicon-32x32.png\" alt=\"app-logo\" loading=\"lazy\" />\n <Typography variant=\"h6\">{clientEnv.VITE_APP_TITLE}</Typography>\n {import.meta.env.DEV && <Chip size=\"small\" label=\"TEST\" color=\"info\" />}\n </Stack>\n );\n};\n"],"names":["AppTitle","$","_c","t0","Symbol","for","jsxs","jsx","clientEnv","VITE_APP_TITLE","import"],"mappings":";;;;AAIO,MAAMA,WAAeA,MAAA;AAAA,QAAAC,IAAAC,uBAAAA,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAG,uBAAAC,IAAA,2BAAA,GAAA;AAEpBF,SAAAG,kCAAAA,KAAC,SAAgB,WAAA,OAAiB,YAAA,UAAkB,SAAA,GAAa,UAAA,GAC7D,UAAA;AAAA,MAAAC,+CAAS,KAAA,sBAAyB,KAAA,YAAmB,SAAA,QAAM;AAAA,MAC3DA,kCAAAA,IAAC,YAAA,EAAmB,SAAA,MAAMC,oBAASC,gBAAgB;AAAA,MAClDC;AAAAA,IAAAA,GACL;AAAQT,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,SAJRE;AAIQ;"}
@@ -1,3 +0,0 @@
1
- import { BoxProps } from '@mui/material';
2
- import { FC } from 'react';
3
- export declare const Fullscreen: FC<BoxProps>;