wcz-layout 6.7.2 → 9.4.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 (271) hide show
  1. package/dist/Approval-Co6D1BNq.mjs +194 -0
  2. package/dist/Approval-Co6D1BNq.mjs.map +1 -0
  3. package/dist/DialogsContext-DLqA8RJ_.mjs +7 -0
  4. package/dist/DialogsContext-DLqA8RJ_.mjs.map +1 -0
  5. package/dist/Email-BzQQkbe9.mjs +20 -0
  6. package/dist/Email-BzQQkbe9.mjs.map +1 -0
  7. package/dist/FileMeta-DDqUju1Y.mjs +19 -0
  8. package/dist/FileMeta-DDqUju1Y.mjs.map +1 -0
  9. package/dist/FileMeta-ILLTOjaM.d.mts +20 -0
  10. package/dist/NotificationContext-CgwUOeW0.mjs +7 -0
  11. package/dist/NotificationContext-CgwUOeW0.mjs.map +1 -0
  12. package/dist/QueryClientParam-CzaM3akD.d.mts +11 -0
  13. package/dist/RouterListItemButton-owZVvuC_.mjs +78 -0
  14. package/dist/RouterListItemButton-owZVvuC_.mjs.map +1 -0
  15. package/dist/User-1gKoYJvW.d.mts +12 -0
  16. package/dist/auth.d.mts +25 -0
  17. package/dist/auth.mjs +88 -0
  18. package/dist/auth.mjs.map +1 -0
  19. package/dist/authMiddleware--HdlhhZO.mjs +78 -0
  20. package/dist/authMiddleware--HdlhhZO.mjs.map +1 -0
  21. package/dist/components.d.mts +107 -0
  22. package/dist/components.mjs +1500 -0
  23. package/dist/components.mjs.map +1 -0
  24. package/dist/data/client.d.mts +3217 -0
  25. package/dist/data/client.mjs +187 -0
  26. package/dist/data/client.mjs.map +1 -0
  27. package/dist/data/server.d.mts +19 -0
  28. package/dist/data/server.mjs +16 -0
  29. package/dist/data/server.mjs.map +1 -0
  30. package/dist/entra-s4ZjHq5o.mjs +101 -0
  31. package/dist/entra-s4ZjHq5o.mjs.map +1 -0
  32. package/dist/env-CoveIivr.mjs +30 -0
  33. package/dist/env-CoveIivr.mjs.map +1 -0
  34. package/dist/file-C5-a_6W6.mjs +148 -0
  35. package/dist/file-C5-a_6W6.mjs.map +1 -0
  36. package/dist/file-DM1x40eJ.mjs +179 -0
  37. package/dist/file-DM1x40eJ.mjs.map +1 -0
  38. package/dist/hooks.d.mts +226 -0
  39. package/dist/hooks.mjs +1087 -0
  40. package/dist/hooks.mjs.map +1 -0
  41. package/dist/index.d.mts +48 -0
  42. package/dist/index.mjs +1944 -0
  43. package/dist/index.mjs.map +1 -0
  44. package/dist/middleware.d.mts +46 -0
  45. package/dist/middleware.mjs +27 -0
  46. package/dist/middleware.mjs.map +1 -0
  47. package/dist/models.d.mts +598 -0
  48. package/dist/models.mjs +74 -0
  49. package/dist/models.mjs.map +1 -0
  50. package/dist/msalServer-CkNOOjjH.mjs +44 -0
  51. package/dist/msalServer-CkNOOjjH.mjs.map +1 -0
  52. package/dist/peoplesoft-DIe8H1Nu.mjs +240 -0
  53. package/dist/peoplesoft-DIe8H1Nu.mjs.map +1 -0
  54. package/dist/peoplesoft-gKd-Jh5L.d.mts +1219 -0
  55. package/dist/useDialogs-BUzVrTSP.mjs +248 -0
  56. package/dist/useDialogs-BUzVrTSP.mjs.map +1 -0
  57. package/dist/user-Cen43mlr.d.mts +19 -0
  58. package/dist/utils-2XiozDlV.mjs +156 -0
  59. package/dist/utils-2XiozDlV.mjs.map +1 -0
  60. package/dist/utils-BuWEQOuy.d.mts +65 -0
  61. package/dist/utils.d.mts +5 -0
  62. package/dist/utils.mjs +5 -0
  63. package/dist/vite.d.mts +7 -0
  64. package/dist/vite.mjs +182 -0
  65. package/dist/vite.mjs.map +1 -0
  66. package/package.json +129 -62
  67. package/skills/client-db/SKILL.md +93 -0
  68. package/skills/data-grid/SKILL.md +142 -0
  69. package/skills/db-schema/SKILL.md +71 -0
  70. package/skills/dialogs/SKILL.md +79 -0
  71. package/skills/forms/SKILL.md +82 -0
  72. package/skills/general/SKILL.md +17 -0
  73. package/skills/notifications/SKILL.md +43 -0
  74. package/skills/routing/SKILL.md +128 -0
  75. package/skills/server-functions/SKILL.md +113 -0
  76. package/skills/services/SKILL.md +30 -0
  77. package/skills/services/docs/approval.md +257 -0
  78. package/skills/services/docs/email.md +32 -0
  79. package/skills/services/docs/file.md +81 -0
  80. package/skills/services/docs/peoplesoft.md +110 -0
  81. package/skills/start/SKILL.md +46 -0
  82. package/skills/start/steps/01-git-setup.md +11 -0
  83. package/skills/start/steps/02-project-name-setup.md +14 -0
  84. package/skills/start/steps/03-apm-setup.md +208 -0
  85. package/skills/start/steps/04-database-setup.md +39 -0
  86. package/skills/start/steps/05-entra-setup.md +59 -0
  87. package/skills/start/steps/06-vault-setup.md +70 -0
  88. package/skills/start/steps/07-generate-favicon.md +10 -0
  89. package/skills/start/steps/08-commit.md +15 -0
  90. package/dist/src/components/Layout.d.ts +0 -16
  91. package/dist/src/components/Layout.js +0 -122
  92. package/dist/src/components/Layout.js.map +0 -1
  93. package/dist/src/components/dataGrid/ChipInputCell.d.ts +0 -9
  94. package/dist/src/components/dataGrid/ChipInputCell.js +0 -17
  95. package/dist/src/components/dataGrid/ChipInputCell.js.map +0 -1
  96. package/dist/src/components/dataGrid/EditableColumnHeader.d.ts +0 -2
  97. package/dist/src/components/dataGrid/EditableColumnHeader.js +0 -7
  98. package/dist/src/components/dataGrid/EditableColumnHeader.js.map +0 -1
  99. package/dist/src/components/dataGrid/GridToolbar.d.ts +0 -8
  100. package/dist/src/components/dataGrid/GridToolbar.js +0 -40
  101. package/dist/src/components/dataGrid/GridToolbar.js.map +0 -1
  102. package/dist/src/components/dataGrid/TableContainer.d.ts +0 -3
  103. package/dist/src/components/dataGrid/TableContainer.js +0 -32
  104. package/dist/src/components/dataGrid/TableContainer.js.map +0 -1
  105. package/dist/src/components/form/FormAutocomplete.d.ts +0 -7
  106. package/dist/src/components/form/FormAutocomplete.js +0 -10
  107. package/dist/src/components/form/FormAutocomplete.js.map +0 -1
  108. package/dist/src/components/form/FormCheckbox.d.ts +0 -7
  109. package/dist/src/components/form/FormCheckbox.js +0 -11
  110. package/dist/src/components/form/FormCheckbox.js.map +0 -1
  111. package/dist/src/components/form/FormDatePicker.d.ts +0 -9
  112. package/dist/src/components/form/FormDatePicker.js +0 -19
  113. package/dist/src/components/form/FormDatePicker.js.map +0 -1
  114. package/dist/src/components/form/FormDateTimePicker.d.ts +0 -9
  115. package/dist/src/components/form/FormDateTimePicker.js +0 -19
  116. package/dist/src/components/form/FormDateTimePicker.js.map +0 -1
  117. package/dist/src/components/form/FormNumberField.d.ts +0 -12
  118. package/dist/src/components/form/FormNumberField.js +0 -12
  119. package/dist/src/components/form/FormNumberField.js.map +0 -1
  120. package/dist/src/components/form/FormRadioGroup.d.ts +0 -13
  121. package/dist/src/components/form/FormRadioGroup.js +0 -11
  122. package/dist/src/components/form/FormRadioGroup.js.map +0 -1
  123. package/dist/src/components/form/FormSlider.d.ts +0 -7
  124. package/dist/src/components/form/FormSlider.js +0 -11
  125. package/dist/src/components/form/FormSlider.js.map +0 -1
  126. package/dist/src/components/form/FormSubmitButton.d.ts +0 -5
  127. package/dist/src/components/form/FormSubmitButton.js +0 -13
  128. package/dist/src/components/form/FormSubmitButton.js.map +0 -1
  129. package/dist/src/components/form/FormSwitch.d.ts +0 -7
  130. package/dist/src/components/form/FormSwitch.js +0 -11
  131. package/dist/src/components/form/FormSwitch.js.map +0 -1
  132. package/dist/src/components/form/FormTextField.d.ts +0 -7
  133. package/dist/src/components/form/FormTextField.js +0 -11
  134. package/dist/src/components/form/FormTextField.js.map +0 -1
  135. package/dist/src/components/layout/AccountMenu.d.ts +0 -9
  136. package/dist/src/components/layout/AccountMenu.js +0 -44
  137. package/dist/src/components/layout/AccountMenu.js.map +0 -1
  138. package/dist/src/components/layout/DevelopmentBanner.d.ts +0 -7
  139. package/dist/src/components/layout/DevelopmentBanner.js +0 -29
  140. package/dist/src/components/layout/DevelopmentBanner.js.map +0 -1
  141. package/dist/src/components/layout/ErrorPage.d.ts +0 -2
  142. package/dist/src/components/layout/ErrorPage.js +0 -25
  143. package/dist/src/components/layout/ErrorPage.js.map +0 -1
  144. package/dist/src/components/layout/LayoutDialog.d.ts +0 -12
  145. package/dist/src/components/layout/LayoutDialog.js +0 -12
  146. package/dist/src/components/layout/LayoutDialog.js.map +0 -1
  147. package/dist/src/components/layout/LayoutSnackbar.d.ts +0 -8
  148. package/dist/src/components/layout/LayoutSnackbar.js +0 -25
  149. package/dist/src/components/layout/LayoutSnackbar.js.map +0 -1
  150. package/dist/src/components/layout/NavigationDrawer.d.ts +0 -11
  151. package/dist/src/components/layout/NavigationDrawer.js +0 -70
  152. package/dist/src/components/layout/NavigationDrawer.js.map +0 -1
  153. package/dist/src/components/layout/NotificationMenu.d.ts +0 -8
  154. package/dist/src/components/layout/NotificationMenu.js +0 -26
  155. package/dist/src/components/layout/NotificationMenu.js.map +0 -1
  156. package/dist/src/components/layout/TypographyWithIcon.d.ts +0 -7
  157. package/dist/src/components/layout/TypographyWithIcon.js +0 -22
  158. package/dist/src/components/layout/TypographyWithIcon.js.map +0 -1
  159. package/dist/src/components/layout/Unauthorized.d.ts +0 -2
  160. package/dist/src/components/layout/Unauthorized.js +0 -26
  161. package/dist/src/components/layout/Unauthorized.js.map +0 -1
  162. package/dist/src/contexts/LayoutContext.d.ts +0 -40
  163. package/dist/src/contexts/LayoutContext.js +0 -60
  164. package/dist/src/contexts/LayoutContext.js.map +0 -1
  165. package/dist/src/contexts/UserContext.d.ts +0 -24
  166. package/dist/src/contexts/UserContext.js +0 -55
  167. package/dist/src/contexts/UserContext.js.map +0 -1
  168. package/dist/src/hooks/FormHooks.d.ts +0 -46
  169. package/dist/src/hooks/FormHooks.js +0 -31
  170. package/dist/src/hooks/FormHooks.js.map +0 -1
  171. package/dist/src/hooks/UseSnackbar.d.ts +0 -10
  172. package/dist/src/hooks/UseSnackbar.js +0 -23
  173. package/dist/src/hooks/UseSnackbar.js.map +0 -1
  174. package/dist/src/hooks/UseUser.d.ts +0 -10
  175. package/dist/src/hooks/UseUser.js +0 -25
  176. package/dist/src/hooks/UseUser.js.map +0 -1
  177. package/dist/src/index.d.ts +0 -20
  178. package/dist/src/index.js +0 -15
  179. package/dist/src/index.js.map +0 -1
  180. package/dist/src/models/Error.d.ts +0 -6
  181. package/dist/src/models/Error.js +0 -2
  182. package/dist/src/models/Error.js.map +0 -1
  183. package/dist/src/models/KeycloakSettings.d.ts +0 -8
  184. package/dist/src/models/KeycloakSettings.js +0 -2
  185. package/dist/src/models/KeycloakSettings.js.map +0 -1
  186. package/dist/src/models/LayoutPaletteColorOptions.d.ts +0 -6
  187. package/dist/src/models/LayoutPaletteColorOptions.js +0 -2
  188. package/dist/src/models/LayoutPaletteColorOptions.js.map +0 -1
  189. package/dist/src/models/LayoutRoute.d.ts +0 -14
  190. package/dist/src/models/LayoutRoute.js +0 -2
  191. package/dist/src/models/LayoutRoute.js.map +0 -1
  192. package/dist/src/models/Notification.d.ts +0 -9
  193. package/dist/src/models/Notification.js +0 -2
  194. package/dist/src/models/Notification.js.map +0 -1
  195. package/dist/src/models/PeoplesoftDepartment.d.ts +0 -14
  196. package/dist/src/models/PeoplesoftDepartment.js +0 -2
  197. package/dist/src/models/PeoplesoftDepartment.js.map +0 -1
  198. package/dist/src/models/PeoplesoftEmployee.d.ts +0 -34
  199. package/dist/src/models/PeoplesoftEmployee.js +0 -2
  200. package/dist/src/models/PeoplesoftEmployee.js.map +0 -1
  201. package/dist/src/models/Snackbar.d.ts +0 -15
  202. package/dist/src/models/Snackbar.js +0 -2
  203. package/dist/src/models/Snackbar.js.map +0 -1
  204. package/dist/src/models/User.d.ts +0 -27
  205. package/dist/src/models/User.js +0 -11
  206. package/dist/src/models/User.js.map +0 -1
  207. package/dist/src/models/types/EmployeeCategoryGroup.d.ts +0 -1
  208. package/dist/src/models/types/EmployeeCategoryGroup.js +0 -2
  209. package/dist/src/models/types/EmployeeCategoryGroup.js.map +0 -1
  210. package/dist/src/models/types/EmployeeStatus.d.ts +0 -1
  211. package/dist/src/models/types/EmployeeStatus.js +0 -2
  212. package/dist/src/models/types/EmployeeStatus.js.map +0 -1
  213. package/dist/src/utils/Auth.d.ts +0 -12
  214. package/dist/src/utils/Auth.js +0 -49
  215. package/dist/src/utils/Auth.js.map +0 -1
  216. package/dist/src/utils/Fetches.d.ts +0 -5
  217. package/dist/src/utils/Fetches.js +0 -66
  218. package/dist/src/utils/Fetches.js.map +0 -1
  219. package/dist/src/utils/FormUtils.d.ts +0 -7
  220. package/dist/src/utils/FormUtils.js +0 -9
  221. package/dist/src/utils/FormUtils.js.map +0 -1
  222. package/dist/src/utils/Helpers.d.ts +0 -11
  223. package/dist/src/utils/Helpers.js +0 -26
  224. package/dist/src/utils/Helpers.js.map +0 -1
  225. package/dist/tsconfig.tsbuildinfo +0 -1
  226. package/src/components/Layout.tsx +0 -183
  227. package/src/components/dataGrid/ChipInputCell.tsx +0 -31
  228. package/src/components/dataGrid/EditableColumnHeader.tsx +0 -7
  229. package/src/components/dataGrid/GridToolbar.tsx +0 -63
  230. package/src/components/dataGrid/TableContainer.tsx +0 -39
  231. package/src/components/form/FormAutocomplete.tsx +0 -34
  232. package/src/components/form/FormCheckbox.tsx +0 -32
  233. package/src/components/form/FormDatePicker.tsx +0 -34
  234. package/src/components/form/FormDateTimePicker.tsx +0 -34
  235. package/src/components/form/FormNumberField.tsx +0 -33
  236. package/src/components/form/FormRadioGroup.tsx +0 -43
  237. package/src/components/form/FormSlider.tsx +0 -28
  238. package/src/components/form/FormSubmitButton.tsx +0 -29
  239. package/src/components/form/FormSwitch.tsx +0 -32
  240. package/src/components/form/FormTextField.tsx +0 -26
  241. package/src/components/layout/AccountMenu.tsx +0 -160
  242. package/src/components/layout/DevelopmentBanner.tsx +0 -54
  243. package/src/components/layout/ErrorPage.tsx +0 -34
  244. package/src/components/layout/LayoutDialog.tsx +0 -50
  245. package/src/components/layout/LayoutSnackbar.tsx +0 -44
  246. package/src/components/layout/NavigationDrawer.tsx +0 -131
  247. package/src/components/layout/NotificationMenu.tsx +0 -76
  248. package/src/components/layout/TypographyWithIcon.tsx +0 -35
  249. package/src/components/layout/Unauthorized.tsx +0 -37
  250. package/src/contexts/LayoutContext.tsx +0 -127
  251. package/src/contexts/UserContext.tsx +0 -88
  252. package/src/hooks/FormHooks.ts +0 -33
  253. package/src/hooks/UseSnackbar.tsx +0 -28
  254. package/src/hooks/UseUser.tsx +0 -29
  255. package/src/index.ts +0 -27
  256. package/src/models/Error.tsx +0 -6
  257. package/src/models/KeycloakSettings.ts +0 -8
  258. package/src/models/LayoutPaletteColorOptions.tsx +0 -7
  259. package/src/models/LayoutRoute.ts +0 -15
  260. package/src/models/Notification.ts +0 -10
  261. package/src/models/PeoplesoftDepartment.ts +0 -15
  262. package/src/models/PeoplesoftEmployee.ts +0 -35
  263. package/src/models/Snackbar.ts +0 -16
  264. package/src/models/User.ts +0 -13
  265. package/src/models/types/EmployeeCategoryGroup.ts +0 -1
  266. package/src/models/types/EmployeeStatus.ts +0 -1
  267. package/src/utils/Auth.ts +0 -58
  268. package/src/utils/Fetches.ts +0 -83
  269. package/src/utils/FormUtils.ts +0 -22
  270. package/src/utils/Helpers.ts +0 -27
  271. package/tsconfig.json +0 -29
@@ -0,0 +1,194 @@
1
+ import z, { z as z$1 } from "zod";
2
+ //#region src/models/approval/ApprovalCoRequestor.ts
3
+ const ApprovalCoRequestorGroupSchema = z$1.object({
4
+ role: z$1.string().trim().min(1),
5
+ email: z$1.email()
6
+ });
7
+ const ApprovalCoRequestorEmployeeSchema = z$1.object({
8
+ employeeId: z$1.string().trim().min(1),
9
+ name: z$1.string().trim().min(1),
10
+ email: z$1.email()
11
+ });
12
+ const ApprovalCoRequestorPrincipalSchema = z$1.union([ApprovalCoRequestorGroupSchema, ApprovalCoRequestorEmployeeSchema]);
13
+ const ApprovalCoRequestorPermissionsSchema = z$1.object({
14
+ withdraw: z$1.boolean().default(false).optional(),
15
+ cancel: z$1.boolean().default(false).optional()
16
+ });
17
+ const ApprovalCoRequestorSchema = z$1.object({
18
+ id: z$1.uuid(),
19
+ principal: ApprovalCoRequestorPrincipalSchema,
20
+ permissions: ApprovalCoRequestorPermissionsSchema
21
+ });
22
+ //#endregion
23
+ //#region src/models/approval/StepApprovalOrder.ts
24
+ const StepApprovalOrder = z.enum([
25
+ "Serial",
26
+ "Parallel",
27
+ "OneOfThem"
28
+ ]);
29
+ //#endregion
30
+ //#region src/models/approval/ApprovalFlow.ts
31
+ const ApprovalFlowSchema = z$1.object({
32
+ id: z$1.uuid(),
33
+ approvalStage: z$1.number(),
34
+ batchSequence: z$1.number().optional(),
35
+ approvalSequence: z$1.number(),
36
+ stepApprovalOrder: StepApprovalOrder,
37
+ steps: z$1.array(z$1.custom()),
38
+ isActive: z$1.boolean().default(false).optional()
39
+ });
40
+ //#endregion
41
+ //#region src/models/approval/ApprovalEmployee.ts
42
+ const ApprovalEmployeeSchema = z$1.object({
43
+ employeeId: z$1.string().trim().min(1).max(20),
44
+ name: z$1.string().trim().min(1).max(50),
45
+ email: z$1.email().min(1).max(100)
46
+ });
47
+ //#endregion
48
+ //#region src/models/approval/ApprovalStepResult.ts
49
+ const ApprovalStepResult = z.enum([
50
+ "NotAvailable",
51
+ "FutureApproval",
52
+ "WaitingForApproval",
53
+ "Approved",
54
+ "Rejected",
55
+ "Skipped",
56
+ "Withdrawn",
57
+ "Cancelled"
58
+ ]);
59
+ //#endregion
60
+ //#region src/models/approval/ApprovalFlowStep.ts
61
+ const ApprovalFlowStepSchema = z$1.object({
62
+ id: z$1.uuid(),
63
+ order: z$1.number(),
64
+ approverRole: z$1.string().trim().min(1).max(100).default("Approver").optional(),
65
+ approver: ApprovalEmployeeSchema,
66
+ actualApprover: ApprovalEmployeeSchema.optional(),
67
+ result: ApprovalStepResult.default("NotAvailable").optional(),
68
+ resultDate: z$1.date().optional(),
69
+ resultComment: z$1.string().trim().max(2e3).optional()
70
+ });
71
+ //#endregion
72
+ //#region src/models/approval/ApprovalRequestType.ts
73
+ const ApprovalRequestType = z.enum(["Single", "Batch"]);
74
+ //#endregion
75
+ //#region src/models/approval/ApprovalStatus.ts
76
+ const ApprovalStatus = z.enum([
77
+ "WaitingForApproval",
78
+ "Approved",
79
+ "PartiallyApproved",
80
+ "Rejected",
81
+ "Withdrawn",
82
+ "Cancelled"
83
+ ]);
84
+ //#endregion
85
+ //#region src/models/approval/HqApprovalRequest.ts
86
+ const HqApprovalColSchema = z$1.object({
87
+ title: z$1.string().optional(),
88
+ text: z$1.string().optional(),
89
+ textColor: z$1.string().optional(),
90
+ textSize: z$1.string().optional()
91
+ });
92
+ const HqApprovalRowSchema = z$1.object({ col: z$1.array(HqApprovalColSchema) });
93
+ const HqApprovalSectionSchema = z$1.object({
94
+ row: z$1.array(HqApprovalRowSchema),
95
+ title: z$1.string().optional(),
96
+ type: z$1.string().optional(),
97
+ text: z$1.string().optional()
98
+ });
99
+ const HqApprovalPageSchema = z$1.object({ section: z$1.array(HqApprovalSectionSchema) });
100
+ const HqApprovalSummarySchema = z$1.object({ page: z$1.array(HqApprovalPageSchema) });
101
+ const HqApprovalFormDataSchema = z$1.object({
102
+ systemId: z$1.string().optional(),
103
+ formType: z$1.string().optional(),
104
+ formId: z$1.string().optional(),
105
+ stepName: z$1.string().optional(),
106
+ userId: z$1.string().optional(),
107
+ title: z$1.string().optional(),
108
+ subject: z$1.string().optional(),
109
+ summary: HqApprovalSummarySchema.optional(),
110
+ messageId: z$1.string().optional(),
111
+ attachList: z$1.string().optional(),
112
+ chkResult: z$1.string().optional(),
113
+ apprSummary: z$1.string().optional(),
114
+ approvalComment: z$1.string().optional()
115
+ });
116
+ const HqApprovalHeaderSchema = z$1.object({
117
+ serviceId: z$1.string().optional(),
118
+ authorizationCode: z$1.string().optional(),
119
+ dataCreatedTime: z$1.string().optional(),
120
+ characterEnable: z$1.boolean().default(false).optional()
121
+ });
122
+ const HqApprovalRequestSchema = z$1.object({
123
+ header: HqApprovalHeaderSchema.optional(),
124
+ formData: HqApprovalFormDataSchema.optional()
125
+ });
126
+ //#endregion
127
+ //#region src/models/approval/Approval.ts
128
+ const ApprovalSchema = z.object({
129
+ id: z.uuid(),
130
+ number: z.string().trim().max(30).optional(),
131
+ applicationName: z.string().trim().min(1).max(50),
132
+ type: ApprovalRequestType.default("Single").optional(),
133
+ status: ApprovalStatus,
134
+ created: z.date(),
135
+ createdBy: z.custom(),
136
+ updated: z.date().optional(),
137
+ updatedBy: z.custom().optional(),
138
+ approvalFlows: z.array(z.custom()).min(1),
139
+ currentApprovers: z.array(z.custom()),
140
+ coRequestors: z.array(ApprovalCoRequestorSchema).optional()
141
+ });
142
+ const CreateApprovalSchema = ApprovalSchema.pick({
143
+ id: true,
144
+ number: true,
145
+ applicationName: true,
146
+ type: true,
147
+ status: true,
148
+ approvalFlows: true
149
+ }).extend({
150
+ emailBody: z.string().trim().min(1),
151
+ hqApprovalRequest: HqApprovalRequestSchema.optional(),
152
+ approvalFlows: z.array(ApprovalFlowSchema.pick({
153
+ approvalStage: true,
154
+ batchSequence: true,
155
+ stepApprovalOrder: true,
156
+ steps: true
157
+ }).extend({ steps: z.array(ApprovalFlowStepSchema.pick({
158
+ approverRole: true,
159
+ approver: true
160
+ })) })).min(1),
161
+ coRequestors: z.array(ApprovalCoRequestorSchema).optional()
162
+ });
163
+ const ApproveApprovalSchema = z.object({
164
+ id: z.uuid(),
165
+ result: ApprovalStepResult,
166
+ resultComment: z.string().trim().max(2e3).optional(),
167
+ emailBody: z.string().trim().min(1)
168
+ });
169
+ const ResubmitApprovalSchema = ApprovalSchema.pick({
170
+ id: true,
171
+ approvalFlows: true
172
+ }).extend({ approvalFlows: z.array(ApprovalFlowSchema.pick({
173
+ approvalStage: true,
174
+ batchSequence: true,
175
+ stepApprovalOrder: true,
176
+ steps: true
177
+ }).extend({ steps: z.array(ApprovalFlowStepSchema.pick({
178
+ approverRole: true,
179
+ approver: true
180
+ })) })).min(1) });
181
+ const CancelApprovalSchema = z.object({
182
+ id: z.uuid(),
183
+ comment: z.string().trim().min(1).max(2e3),
184
+ emailBody: z.string().trim().min(1)
185
+ });
186
+ const WithdrawApprovalSchema = z.object({
187
+ id: z.uuid(),
188
+ comment: z.string().trim().min(1).max(2e3),
189
+ emailBody: z.string().trim().min(1)
190
+ });
191
+ //#endregion
192
+ export { ResubmitApprovalSchema as a, ApprovalStatus as c, ApprovalEmployeeSchema as d, ApprovalFlowSchema as f, ApprovalCoRequestorSchema as h, CreateApprovalSchema as i, ApprovalFlowStepSchema as l, ApprovalCoRequestorPrincipalSchema as m, ApproveApprovalSchema as n, WithdrawApprovalSchema as o, ApprovalCoRequestorPermissionsSchema as p, CancelApprovalSchema as r, HqApprovalRequestSchema as s, ApprovalSchema as t, ApprovalStepResult as u };
193
+
194
+ //# sourceMappingURL=Approval-Co6D1BNq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Approval-Co6D1BNq.mjs","names":["z","ApprovalCoRequestorGroupSchema","object","role","string","trim","min","email","ApprovalCoRequestorGroup","infer","ApprovalCoRequestorEmployeeSchema","employeeId","name","ApprovalCoRequestorEmployee","ApprovalCoRequestorPrincipalSchema","union","ApprovalCoRequestorPrincipal","ApprovalCoRequestorPermissionsSchema","withdraw","boolean","default","optional","cancel","ApprovalCoRequestorPermissions","ApprovalCoRequestorSchema","id","uuid","principal","permissions","ApprovalCoRequestor","z","StepApprovalOrder","enum","z","StepApprovalOrder","ApprovalFlowStep","ApprovalFlowSchema","object","id","uuid","approvalStage","number","batchSequence","optional","approvalSequence","stepApprovalOrder","steps","array","custom","isActive","boolean","default","ApprovalFlow","infer","z","ApprovalEmployeeSchema","object","employeeId","string","trim","min","max","name","email","ApprovalEmployee","infer","z","ApprovalStepResult","enum","z","ApprovalEmployeeSchema","ApprovalStepResult","ApprovalFlowStepSchema","object","id","uuid","order","number","approverRole","string","trim","min","max","default","optional","approver","actualApprover","result","resultDate","date","resultComment","ApprovalFlowStep","infer","z","ApprovalRequestType","enum","z","ApprovalStatus","enum","z","HqApprovalColSchema","object","title","string","optional","text","textColor","textSize","HqApprovalCol","infer","HqApprovalRowSchema","col","array","HqApprovalRow","HqApprovalSectionSchema","row","type","HqApprovalSection","HqApprovalPageSchema","section","HqApprovalPage","HqApprovalSummarySchema","page","HqApprovalSummary","HqApprovalFormDataSchema","systemId","formType","formId","stepName","userId","subject","summary","messageId","attachList","chkResult","apprSummary","approvalComment","HqApprovalFormData","HqApprovalHeaderSchema","serviceId","authorizationCode","dataCreatedTime","characterEnable","boolean","default","HqApprovalHeader","HqApprovalRequestSchema","header","formData","HqApprovalRequest","z","ApprovalCoRequestorSchema","ApprovalEmployee","ApprovalFlow","ApprovalFlowSchema","ApprovalFlowStepSchema","ApprovalRequestType","ApprovalStatus","ApprovalStepResult","HqApprovalRequestSchema","ApprovalSchema","object","id","uuid","number","string","trim","max","optional","applicationName","min","type","default","status","created","date","createdBy","custom","updated","updatedBy","approvalFlows","array","currentApprovers","coRequestors","Approval","infer","CreateApprovalSchema","pick","extend","emailBody","hqApprovalRequest","approvalStage","batchSequence","stepApprovalOrder","steps","approverRole","approver","CreateApproval","ApproveApprovalSchema","result","resultComment","ApproveApproval","ResubmitApprovalSchema","ResubmitApproval","CancelApprovalSchema","comment","CancelApproval","WithdrawApprovalSchema","WithdrawApproval"],"sources":["../src/models/approval/ApprovalCoRequestor.ts","../src/models/approval/StepApprovalOrder.ts","../src/models/approval/ApprovalFlow.ts","../src/models/approval/ApprovalEmployee.ts","../src/models/approval/ApprovalStepResult.ts","../src/models/approval/ApprovalFlowStep.ts","../src/models/approval/ApprovalRequestType.ts","../src/models/approval/ApprovalStatus.ts","../src/models/approval/HqApprovalRequest.ts","../src/models/approval/Approval.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const ApprovalCoRequestorGroupSchema = z.object({\n role: z.string().trim().min(1),\n email: z.email(),\n});\n\nexport type ApprovalCoRequestorGroup = z.infer<typeof ApprovalCoRequestorGroupSchema>;\n\nexport const ApprovalCoRequestorEmployeeSchema = z.object({\n employeeId: z.string().trim().min(1),\n name: z.string().trim().min(1),\n email: z.email(),\n});\n\nexport type ApprovalCoRequestorEmployee = z.infer<typeof ApprovalCoRequestorEmployeeSchema>;\n\nexport const ApprovalCoRequestorPrincipalSchema = z.union([\n ApprovalCoRequestorGroupSchema,\n ApprovalCoRequestorEmployeeSchema,\n]);\n\nexport type ApprovalCoRequestorPrincipal = z.infer<typeof ApprovalCoRequestorPrincipalSchema>;\n\nexport const ApprovalCoRequestorPermissionsSchema = z.object({\n withdraw: z.boolean().default(false).optional(),\n cancel: z.boolean().default(false).optional(),\n});\n\nexport type ApprovalCoRequestorPermissions = z.infer<typeof ApprovalCoRequestorPermissionsSchema>;\n\nexport const ApprovalCoRequestorSchema = z.object({\n id: z.uuid(),\n principal: ApprovalCoRequestorPrincipalSchema,\n permissions: ApprovalCoRequestorPermissionsSchema,\n});\n\nexport type ApprovalCoRequestor = z.infer<typeof ApprovalCoRequestorSchema>;\n","import z from \"zod\";\n\nexport const StepApprovalOrder = z.enum([\"Serial\", \"Parallel\", \"OneOfThem\"]);\n","import { z } from \"zod\";\nimport { StepApprovalOrder } from \"./StepApprovalOrder\";\nimport type { ApprovalFlowStep } from \"./ApprovalFlowStep\";\n\nexport const ApprovalFlowSchema = z.object({\n id: z.uuid(),\n approvalStage: z.number(),\n batchSequence: z.number().optional(),\n approvalSequence: z.number(),\n stepApprovalOrder: StepApprovalOrder,\n steps: z.array(z.custom<ApprovalFlowStep>()),\n isActive: z.boolean().default(false).optional(),\n});\n\nexport type ApprovalFlow = z.infer<typeof ApprovalFlowSchema>;\n","import { z } from \"zod\";\n\nexport const ApprovalEmployeeSchema = z.object({\n employeeId: z.string().trim().min(1).max(20),\n name: z.string().trim().min(1).max(50),\n email: z.email().min(1).max(100),\n});\n\nexport type ApprovalEmployee = z.infer<typeof ApprovalEmployeeSchema>;\n","import z from \"zod\";\n\nexport const ApprovalStepResult = z.enum([\n \"NotAvailable\",\n \"FutureApproval\",\n \"WaitingForApproval\",\n \"Approved\",\n \"Rejected\",\n \"Skipped\",\n \"Withdrawn\",\n \"Cancelled\",\n]);\n","import { z } from \"zod\";\nimport { ApprovalEmployeeSchema } from \"./ApprovalEmployee\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\n\nexport const ApprovalFlowStepSchema = z.object({\n id: z.uuid(),\n order: z.number(),\n approverRole: z.string().trim().min(1).max(100).default(\"Approver\").optional(),\n approver: ApprovalEmployeeSchema,\n actualApprover: ApprovalEmployeeSchema.optional(),\n result: ApprovalStepResult.default(\"NotAvailable\").optional(),\n resultDate: z.date().optional(),\n resultComment: z.string().trim().max(2000).optional(),\n});\n\nexport type ApprovalFlowStep = z.infer<typeof ApprovalFlowStepSchema>;\n","import z from \"zod\";\n\nexport const ApprovalRequestType = z.enum([\"Single\", \"Batch\"]);\n","import z from \"zod\";\n\nexport const ApprovalStatus = z.enum([\n \"WaitingForApproval\",\n \"Approved\",\n \"PartiallyApproved\",\n \"Rejected\",\n \"Withdrawn\",\n \"Cancelled\",\n]);\n","import { z } from \"zod\";\n\nexport const HqApprovalColSchema = z.object({\n title: z.string().optional(),\n text: z.string().optional(),\n textColor: z.string().optional(),\n textSize: z.string().optional(),\n});\n\nexport type HqApprovalCol = z.infer<typeof HqApprovalColSchema>;\n\nexport const HqApprovalRowSchema = z.object({\n col: z.array(HqApprovalColSchema),\n});\n\nexport type HqApprovalRow = z.infer<typeof HqApprovalRowSchema>;\n\nexport const HqApprovalSectionSchema = z.object({\n row: z.array(HqApprovalRowSchema),\n title: z.string().optional(),\n type: z.string().optional(),\n text: z.string().optional(),\n});\n\nexport type HqApprovalSection = z.infer<typeof HqApprovalSectionSchema>;\n\nexport const HqApprovalPageSchema = z.object({\n section: z.array(HqApprovalSectionSchema),\n});\n\nexport type HqApprovalPage = z.infer<typeof HqApprovalPageSchema>;\n\nexport const HqApprovalSummarySchema = z.object({\n page: z.array(HqApprovalPageSchema),\n});\n\nexport type HqApprovalSummary = z.infer<typeof HqApprovalSummarySchema>;\n\nexport const HqApprovalFormDataSchema = z.object({\n systemId: z.string().optional(),\n formType: z.string().optional(),\n formId: z.string().optional(),\n stepName: z.string().optional(),\n userId: z.string().optional(),\n title: z.string().optional(),\n subject: z.string().optional(),\n summary: HqApprovalSummarySchema.optional(),\n messageId: z.string().optional(),\n attachList: z.string().optional(),\n chkResult: z.string().optional(),\n apprSummary: z.string().optional(),\n approvalComment: z.string().optional(),\n});\n\nexport type HqApprovalFormData = z.infer<typeof HqApprovalFormDataSchema>;\n\nexport const HqApprovalHeaderSchema = z.object({\n serviceId: z.string().optional(),\n authorizationCode: z.string().optional(),\n dataCreatedTime: z.string().optional(),\n characterEnable: z.boolean().default(false).optional(),\n});\n\nexport type HqApprovalHeader = z.infer<typeof HqApprovalHeaderSchema>;\n\nexport const HqApprovalRequestSchema = z.object({\n header: HqApprovalHeaderSchema.optional(),\n formData: HqApprovalFormDataSchema.optional(),\n});\n\nexport type HqApprovalRequest = z.infer<typeof HqApprovalRequestSchema>;\n","import z from \"zod\";\nimport { ApprovalCoRequestorSchema } from \"./ApprovalCoRequestor\";\nimport { type ApprovalEmployee } from \"./ApprovalEmployee\";\nimport type { ApprovalFlow } from \"./ApprovalFlow\";\nimport { ApprovalFlowSchema } from \"./ApprovalFlow\";\nimport { ApprovalFlowStepSchema } from \"./ApprovalFlowStep\";\nimport { ApprovalRequestType } from \"./ApprovalRequestType\";\nimport { ApprovalStatus } from \"./ApprovalStatus\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\nimport { HqApprovalRequestSchema } from \"./HqApprovalRequest\";\n\nexport const ApprovalSchema = z.object({\n id: z.uuid(),\n number: z.string().trim().max(30).optional(),\n applicationName: z.string().trim().min(1).max(50),\n type: ApprovalRequestType.default(\"Single\").optional(),\n status: ApprovalStatus,\n created: z.date(),\n createdBy: z.custom<ApprovalEmployee>(),\n updated: z.date().optional(),\n updatedBy: z.custom<ApprovalEmployee>().optional(),\n approvalFlows: z.array(z.custom<ApprovalFlow>()).min(1),\n currentApprovers: z.array(z.custom<ApprovalEmployee>()),\n coRequestors: z.array(ApprovalCoRequestorSchema).optional(),\n});\n\nexport type Approval = z.infer<typeof ApprovalSchema>;\n\n// Create Approval\nexport const CreateApprovalSchema = ApprovalSchema.pick({\n id: true,\n number: true,\n applicationName: true,\n type: true,\n status: true,\n approvalFlows: true,\n}).extend({\n emailBody: z.string().trim().min(1),\n hqApprovalRequest: HqApprovalRequestSchema.optional(),\n approvalFlows: z\n .array(\n ApprovalFlowSchema.pick({\n approvalStage: true,\n batchSequence: true,\n stepApprovalOrder: true,\n steps: true,\n }).extend({\n steps: z.array(\n ApprovalFlowStepSchema.pick({\n approverRole: true,\n approver: true,\n }),\n ),\n }),\n )\n .min(1),\n coRequestors: z.array(ApprovalCoRequestorSchema).optional(),\n});\n\nexport type CreateApproval = z.infer<typeof CreateApprovalSchema>;\n\n// Single Approval\nexport const ApproveApprovalSchema = z.object({\n id: z.uuid(),\n result: ApprovalStepResult,\n resultComment: z.string().trim().max(2000).optional(),\n emailBody: z.string().trim().min(1),\n});\n\nexport type ApproveApproval = z.infer<typeof ApproveApprovalSchema>;\n\n// Resubmit Approval\nexport const ResubmitApprovalSchema = ApprovalSchema.pick({\n id: true,\n approvalFlows: true,\n}).extend({\n approvalFlows: z\n .array(\n ApprovalFlowSchema.pick({\n approvalStage: true,\n batchSequence: true,\n stepApprovalOrder: true,\n steps: true,\n }).extend({\n steps: z.array(\n ApprovalFlowStepSchema.pick({\n approverRole: true,\n approver: true,\n }),\n ),\n }),\n )\n .min(1),\n});\n\nexport type ResubmitApproval = z.infer<typeof ResubmitApprovalSchema>;\n\n// Cancel Approval\nexport const CancelApprovalSchema = z.object({\n id: z.uuid(),\n comment: z.string().trim().min(1).max(2000),\n emailBody: z.string().trim().min(1),\n});\n\nexport type CancelApproval = z.infer<typeof CancelApprovalSchema>;\n\n// Withdraw Approval\nexport const WithdrawApprovalSchema = z.object({\n id: z.uuid(),\n comment: z.string().trim().min(1).max(2000),\n emailBody: z.string().trim().min(1),\n});\n\nexport type WithdrawApproval = z.infer<typeof WithdrawApprovalSchema>;\n"],"mappings":";;AAEA,MAAaC,iCAAiCD,IAAEE,OAAO;CACrDC,MAAMH,IAAEI,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC;CAC7BC,OAAOP,IAAEO,MAAM;AACjB,CAAC;AAID,MAAaG,oCAAoCV,IAAEE,OAAO;CACxDS,YAAYX,IAAEI,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC;CACnCM,MAAMZ,IAAEI,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC;CAC7BC,OAAOP,IAAEO,MAAM;AACjB,CAAC;AAID,MAAaO,qCAAqCd,IAAEe,MAAM,CACxDd,gCACAS,iCAAiC,CAClC;AAID,MAAaO,uCAAuCjB,IAAEE,OAAO;CAC3DgB,UAAUlB,IAAEmB,QAAQ,CAAC,CAACC,QAAQ,KAAK,CAAC,CAACC,SAAS;CAC9CC,QAAQtB,IAAEmB,QAAQ,CAAC,CAACC,QAAQ,KAAK,CAAC,CAACC,SAAS;AAC9C,CAAC;AAID,MAAaG,4BAA4BxB,IAAEE,OAAO;CAChDuB,IAAIzB,IAAE0B,KAAK;CACXC,WAAWb;CACXc,aAAaX;AACf,CAAC;;;ACjCD,MAAac,oBAAoBD,EAAEE,KAAK;CAAC;CAAU;CAAY;AAAW,CAAC;;;ACE3E,MAAaI,qBAAqBH,IAAEI,OAAO;CACzCC,IAAIL,IAAEM,KAAK;CACXC,eAAeP,IAAEQ,OAAO;CACxBC,eAAeT,IAAEQ,OAAO,CAAC,CAACE,SAAS;CACnCC,kBAAkBX,IAAEQ,OAAO;CAC3BI,mBAAmBX;CACnBY,OAAOb,IAAEc,MAAMd,IAAEe,OAAyB,CAAC;CAC3CC,UAAUhB,IAAEiB,QAAQ,CAAC,CAACC,QAAQ,KAAK,CAAC,CAACR,SAAS;AAChD,CAAC;;;ACVD,MAAaY,yBAAyBD,IAAEE,OAAO;CAC7CC,YAAYH,IAAEI,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,EAAE;CAC3CC,MAAMR,IAAEI,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,EAAE;CACrCE,OAAOT,IAAES,MAAM,CAAC,CAACH,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;AACjC,CAAC;;;ACJD,MAAaM,qBAAqBD,EAAEE,KAAK;CACvC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAAW,CACZ;;;ACPD,MAAaI,yBAAyBH,IAAEI,OAAO;CAC7CC,IAAIL,IAAEM,KAAK;CACXC,OAAOP,IAAEQ,OAAO;CAChBC,cAAcT,IAAEU,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG,CAAC,CAACC,QAAQ,UAAU,CAAC,CAACC,SAAS;CAC7EC,UAAUf;CACVgB,gBAAgBhB,uBAAuBc,SAAS;CAChDG,QAAQhB,mBAAmBY,QAAQ,cAAc,CAAC,CAACC,SAAS;CAC5DI,YAAYnB,IAAEoB,KAAK,CAAC,CAACL,SAAS;CAC9BM,eAAerB,IAAEU,OAAO,CAAC,CAACC,KAAK,CAAC,CAACE,IAAI,GAAI,CAAC,CAACE,SAAS;AACtD,CAAC;;;ACXD,MAAaU,sBAAsBD,EAAEE,KAAK,CAAC,UAAU,OAAO,CAAC;;;ACA7D,MAAaE,iBAAiBD,EAAEE,KAAK;CACnC;CACA;CACA;CACA;CACA;CACA;AAAW,CACZ;;;ACPD,MAAaE,sBAAsBD,IAAEE,OAAO;CAC1CC,OAAOH,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC3BC,MAAMN,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC1BE,WAAWP,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC/BG,UAAUR,IAAEI,OAAO,CAAC,CAACC,SAAS;AAChC,CAAC;AAID,MAAaM,sBAAsBX,IAAEE,OAAO,EAC1CU,KAAKZ,IAAEa,MAAMZ,mBAAmB,EAClC,CAAC;AAID,MAAac,0BAA0Bf,IAAEE,OAAO;CAC9Cc,KAAKhB,IAAEa,MAAMF,mBAAmB;CAChCR,OAAOH,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC3BY,MAAMjB,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC1BC,MAAMN,IAAEI,OAAO,CAAC,CAACC,SAAS;AAC5B,CAAC;AAID,MAAac,uBAAuBnB,IAAEE,OAAO,EAC3CkB,SAASpB,IAAEa,MAAME,uBAAuB,EAC1C,CAAC;AAID,MAAaO,0BAA0BtB,IAAEE,OAAO,EAC9CqB,MAAMvB,IAAEa,MAAMM,oBAAoB,EACpC,CAAC;AAID,MAAaM,2BAA2BzB,IAAEE,OAAO;CAC/CwB,UAAU1B,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC9BsB,UAAU3B,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC9BuB,QAAQ5B,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC5BwB,UAAU7B,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC9ByB,QAAQ9B,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC5BF,OAAOH,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC3B0B,SAAS/B,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC7B2B,SAASV,wBAAwBjB,SAAS;CAC1C4B,WAAWjC,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC/B6B,YAAYlC,IAAEI,OAAO,CAAC,CAACC,SAAS;CAChC8B,WAAWnC,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC/B+B,aAAapC,IAAEI,OAAO,CAAC,CAACC,SAAS;CACjCgC,iBAAiBrC,IAAEI,OAAO,CAAC,CAACC,SAAS;AACvC,CAAC;AAID,MAAakC,yBAAyBvC,IAAEE,OAAO;CAC7CsC,WAAWxC,IAAEI,OAAO,CAAC,CAACC,SAAS;CAC/BoC,mBAAmBzC,IAAEI,OAAO,CAAC,CAACC,SAAS;CACvCqC,iBAAiB1C,IAAEI,OAAO,CAAC,CAACC,SAAS;CACrCsC,iBAAiB3C,IAAE4C,QAAQ,CAAC,CAACC,QAAQ,KAAK,CAAC,CAACxC,SAAS;AACvD,CAAC;AAID,MAAa0C,0BAA0B/C,IAAEE,OAAO;CAC9C8C,QAAQT,uBAAuBlC,SAAS;CACxC4C,UAAUxB,yBAAyBpB,SAAS;AAC9C,CAAC;;;ACzDD,MAAawD,iBAAiBV,EAAEW,OAAO;CACrCC,IAAIZ,EAAEa,KAAK;CACXC,QAAQd,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,EAAE,CAAC,CAACC,SAAS;CAC3CC,iBAAiBnB,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC,CAAC,CAACH,IAAI,EAAE;CAChDI,MAAMf,oBAAoBgB,QAAQ,QAAQ,CAAC,CAACJ,SAAS;CACrDK,QAAQhB;CACRiB,SAASxB,EAAEyB,KAAK;CAChBC,WAAW1B,EAAE2B,OAAyB;CACtCC,SAAS5B,EAAEyB,KAAK,CAAC,CAACP,SAAS;CAC3BW,WAAW7B,EAAE2B,OAAyB,CAAC,CAACT,SAAS;CACjDY,eAAe9B,EAAE+B,MAAM/B,EAAE2B,OAAqB,CAAC,CAAC,CAACP,IAAI,CAAC;CACtDY,kBAAkBhC,EAAE+B,MAAM/B,EAAE2B,OAAyB,CAAC;CACtDM,cAAcjC,EAAE+B,MAAM9B,yBAAyB,CAAC,CAACiB,SAAS;AAC5D,CAAC;AAKD,MAAakB,uBAAuB1B,eAAe2B,KAAK;CACtDzB,IAAI;CACJE,QAAQ;CACRK,iBAAiB;CACjBE,MAAM;CACNE,QAAQ;CACRO,eAAe;AACjB,CAAC,CAAC,CAACQ,OAAO;CACRC,WAAWvC,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC;CAClCoB,mBAAmB/B,wBAAwBS,SAAS;CACpDY,eAAe9B,EACZ+B,MACC3B,mBAAmBiC,KAAK;EACtBI,eAAe;EACfC,eAAe;EACfC,mBAAmB;EACnBC,OAAO;CACT,CAAC,CAAC,CAACN,OAAO,EACRM,OAAO5C,EAAE+B,MACP1B,uBAAuBgC,KAAK;EAC1BQ,cAAc;EACdC,UAAU;CACZ,CAAC,CACH,EACF,CAAC,CACH,CAAC,CACA1B,IAAI,CAAC;CACRa,cAAcjC,EAAE+B,MAAM9B,yBAAyB,CAAC,CAACiB,SAAS;AAC5D,CAAC;AAKD,MAAa8B,wBAAwBhD,EAAEW,OAAO;CAC5CC,IAAIZ,EAAEa,KAAK;CACXoC,QAAQzC;CACR0C,eAAelD,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,GAAI,CAAC,CAACC,SAAS;CACpDqB,WAAWvC,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC;AACpC,CAAC;AAKD,MAAagC,yBAAyB1C,eAAe2B,KAAK;CACxDzB,IAAI;CACJkB,eAAe;AACjB,CAAC,CAAC,CAACQ,OAAO,EACRR,eAAe9B,EACZ+B,MACC3B,mBAAmBiC,KAAK;CACtBI,eAAe;CACfC,eAAe;CACfC,mBAAmB;CACnBC,OAAO;AACT,CAAC,CAAC,CAACN,OAAO,EACRM,OAAO5C,EAAE+B,MACP1B,uBAAuBgC,KAAK;CAC1BQ,cAAc;CACdC,UAAU;AACZ,CAAC,CACH,EACF,CAAC,CACH,CAAC,CACA1B,IAAI,CAAC,EACV,CAAC;AAKD,MAAakC,uBAAuBtD,EAAEW,OAAO;CAC3CC,IAAIZ,EAAEa,KAAK;CACX0C,SAASvD,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC,CAAC,CAACH,IAAI,GAAI;CAC1CsB,WAAWvC,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC;AACpC,CAAC;AAKD,MAAaqC,yBAAyBzD,EAAEW,OAAO;CAC7CC,IAAIZ,EAAEa,KAAK;CACX0C,SAASvD,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC,CAAC,CAACH,IAAI,GAAI;CAC1CsB,WAAWvC,EAAEe,OAAO,CAAC,CAACC,KAAK,CAAC,CAACI,IAAI,CAAC;AACpC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { createContext } from "react";
2
+ //#region src/contexts/DialogsContext.ts
3
+ const DialogsContext = createContext({});
4
+ //#endregion
5
+ export { DialogsContext as t };
6
+
7
+ //# sourceMappingURL=DialogsContext-DLqA8RJ_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogsContext-DLqA8RJ_.mjs","names":["createContext","CloseDialog","OpenDialog","DialogsContextValue","open","close","DialogsContext"],"sources":["../src/contexts/DialogsContext.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport type { CloseDialog, OpenDialog } from \"../hooks/useDialogs\";\n\nexport interface DialogsContextValue {\n open: OpenDialog;\n close: CloseDialog;\n}\n\nexport const DialogsContext = createContext<DialogsContextValue>({} as DialogsContextValue);\n"],"mappings":";;AAQA,MAAaM,iBAAiBN,cAAmC,CAAC,CAAwB"}
@@ -0,0 +1,20 @@
1
+ import z from "zod";
2
+ //#region src/models/email/EmailAttachment.ts
3
+ const EmailAttachmentSchema = z.object({
4
+ appName: z.string().trim().min(1).max(100),
5
+ subId: z.uuid()
6
+ });
7
+ //#endregion
8
+ //#region src/models/email/Email.ts
9
+ const EmailSchema = z.object({
10
+ subject: z.string().trim().min(1).max(60),
11
+ body: z.string().trim().min(1),
12
+ to: z.array(z.email()).min(1),
13
+ bcc: z.array(z.email()).optional(),
14
+ cc: z.array(z.email()).optional(),
15
+ attachments: z.array(EmailAttachmentSchema).optional()
16
+ });
17
+ //#endregion
18
+ export { EmailAttachmentSchema as n, EmailSchema as t };
19
+
20
+ //# sourceMappingURL=Email-BzQQkbe9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email-BzQQkbe9.mjs","names":["z","EmailAttachmentSchema","object","appName","string","trim","min","max","subId","uuid","EmailAttachment","infer","z","EmailAttachmentSchema","EmailSchema","object","subject","string","trim","min","max","body","to","array","email","bcc","optional","cc","attachments","Email","infer"],"sources":["../src/models/email/EmailAttachment.ts","../src/models/email/Email.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const EmailAttachmentSchema = z.object({\n appName: z.string().trim().min(1).max(100),\n subId: z.uuid(),\n});\n\nexport type EmailAttachment = z.infer<typeof EmailAttachmentSchema>;\n","import z from \"zod\";\nimport { EmailAttachmentSchema } from \"./EmailAttachment\";\n\nexport const EmailSchema = z.object({\n subject: z.string().trim().min(1).max(60),\n body: z.string().trim().min(1),\n to: z.array(z.email()).min(1),\n bcc: z.array(z.email()).optional(),\n cc: z.array(z.email()).optional(),\n attachments: z.array(EmailAttachmentSchema).optional(),\n});\n\nexport type Email = z.infer<typeof EmailSchema>;\n"],"mappings":";;AAEA,MAAaC,wBAAwBD,EAAEE,OAAO;CAC5CC,SAASH,EAAEI,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CACzCC,OAAOR,EAAES,KAAK;AAChB,CAAC;;;ACFD,MAAaK,cAAcF,EAAEG,OAAO;CAClCC,SAASJ,EAAEK,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,EAAE;CACxCC,MAAMT,EAAEK,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC;CAC7BG,IAAIV,EAAEW,MAAMX,EAAEY,MAAM,CAAC,CAAC,CAACL,IAAI,CAAC;CAC5BM,KAAKb,EAAEW,MAAMX,EAAEY,MAAM,CAAC,CAAC,CAACE,SAAS;CACjCC,IAAIf,EAAEW,MAAMX,EAAEY,MAAM,CAAC,CAAC,CAACE,SAAS;CAChCE,aAAahB,EAAEW,MAAMV,qBAAqB,CAAC,CAACa,SAAS;AACvD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import * as z$2 from "zod";
2
+ //#region src/models/file/FileMeta.ts
3
+ const FileMetaSchema = z$2.object({
4
+ id: z$2.uuid(),
5
+ subId: z$2.uuid(),
6
+ appName: z$2.string().trim().min(1).max(255),
7
+ fileName: z$2.string().trim().min(1).max(255),
8
+ fileExtension: z$2.string().trim().min(1).max(255),
9
+ fileSize: z$2.number().min(0),
10
+ mediaSubType: z$2.string().trim().min(1).max(255),
11
+ mediaType: z$2.string().trim().min(1).max(255),
12
+ mimeType: z$2.string().trim().min(1).max(255),
13
+ createdBy: z$2.string().trim().min(1).max(255),
14
+ createdDate: z$2.date()
15
+ });
16
+ //#endregion
17
+ export { FileMetaSchema as t };
18
+
19
+ //# sourceMappingURL=FileMeta-DDqUju1Y.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileMeta-DDqUju1Y.mjs","names":["z","FileMetaSchema","object","id","uuid","subId","appName","string","trim","min","max","fileName","fileExtension","fileSize","number","mediaSubType","mediaType","mimeType","createdBy","createdDate","date","FileMeta","infer"],"sources":["../src/models/file/FileMeta.ts"],"sourcesContent":["import * as z from \"zod\";\n\nexport const FileMetaSchema = z.object({\n id: z.uuid(),\n subId: z.uuid(),\n appName: z.string().trim().min(1).max(255),\n fileName: z.string().trim().min(1).max(255),\n fileExtension: z.string().trim().min(1).max(255),\n fileSize: z.number().min(0),\n mediaSubType: z.string().trim().min(1).max(255),\n mediaType: z.string().trim().min(1).max(255),\n mimeType: z.string().trim().min(1).max(255),\n createdBy: z.string().trim().min(1).max(255),\n createdDate: z.date(),\n});\n\nexport type FileMeta = z.infer<typeof FileMetaSchema>;\n"],"mappings":";;AAEA,MAAaC,iBAAiBD,IAAEE,OAAO;CACrCC,IAAIH,IAAEI,KAAK;CACXC,OAAOL,IAAEI,KAAK;CACdE,SAASN,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CACzCC,UAAUX,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CAC1CE,eAAeZ,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CAC/CG,UAAUb,IAAEc,OAAO,CAAC,CAACL,IAAI,CAAC;CAC1BM,cAAcf,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CAC9CM,WAAWhB,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CAC3CO,UAAUjB,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CAC1CQ,WAAWlB,IAAEO,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,GAAG;CAC3CS,aAAanB,IAAEoB,KAAK;AACtB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as z$2 from "zod";
2
+
3
+ //#region src/models/file/FileMeta.d.ts
4
+ declare const FileMetaSchema: z$2.ZodObject<{
5
+ id: z$2.ZodUUID;
6
+ subId: z$2.ZodUUID;
7
+ appName: z$2.ZodString;
8
+ fileName: z$2.ZodString;
9
+ fileExtension: z$2.ZodString;
10
+ fileSize: z$2.ZodNumber;
11
+ mediaSubType: z$2.ZodString;
12
+ mediaType: z$2.ZodString;
13
+ mimeType: z$2.ZodString;
14
+ createdBy: z$2.ZodString;
15
+ createdDate: z$2.ZodDate;
16
+ }, z$2.core.$strip>;
17
+ type FileMeta = z$2.infer<typeof FileMetaSchema>;
18
+ //#endregion
19
+ export { FileMetaSchema as n, FileMeta as t };
20
+ //# sourceMappingURL=FileMeta-ILLTOjaM.d.mts.map
@@ -0,0 +1,7 @@
1
+ import { createContext } from "react";
2
+ //#region src/contexts/NotificationContext.tsx
3
+ const NotificationContext = createContext(null);
4
+ //#endregion
5
+ export { NotificationContext as t };
6
+
7
+ //# sourceMappingURL=NotificationContext-CgwUOeW0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationContext-CgwUOeW0.mjs","names":["createContext","AlertColor","NotificationOptions","severity","autoHideDuration","NotificationContextValue","notify","message","options","NotificationContext"],"sources":["../src/contexts/NotificationContext.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport type { AlertColor } from \"@mui/material/Alert\";\n\nexport interface NotificationOptions {\n severity?: AlertColor;\n autoHideDuration?: number;\n}\n\nexport interface NotificationContextValue {\n notify: (message: string, options?: NotificationOptions) => void;\n}\n\nexport const NotificationContext = createContext<NotificationContextValue | null>(null);\n"],"mappings":";;AAYA,MAAaS,sBAAsBT,cAA+C,IAAI"}
@@ -0,0 +1,11 @@
1
+ import z from "zod";
2
+ import { QueryClient } from "@tanstack/react-query";
3
+
4
+ //#region src/models/QueryClientParam.d.ts
5
+ declare const BQueryClientParamSchema: z.ZodObject<{
6
+ queryClient: z.ZodCustom<QueryClient, QueryClient>;
7
+ }, z.core.$strip>;
8
+ type QueryClientParam = z.infer<typeof BQueryClientParamSchema>;
9
+ //#endregion
10
+ export { QueryClientParam as t };
11
+ //# sourceMappingURL=QueryClientParam-CzaM3akD.d.mts.map
@@ -0,0 +1,78 @@
1
+ import { c } from "react/compiler-runtime";
2
+ import { IconButton, ListItemButton } from "@mui/material";
3
+ import React from "react";
4
+ import { createLink } from "@tanstack/react-router";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/components/router/RouterIconButton.tsx
7
+ const CreatedComponent$1 = createLink(React.forwardRef(function IconButtonComponent(props, reference) {
8
+ const $ = c(4);
9
+ if ($[0] !== "78225cdb1e7335044739e8f2aa569a8b6e8ddff45ee95d92920518aa6794a52d") {
10
+ for (let $i = 0; $i < 4; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
11
+ $[0] = "78225cdb1e7335044739e8f2aa569a8b6e8ddff45ee95d92920518aa6794a52d";
12
+ }
13
+ let t0;
14
+ if ($[1] !== props || $[2] !== reference) {
15
+ t0 = /* @__PURE__ */ jsx(IconButton, {
16
+ ref: reference,
17
+ component: "a",
18
+ ...props
19
+ });
20
+ $[1] = props;
21
+ $[2] = reference;
22
+ $[3] = t0;
23
+ } else t0 = $[3];
24
+ return t0;
25
+ }));
26
+ const RouterIconButton = (props) => {
27
+ const $ = c(3);
28
+ if ($[0] !== "78225cdb1e7335044739e8f2aa569a8b6e8ddff45ee95d92920518aa6794a52d") {
29
+ for (let $i = 0; $i < 3; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
30
+ $[0] = "78225cdb1e7335044739e8f2aa569a8b6e8ddff45ee95d92920518aa6794a52d";
31
+ }
32
+ let t0;
33
+ if ($[1] !== props) {
34
+ t0 = /* @__PURE__ */ jsx(CreatedComponent$1, { ...props });
35
+ $[1] = props;
36
+ $[2] = t0;
37
+ } else t0 = $[2];
38
+ return t0;
39
+ };
40
+ //#endregion
41
+ //#region src/components/router/RouterListItemButton.tsx
42
+ const CreatedComponent = createLink(React.forwardRef(function ButtonComponent(props, reference) {
43
+ const $ = c(4);
44
+ if ($[0] !== "a33d2f291bddc17afd0afbb422e06a0a3bbcd9c360494d00918e68b54a100925") {
45
+ for (let $i = 0; $i < 4; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
46
+ $[0] = "a33d2f291bddc17afd0afbb422e06a0a3bbcd9c360494d00918e68b54a100925";
47
+ }
48
+ let t0;
49
+ if ($[1] !== props || $[2] !== reference) {
50
+ t0 = /* @__PURE__ */ jsx(ListItemButton, {
51
+ ref: reference,
52
+ component: "a",
53
+ ...props
54
+ });
55
+ $[1] = props;
56
+ $[2] = reference;
57
+ $[3] = t0;
58
+ } else t0 = $[3];
59
+ return t0;
60
+ }));
61
+ const RouterListItemButton = (props) => {
62
+ const $ = c(3);
63
+ if ($[0] !== "a33d2f291bddc17afd0afbb422e06a0a3bbcd9c360494d00918e68b54a100925") {
64
+ for (let $i = 0; $i < 3; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
65
+ $[0] = "a33d2f291bddc17afd0afbb422e06a0a3bbcd9c360494d00918e68b54a100925";
66
+ }
67
+ let t0;
68
+ if ($[1] !== props) {
69
+ t0 = /* @__PURE__ */ jsx(CreatedComponent, { ...props });
70
+ $[1] = props;
71
+ $[2] = t0;
72
+ } else t0 = $[2];
73
+ return t0;
74
+ };
75
+ //#endregion
76
+ export { RouterIconButton as n, RouterListItemButton as t };
77
+
78
+ //# sourceMappingURL=RouterListItemButton-owZVvuC_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterListItemButton-owZVvuC_.mjs","names":["IconButton","createLink","React","IconButtonProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","IconButtonComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterIconButton","ListItemButton","createLink","React","ListItemButtonProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","ButtonComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterListItemButton"],"sources":["../src/components/router/RouterIconButton.tsx","../src/components/router/RouterListItemButton.tsx"],"sourcesContent":["import { IconButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { IconButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, IconButtonProps<\"a\">>(\n function IconButtonComponent(props, reference) {\n return <IconButton ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterIconButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\n","import { ListItemButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { ListItemButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, ListItemButtonProps<\"a\">>(\n function ButtonComponent(props, reference) {\n return <ListItemButton ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterListItemButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\n"],"mappings":";;;;;;AAYA,MAAMiB,qBAAmBhB,WANPC,MAAMI,WACtB,SAAAE,oBAAAC,OAAAC,WAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,2BAAA;EAAAJ,EAAA,KAAA;CAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAF,SAAAE,EAAA,OAAAD,WAAA;EACSM,KAAA,oBAAC,YAAD;GAAiBN,KAAAA;GAAqB,WAAA;GAAG,GAAKD;EAAK,CAAA;EAAIE,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAAvDK;AAAuD,CAI9BX,CAAS;AAE7C,MAAaa,oBAAoDT,UAAA;CAAA,MAAAE,IAAAC,EAAA,CAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,2BAAA;EAAAJ,EAAA,KAAA;CAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAF,OAAA;EACxDO,KAAA,oBAAC,oBAAD,EAAiB,GAAKP,MAAK,CAAA;EAAIE,EAAA,KAAAF;EAAAE,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAA/BK;AAA+B;;;ACHxC,MAAMoB,mBAAmBhB,WANPC,MAAMI,WACtB,SAAAE,gBAAAC,OAAAC,WAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,2BAAA;EAAAJ,EAAA,KAAA;CAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAF,SAAAE,EAAA,OAAAD,WAAA;EACSM,KAAA,oBAAC,gBAAD;GAAqBN,KAAAA;GAAqB,WAAA;GAAG,GAAKD;EAAK,CAAA;EAAIE,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAA3DK;AAA2D,CAIlCX,CAAS;AAE7C,MAAaa,wBAAwDT,UAAA;CAAA,MAAAE,IAAAC,EAAA,CAAA;CAAA,IAAAD,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,2BAAA;EAAAJ,EAAA,KAAA;CAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAF,OAAA;EAC5DO,KAAA,oBAAC,kBAAD,EAAiB,GAAKP,MAAK,CAAA;EAAIE,EAAA,KAAAF;EAAAE,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAA/BK;AAA+B"}
@@ -0,0 +1,12 @@
1
+ //#region src/models/User.d.ts
2
+ type User = {
3
+ name: string;
4
+ email: string;
5
+ department: string;
6
+ employeeId: string;
7
+ companyName?: string;
8
+ groups: Array<string>;
9
+ };
10
+ //#endregion
11
+ export { User as t };
12
+ //# sourceMappingURL=User-1gKoYJvW.d.mts.map
@@ -0,0 +1,25 @@
1
+ import { t as getAccessToken } from "./user-Cen43mlr.mjs";
2
+ import { scopes } from "virtual:wcz-layout";
3
+
4
+ //#region src/lib/auth/authHandlers.d.ts
5
+ /** GET /auth/login — start the flow: stash PKCE + state, redirect to Entra. */
6
+ declare function handleLogin(): Promise<Response>;
7
+ /** GET /auth/callback — finish the flow: validate state, exchange code, set session. */
8
+ declare function handleCallback(): Promise<Response>;
9
+ /** GET /auth/logout — clear the local session and sign out of the Entra session. */
10
+ declare function handleLogout(): Promise<Response>;
11
+ //#endregion
12
+ //#region src/lib/auth/msalServer.d.ts
13
+ /**
14
+ * On-Behalf-Of flow: Exchange user token for a token to call downstream API
15
+ * Use when: Server needs to call microservice on behalf of the logged-in user
16
+ */
17
+ declare const getTokenOnBehalfOf: (userToken: string, scopeKey: keyof typeof scopes) => Promise<string>;
18
+ /**
19
+ * Client Credentials flow: Get app-only token (no user context)
20
+ * Use when: Background jobs, scheduled tasks, service-to-service calls
21
+ */
22
+ declare const getAppToken: (scopeKey: keyof typeof scopes) => Promise<string>;
23
+ //#endregion
24
+ export { getAccessToken, getAppToken, getTokenOnBehalfOf, handleCallback, handleLogin, handleLogout };
25
+ //# sourceMappingURL=auth.d.mts.map
package/dist/auth.mjs ADDED
@@ -0,0 +1,88 @@
1
+ import { f as getAppSession, i as buildUser, l as getAccessToken } from "./utils-2XiozDlV.mjs";
2
+ import { n as getTokenOnBehalfOf, t as getAppToken } from "./msalServer-CkNOOjjH.mjs";
3
+ //#region src/lib/auth/authHandlers.ts
4
+ /**
5
+ * Server-side handlers for the OAuth2 Authorization Code (PKCE) flow. They are
6
+ * mounted by thin route files (`/auth/login`, `/auth/callback`, `/auth/logout`)
7
+ * in the consuming app and drive the full server-side Entra login — the browser
8
+ * never loads an auth library.
9
+ */
10
+ const redirect = (location) => new Response(null, {
11
+ status: 302,
12
+ headers: { Location: location }
13
+ });
14
+ /** The OAuth redirect URI, derived from the request origin. */
15
+ const resolveRedirectUri = (origin) => `${origin}/auth/callback`;
16
+ /** Only same-origin paths are allowed, so `returnTo` cannot become an open redirect. */
17
+ const sanitizeReturnTo = (value) => value?.startsWith("/") && !value.startsWith("//") ? value : "/";
18
+ /** GET /auth/login — start the flow: stash PKCE + state, redirect to Entra. */
19
+ async function handleLogin() {
20
+ const { getRequestUrl } = await import("@tanstack/react-start/server");
21
+ const url = getRequestUrl();
22
+ const returnTo = sanitizeReturnTo(url.searchParams.get("returnTo"));
23
+ const { cryptoProvider, buildAuthCodeUrl } = await import("./entra-s4ZjHq5o.mjs");
24
+ const { verifier, challenge } = await cryptoProvider.generatePkceCodes();
25
+ const state = cryptoProvider.createNewGuid();
26
+ await (await getAppSession()).update({
27
+ pkceVerifier: verifier,
28
+ state,
29
+ returnTo
30
+ });
31
+ const authUrl = await buildAuthCodeUrl({
32
+ redirectUri: resolveRedirectUri(url.origin),
33
+ state,
34
+ codeChallenge: challenge
35
+ });
36
+ return redirect(authUrl);
37
+ }
38
+ /** GET /auth/callback — finish the flow: validate state, exchange code, set session. */
39
+ async function handleCallback() {
40
+ const { getRequestUrl } = await import("@tanstack/react-start/server");
41
+ const url = getRequestUrl();
42
+ const session = await getAppSession();
43
+ const { pkceVerifier, state: expectedState, returnTo = "/" } = session.data;
44
+ const error = url.searchParams.get("error");
45
+ if (error) {
46
+ await session.clear();
47
+ return redirect(`/?auth_error=${encodeURIComponent(error)}`);
48
+ }
49
+ const code = url.searchParams.get("code");
50
+ const state = url.searchParams.get("state");
51
+ if (!code || !state || !pkceVerifier || state !== expectedState) {
52
+ await session.clear();
53
+ return redirect("/?auth_error=invalid_state");
54
+ }
55
+ try {
56
+ const { exchangeCodeForSession } = await import("./entra-s4ZjHq5o.mjs");
57
+ const { refreshToken, claims } = await exchangeCodeForSession({
58
+ code,
59
+ redirectUri: resolveRedirectUri(url.origin),
60
+ codeVerifier: pkceVerifier
61
+ });
62
+ await session.update({
63
+ refreshToken,
64
+ user: buildUser(claims),
65
+ pkceVerifier: void 0,
66
+ state: void 0,
67
+ returnTo: void 0
68
+ });
69
+ return redirect(returnTo);
70
+ } catch (error) {
71
+ const message = error instanceof Error ? error.message : "token_exchange_failed";
72
+ console.error("[auth] code exchange failed:", message);
73
+ await session.clear();
74
+ return redirect(`/?auth_error=${encodeURIComponent(message)}`);
75
+ }
76
+ }
77
+ /** GET /auth/logout — clear the local session and sign out of the Entra session. */
78
+ async function handleLogout() {
79
+ const { getRequestUrl } = await import("@tanstack/react-start/server");
80
+ const url = getRequestUrl();
81
+ await (await getAppSession()).clear();
82
+ const { buildLogoutUrl } = await import("./entra-s4ZjHq5o.mjs");
83
+ return redirect(buildLogoutUrl(`${url.origin}/`));
84
+ }
85
+ //#endregion
86
+ export { getAccessToken, getAppToken, getTokenOnBehalfOf, handleCallback, handleLogin, handleLogout };
87
+
88
+ //# sourceMappingURL=auth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.mjs","names":["buildUser","getAppSession","redirect","location","Response","status","headers","Location","resolveRedirectUri","origin","sanitizeReturnTo","value","startsWith","handleLogin","Promise","getRequestUrl","url","returnTo","searchParams","get","cryptoProvider","buildAuthCodeUrl","verifier","challenge","generatePkceCodes","state","createNewGuid","session","update","pkceVerifier","authUrl","redirectUri","codeChallenge","handleCallback","expectedState","data","error","clear","encodeURIComponent","code","exchangeCodeForSession","refreshToken","claims","codeVerifier","user","undefined","message","Error","console","handleLogout","buildLogoutUrl"],"sources":["../src/lib/auth/authHandlers.ts"],"sourcesContent":["import { buildUser } from \"~/lib/utils\";\nimport { getAppSession } from \"./session\";\n\n// These handlers run only as server route handlers, so their server-only deps are\n// imported dynamically to keep them out of the client bundle: `entra` pulls in\n// `@azure/msal-node`, and `@tanstack/react-start/server` pulls in the SSR renderer\n// (`react-dom/server`).\n\n/**\n * Server-side handlers for the OAuth2 Authorization Code (PKCE) flow. They are\n * mounted by thin route files (`/auth/login`, `/auth/callback`, `/auth/logout`)\n * in the consuming app and drive the full server-side Entra login — the browser\n * never loads an auth library.\n */\n\nconst redirect = (location: string): Response =>\n new Response(null, { status: 302, headers: { Location: location } });\n\n/** The OAuth redirect URI, derived from the request origin. */\nconst resolveRedirectUri = (origin: string): string => `${origin}/auth/callback`;\n\n/** Only same-origin paths are allowed, so `returnTo` cannot become an open redirect. */\nconst sanitizeReturnTo = (value: string | null): string =>\n value?.startsWith(\"/\") && !value.startsWith(\"//\") ? value : \"/\";\n\n/** GET /auth/login — start the flow: stash PKCE + state, redirect to Entra. */\nexport async function handleLogin(): Promise<Response> {\n const { getRequestUrl } = await import(\"@tanstack/react-start/server\");\n const url = getRequestUrl();\n const returnTo = sanitizeReturnTo(url.searchParams.get(\"returnTo\"));\n\n const { cryptoProvider, buildAuthCodeUrl } = await import(\"./entra\");\n const { verifier, challenge } = await cryptoProvider.generatePkceCodes();\n const state = cryptoProvider.createNewGuid();\n\n const session = await getAppSession();\n await session.update({ pkceVerifier: verifier, state, returnTo });\n\n const authUrl = await buildAuthCodeUrl({\n redirectUri: resolveRedirectUri(url.origin),\n state,\n codeChallenge: challenge,\n });\n return redirect(authUrl);\n}\n\n/** GET /auth/callback — finish the flow: validate state, exchange code, set session. */\nexport async function handleCallback(): Promise<Response> {\n const { getRequestUrl } = await import(\"@tanstack/react-start/server\");\n const url = getRequestUrl();\n const session = await getAppSession();\n const { pkceVerifier, state: expectedState, returnTo = \"/\" } = session.data;\n\n const error = url.searchParams.get(\"error\");\n if (error) {\n await session.clear();\n return redirect(`/?auth_error=${encodeURIComponent(error)}`);\n }\n\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n if (!code || !state || !pkceVerifier || state !== expectedState) {\n await session.clear();\n return redirect(\"/?auth_error=invalid_state\");\n }\n\n try {\n const { exchangeCodeForSession } = await import(\"./entra\");\n const { refreshToken, claims } = await exchangeCodeForSession({\n code,\n redirectUri: resolveRedirectUri(url.origin),\n codeVerifier: pkceVerifier,\n });\n\n // Persist the refresh token + trimmed user; drop the spent transient values.\n await session.update({\n refreshToken,\n user: buildUser(claims),\n pkceVerifier: undefined,\n state: undefined,\n returnTo: undefined,\n });\n\n return redirect(returnTo);\n } catch (error) {\n const message = error instanceof Error ? error.message : \"token_exchange_failed\";\n console.error(\"[auth] code exchange failed:\", message);\n await session.clear();\n return redirect(`/?auth_error=${encodeURIComponent(message)}`);\n }\n}\n\n/** GET /auth/logout — clear the local session and sign out of the Entra session. */\nexport async function handleLogout(): Promise<Response> {\n const { getRequestUrl } = await import(\"@tanstack/react-start/server\");\n const url = getRequestUrl();\n const session = await getAppSession();\n await session.clear();\n const { buildLogoutUrl } = await import(\"./entra\");\n return redirect(buildLogoutUrl(`${url.origin}/`));\n}\n"],"mappings":";;;;;;;;;AAeA,MAAME,YAAYC,aAChB,IAAIC,SAAS,MAAM;CAAEC,QAAQ;CAAKC,SAAS,EAAEC,UAAUJ,SAAS;AAAE,CAAC;;AAGrE,MAAMK,sBAAsBC,WAA2B,GAAGA,OAAM;;AAGhE,MAAMC,oBAAoBC,UACxBA,OAAOC,WAAW,GAAG,KAAK,CAACD,MAAMC,WAAW,IAAI,IAAID,QAAQ;;AAG9D,eAAsBE,cAAiC;CACrD,MAAM,EAAEE,kBAAkB,MAAM,OAAO;CACvC,MAAMC,MAAMD,cAAc;CAC1B,MAAME,WAAWP,iBAAiBM,IAAIE,aAAaC,IAAI,UAAU,CAAC;CAElE,MAAM,EAAEC,gBAAgBC,qBAAqB,MAAM,OAAO;CAC1D,MAAM,EAAEC,UAAUC,cAAc,MAAMH,eAAeI,kBAAkB;CACvE,MAAMC,QAAQL,eAAeM,cAAc;CAG3C,OAAMC,MADgB1B,cAAc,EAAA,CACtB2B,OAAO;EAAEC,cAAcP;EAAUG;EAAOR;CAAS,CAAC;CAEhE,MAAMa,UAAU,MAAMT,iBAAiB;EACrCU,aAAavB,mBAAmBQ,IAAIP,MAAM;EAC1CgB;EACAO,eAAeT;CACjB,CAAC;CACD,OAAOrB,SAAS4B,OAAO;AACzB;;AAGA,eAAsBG,iBAAoC;CACxD,MAAM,EAAElB,kBAAkB,MAAM,OAAO;CACvC,MAAMC,MAAMD,cAAc;CAC1B,MAAMY,UAAU,MAAM1B,cAAc;CACpC,MAAM,EAAE4B,cAAcJ,OAAOS,eAAejB,WAAW,QAAQU,QAAQQ;CAEvE,MAAMC,QAAQpB,IAAIE,aAAaC,IAAI,OAAO;CAC1C,IAAIiB,OAAO;EACT,MAAMT,QAAQU,MAAM;EACpB,OAAOnC,SAAS,gBAAgBoC,mBAAmBF,KAAK,GAAG;CAC7D;CAEA,MAAMG,OAAOvB,IAAIE,aAAaC,IAAI,MAAM;CACxC,MAAMM,QAAQT,IAAIE,aAAaC,IAAI,OAAO;CAC1C,IAAI,CAACoB,QAAQ,CAACd,SAAS,CAACI,gBAAgBJ,UAAUS,eAAe;EAC/D,MAAMP,QAAQU,MAAM;EACpB,OAAOnC,SAAS,4BAA4B;CAC9C;CAEA,IAAI;EACF,MAAM,EAAEsC,2BAA2B,MAAM,OAAO;EAChD,MAAM,EAAEC,cAAcC,WAAW,MAAMF,uBAAuB;GAC5DD;GACAR,aAAavB,mBAAmBQ,IAAIP,MAAM;GAC1CkC,cAAcd;EAChB,CAAC;EAGD,MAAMF,QAAQC,OAAO;GACnBa;GACAG,MAAM5C,UAAU0C,MAAM;GACtBb,cAAcgB,KAAAA;GACdpB,OAAOoB,KAAAA;GACP5B,UAAU4B,KAAAA;EACZ,CAAC;EAED,OAAO3C,SAASe,QAAQ;CAC1B,SAASmB,OAAO;EACd,MAAMU,UAAUV,iBAAiBW,QAAQX,MAAMU,UAAU;EACzDE,QAAQZ,MAAM,gCAAgCU,OAAO;EACrD,MAAMnB,QAAQU,MAAM;EACpB,OAAOnC,SAAS,gBAAgBoC,mBAAmBQ,OAAO,GAAG;CAC/D;AACF;;AAGA,eAAsBG,eAAkC;CACtD,MAAM,EAAElC,kBAAkB,MAAM,OAAO;CACvC,MAAMC,MAAMD,cAAc;CAE1B,OAAMY,MADgB1B,cAAc,EAAA,CACtBoC,MAAM;CACpB,MAAM,EAAEa,mBAAmB,MAAM,OAAO;CACxC,OAAOhD,SAASgD,eAAe,GAAGlC,IAAIP,OAAM,EAAG,CAAC;AAClD"}