@evolver-fi/evolver-basics-admin-components 0.0.21 → 8.2.2-alpha.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 (209) hide show
  1. package/dist/EnumSelectFilter-DDWIjz5i.js +35 -0
  2. package/dist/EnumSelectFilter-DDWIjz5i.js.map +1 -0
  3. package/dist/FilterLink-OxQDWR5G.js +29 -0
  4. package/dist/FilterLink-OxQDWR5G.js.map +1 -0
  5. package/dist/Table-IciQttr3.js +79 -0
  6. package/dist/Table-IciQttr3.js.map +1 -0
  7. package/dist/TableMetadataDisplay-BM61EulC.js +49 -0
  8. package/dist/TableMetadataDisplay-BM61EulC.js.map +1 -0
  9. package/dist/TextFilter-CLOKjiSd.js +54 -0
  10. package/dist/TextFilter-CLOKjiSd.js.map +1 -0
  11. package/dist/api-CMiZYkfc.js +32 -0
  12. package/dist/api-CMiZYkfc.js.map +1 -0
  13. package/dist/breadcrumbs/index.js +2 -5
  14. package/dist/breadcrumbs-BAwnKRxL.js +32 -0
  15. package/dist/breadcrumbs-BAwnKRxL.js.map +1 -0
  16. package/dist/breadcrumbs.css +1 -0
  17. package/dist/client/index.js +341 -0
  18. package/dist/client/index.js.map +1 -0
  19. package/dist/configuration-values/index.js +2 -0
  20. package/dist/configuration-values-CjOfmPRq.js +3464 -0
  21. package/dist/configuration-values-CjOfmPRq.js.map +1 -0
  22. package/dist/control-values/index.js +2 -0
  23. package/dist/control-values-CzQOB4WJ.js +144 -0
  24. package/dist/control-values-CzQOB4WJ.js.map +1 -0
  25. package/dist/exhaustiveValues-BYWkg9M1.js +6 -0
  26. package/dist/exhaustiveValues-BYWkg9M1.js.map +1 -0
  27. package/dist/filter/index.js +4 -11
  28. package/dist/formData-BO275hRZ.js +43 -0
  29. package/dist/formData-BO275hRZ.js.map +1 -0
  30. package/dist/jwt-tokens/index.js +2 -7
  31. package/dist/jwt-tokens-DnKsHei4.js +71 -0
  32. package/dist/jwt-tokens-DnKsHei4.js.map +1 -0
  33. package/dist/main/index.js +17 -51
  34. package/dist/message-log/index.js +2 -10
  35. package/dist/message-log-BdrJtbsP.js +337 -0
  36. package/dist/message-log-BdrJtbsP.js.map +1 -0
  37. package/dist/message-sending/index.js +2 -10
  38. package/dist/message-sending-dvTw2fFm.js +181 -0
  39. package/dist/message-sending-dvTw2fFm.js.map +1 -0
  40. package/dist/message-targets/index.js +2 -0
  41. package/dist/message-targets-8EppIJde.js +406 -0
  42. package/dist/message-targets-8EppIJde.js.map +1 -0
  43. package/dist/pagination-C4QUYRMf.js +20 -0
  44. package/dist/pagination-C4QUYRMf.js.map +1 -0
  45. package/dist/scheduled-tasks/index.js +2 -14
  46. package/dist/scheduled-tasks-BtBnBrE7.js +647 -0
  47. package/dist/scheduled-tasks-BtBnBrE7.js.map +1 -0
  48. package/dist/schemas-D-8_LuND.js +2986 -0
  49. package/dist/schemas-D-8_LuND.js.map +1 -0
  50. package/dist/table/index.js +2 -6
  51. package/dist/triggerables/index.js +3 -9
  52. package/dist/triggerables-DgrIeQMi.js +51 -0
  53. package/dist/triggerables-DgrIeQMi.js.map +1 -0
  54. package/dist/types/breadcrumbs.d.ts +1 -1
  55. package/dist/types/client/index.d.ts +5 -0
  56. package/dist/types/client.d.ts +2 -0
  57. package/dist/types/common/exhaustiveValues.d.ts +5 -0
  58. package/dist/types/common/formData.d.ts +20 -0
  59. package/dist/types/common/pagination.d.ts +8 -0
  60. package/dist/types/{admin-components/src/components → components}/breadcrumbs/BreadCrumbs.d.ts +1 -1
  61. package/dist/types/{admin-components/src/components → components}/filter/EnumSelectFilter.d.ts +0 -4
  62. package/dist/types/{admin-components/src/components → components}/filter/FilterHelperTexts.d.ts +1 -1
  63. package/dist/types/{admin-components/src/components → components}/filter/FilterLink.d.ts +1 -1
  64. package/dist/types/{admin-components/src/components → components}/filter/TextFilter.d.ts +1 -1
  65. package/dist/types/components/filter/createEnumSelectFilter.d.ts +5 -0
  66. package/dist/types/components/metadata/TableMetadataDisplay.d.ts +2 -0
  67. package/dist/types/{admin-components/src/components → components}/table/Pagination.d.ts +1 -1
  68. package/dist/types/{admin-components/src/components → components}/table/Table.d.ts +1 -1
  69. package/dist/types/configuration-values.d.ts +2 -0
  70. package/dist/types/control-values.d.ts +2 -0
  71. package/dist/types/filter.d.ts +1 -1
  72. package/dist/types/{admin-components/src/index.d.ts → index.d.ts} +3 -0
  73. package/dist/types/jwt-tokens.d.ts +1 -1
  74. package/dist/types/main.d.ts +1 -1
  75. package/dist/types/message-log.d.ts +1 -1
  76. package/dist/types/message-sending.d.ts +1 -1
  77. package/dist/types/message-targets.d.ts +2 -0
  78. package/dist/types/routes/configuration-values/ConfigurationValueFormRoute.d.ts +2 -0
  79. package/dist/types/routes/configuration-values/ConfigurationValuesRoute.d.ts +2 -0
  80. package/dist/types/routes/configuration-values/action.d.ts +8 -0
  81. package/dist/types/routes/configuration-values/api.d.ts +53 -0
  82. package/dist/types/routes/configuration-values/configurationValueColumns.d.ts +4 -0
  83. package/dist/types/routes/configuration-values/index.d.ts +5 -0
  84. package/dist/types/routes/configuration-values/loader.d.ts +52 -0
  85. package/dist/types/routes/control-values/ControlValuesRoute.d.ts +2 -0
  86. package/dist/types/routes/control-values/SingleControlValueRoute.d.ts +2 -0
  87. package/dist/types/routes/control-values/api.d.ts +43 -0
  88. package/dist/types/routes/control-values/controlValueColumns.d.ts +4 -0
  89. package/dist/types/routes/control-values/index.d.ts +4 -0
  90. package/dist/types/routes/control-values/loader.d.ts +43 -0
  91. package/dist/types/routes/jwt-tokens/JwtTokensRoute.d.ts +6 -0
  92. package/dist/types/routes/jwt-tokens/api.d.ts +41 -0
  93. package/dist/types/routes/jwt-tokens/index.d.ts +3 -0
  94. package/dist/types/routes/jwt-tokens/loader.d.ts +35 -0
  95. package/dist/types/routes/message-log/LogBodyLink.d.ts +6 -0
  96. package/dist/types/routes/message-log/MessageLogRoute.d.ts +2 -0
  97. package/dist/types/routes/message-log/SingleLogMessageRoute.d.ts +6 -0
  98. package/dist/types/routes/message-log/api.d.ts +88 -0
  99. package/dist/types/routes/message-log/index.d.ts +4 -0
  100. package/dist/types/routes/message-log/loader.d.ts +53 -0
  101. package/dist/types/routes/message-sending/MessageSendingRoute.d.ts +2 -0
  102. package/dist/types/routes/message-sending/SingleMessageRoute.d.ts +2 -0
  103. package/dist/types/routes/message-sending/api.d.ts +92 -0
  104. package/dist/types/routes/message-sending/index.d.ts +4 -0
  105. package/dist/types/routes/message-sending/loader.d.ts +34 -0
  106. package/dist/types/{admin-components/src/routes → routes}/message-sending/types.d.ts +4 -2
  107. package/dist/types/routes/message-targets/MessageTargetFormRoute.d.ts +2 -0
  108. package/dist/types/routes/message-targets/MessageTargetsRoute.d.ts +2 -0
  109. package/dist/types/routes/message-targets/action.d.ts +8 -0
  110. package/dist/types/routes/message-targets/api.d.ts +12 -0
  111. package/dist/types/routes/message-targets/index.d.ts +5 -0
  112. package/dist/types/routes/message-targets/loader.d.ts +15 -0
  113. package/dist/types/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +2 -0
  114. package/dist/types/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +2 -0
  115. package/dist/types/routes/scheduled-tasks/action.d.ts +21 -0
  116. package/dist/types/routes/scheduled-tasks/api.d.ts +75 -0
  117. package/dist/types/routes/scheduled-tasks/index.d.ts +5 -0
  118. package/dist/types/routes/scheduled-tasks/loader.d.ts +57 -0
  119. package/dist/types/routes/scheduled-tasks/parseScheduledTask.d.ts +15 -0
  120. package/dist/types/routes/triggerables/TriggerablesRoute.d.ts +2 -0
  121. package/dist/types/routes/triggerables/action.d.ts +6 -0
  122. package/dist/types/routes/triggerables/api.d.ts +33 -0
  123. package/dist/types/routes/triggerables/index.d.ts +4 -0
  124. package/dist/types/routes/triggerables/loader.d.ts +3 -0
  125. package/dist/types/scheduled-tasks.d.ts +1 -1
  126. package/dist/types/table.d.ts +1 -1
  127. package/dist/types/triggerables.d.ts +1 -1
  128. package/dist/types/types/openapiTypes.d.ts +3321 -0
  129. package/package.json +60 -29
  130. package/dist/BreadCrumbs-BzG2oi8Z.js +0 -19
  131. package/dist/BreadCrumbs-BzG2oi8Z.js.map +0 -1
  132. package/dist/BreadCrumbs.css +0 -1
  133. package/dist/ConfirmButton-jayUa8_J.js +0 -16
  134. package/dist/ConfirmButton-jayUa8_J.js.map +0 -1
  135. package/dist/EnumSelectFilter-DiJhYa2m.js +0 -40
  136. package/dist/EnumSelectFilter-DiJhYa2m.js.map +0 -1
  137. package/dist/ExpandMore-D6gf2UVG.js +0 -14
  138. package/dist/ExpandMore-D6gf2UVG.js.map +0 -1
  139. package/dist/FilterLink-CHw7-m82.js +0 -43
  140. package/dist/FilterLink-CHw7-m82.js.map +0 -1
  141. package/dist/JwtTokensRoute-B3SgLM0q.js +0 -2335
  142. package/dist/JwtTokensRoute-B3SgLM0q.js.map +0 -1
  143. package/dist/ScheduledTasksRoute-CNhOAAKd.js +0 -1152
  144. package/dist/ScheduledTasksRoute-CNhOAAKd.js.map +0 -1
  145. package/dist/SingleLogMessageRoute-BT4ghiqv.js +0 -305
  146. package/dist/SingleLogMessageRoute-BT4ghiqv.js.map +0 -1
  147. package/dist/SingleMessageRoute-DaaWvgfS.js +0 -293
  148. package/dist/SingleMessageRoute-DaaWvgfS.js.map +0 -1
  149. package/dist/Table-DgRqEB1x.js +0 -154
  150. package/dist/Table-DgRqEB1x.js.map +0 -1
  151. package/dist/TableMetadataDisplay-C7RP2ZrM.js +0 -122
  152. package/dist/TableMetadataDisplay-C7RP2ZrM.js.map +0 -1
  153. package/dist/TextFilter-BKUfkFQe.js +0 -70
  154. package/dist/TextFilter-BKUfkFQe.js.map +0 -1
  155. package/dist/TriggerablesRoute-opCAjNCv.js +0 -3556
  156. package/dist/TriggerablesRoute-opCAjNCv.js.map +0 -1
  157. package/dist/breadcrumbs/index.js.map +0 -1
  158. package/dist/createSvgIcon-Cf1cru4R.js +0 -3945
  159. package/dist/createSvgIcon-Cf1cru4R.js.map +0 -1
  160. package/dist/evolverClient-B_TZXnpV.js +0 -1602
  161. package/dist/evolverClient-B_TZXnpV.js.map +0 -1
  162. package/dist/filter/index.js.map +0 -1
  163. package/dist/jsx-runtime-B6kdoens.js +0 -635
  164. package/dist/jsx-runtime-B6kdoens.js.map +0 -1
  165. package/dist/jwt-tokens/index.js.map +0 -1
  166. package/dist/main/index.js.map +0 -1
  167. package/dist/message-log/index.js.map +0 -1
  168. package/dist/message-sending/index.js.map +0 -1
  169. package/dist/parser-Bj3mcA83.js +0 -6096
  170. package/dist/parser-Bj3mcA83.js.map +0 -1
  171. package/dist/scheduled-tasks/index.js.map +0 -1
  172. package/dist/table/index.js.map +0 -1
  173. package/dist/triggerables/index.js.map +0 -1
  174. package/dist/types/admin-components/src/components/metadata/TableMetadataDisplay.d.ts +0 -2
  175. package/dist/types/admin-components/src/routes/jwt-tokens/JwtTokensRoute.d.ts +0 -2
  176. package/dist/types/admin-components/src/routes/jwt-tokens/index.d.ts +0 -2
  177. package/dist/types/admin-components/src/routes/jwt-tokens/loader.d.ts +0 -11
  178. package/dist/types/admin-components/src/routes/message-log/MessageLogRoute.d.ts +0 -2
  179. package/dist/types/admin-components/src/routes/message-log/SingleLogMessageRoute.d.ts +0 -2
  180. package/dist/types/admin-components/src/routes/message-log/index.d.ts +0 -3
  181. package/dist/types/admin-components/src/routes/message-log/loader.d.ts +0 -7
  182. package/dist/types/admin-components/src/routes/message-sending/MessageSendingRoute.d.ts +0 -2
  183. package/dist/types/admin-components/src/routes/message-sending/SingleMessageRoute.d.ts +0 -2
  184. package/dist/types/admin-components/src/routes/message-sending/index.d.ts +0 -3
  185. package/dist/types/admin-components/src/routes/message-sending/loader.d.ts +0 -6
  186. package/dist/types/admin-components/src/routes/scheduled-tasks/ScheduledTaskFormRoute.d.ts +0 -2
  187. package/dist/types/admin-components/src/routes/scheduled-tasks/ScheduledTasksRoute.d.ts +0 -2
  188. package/dist/types/admin-components/src/routes/scheduled-tasks/action.d.ts +0 -20
  189. package/dist/types/admin-components/src/routes/scheduled-tasks/index.d.ts +0 -4
  190. package/dist/types/admin-components/src/routes/scheduled-tasks/loader.d.ts +0 -9
  191. package/dist/types/admin-components/src/routes/triggerables/TriggerablesRoute.d.ts +0 -2
  192. package/dist/types/admin-components/src/routes/triggerables/action.d.ts +0 -10
  193. package/dist/types/admin-components/src/routes/triggerables/index.d.ts +0 -3
  194. package/dist/types/admin-components/src/routes/triggerables/loader.d.ts +0 -9
  195. package/dist/types/admin-ui/src/front-page/FrontPage.d.ts +0 -2
  196. package/dist/validation-DStiilqx.js +0 -22
  197. package/dist/validation-DStiilqx.js.map +0 -1
  198. /package/dist/types/{admin-components/src/common → common}/format.d.ts +0 -0
  199. /package/dist/types/{admin-components/src/common → common}/types.d.ts +0 -0
  200. /package/dist/types/{admin-components/src/common → common}/validation.d.ts +0 -0
  201. /package/dist/types/{admin-components/src/components → components}/breadcrumbs/index.d.ts +0 -0
  202. /package/dist/types/{admin-components/src/components → components}/filter/index.d.ts +0 -0
  203. /package/dist/types/{admin-components/src/components → components}/filter/types.d.ts +0 -0
  204. /package/dist/types/{admin-components/src/components → components}/metadata/utils.d.ts +0 -0
  205. /package/dist/types/{admin-components/src/components → components}/table/index.d.ts +0 -0
  206. /package/dist/types/{admin-components/src/components → components}/table/types.d.ts +0 -0
  207. /package/dist/types/{admin-components/src/routes → routes}/message-log/messageLogColumns.d.ts +0 -0
  208. /package/dist/types/{admin-components/src/routes → routes}/message-log/types.d.ts +0 -0
  209. /package/dist/types/{admin-components/src/routes → routes}/message-sending/messageSendingColumns.d.ts +0 -0
@@ -0,0 +1,406 @@
1
+ import { a as e, i as t } from "./schemas-D-8_LuND.js";
2
+ import { a as n, c as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./formData-BO275hRZ.js";
3
+ import { t as f } from "./exhaustiveValues-BYWkg9M1.js";
4
+ import { Form as p, redirect as m, useActionData as h, useLoaderData as g, useNavigate as _, useParams as v, useSubmit as y } from "react-router";
5
+ import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
6
+ import { Alert as C, Box as w, Button as T, Collapse as E, FormControl as D, InputLabel as O, MenuItem as k, Paper as A, Select as ee, Stack as j, Table as M, TableBody as N, TableCell as P, TableContainer as F, TableHead as I, TableRow as L, TextField as R, Typography as z } from "@mui/material";
7
+ //#region src/routes/message-targets/api.ts
8
+ var B = f()([
9
+ "ENABLED",
10
+ "LOG_ONLY",
11
+ "PAUSED",
12
+ "DISABLED"
13
+ ]), V = async (e) => {
14
+ let t = await e.GET("/message-target");
15
+ if ("error" in t) throw Error(`Failed to fetch message target configs: ${t.response?.status}`);
16
+ return t.data;
17
+ }, H = async (e, t) => {
18
+ let n = await t.GET("/message-target/{id}", { params: { path: { id: e } } });
19
+ if ("error" in n) throw Error(`Failed to fetch message target config: ${n.response.status}`);
20
+ return n.data;
21
+ }, U = async (e, t) => {
22
+ let n = await t.POST("/message-target", { body: e });
23
+ if ("error" in n) throw Error(`Failed to create message target config: ${n.response.status}`);
24
+ return n.response.status;
25
+ }, W = async (e, t, n) => {
26
+ let r = await n.POST("/message-target/{id}", {
27
+ params: { path: { id: e } },
28
+ body: t
29
+ });
30
+ if ("error" in r) throw Error(`Failed to update message target config: ${r.response.status}`);
31
+ return r.response.status;
32
+ }, G = async (e, t) => {
33
+ let n = await t.POST("/message-target/{id}/remove", { params: { path: { id: e } } });
34
+ if ("error" in n) throw Error(`Failed to delete message target config: ${n.response.status}`);
35
+ return n.response.status;
36
+ }, K = (e) => JSON.stringify(e ?? {}, null, 2), q = ({ history: e }) => e.length ? /* @__PURE__ */ S(w, {
37
+ sx: { mt: 3 },
38
+ children: [/* @__PURE__ */ x(z, {
39
+ variant: "h5",
40
+ component: "h2",
41
+ sx: { mb: 1 },
42
+ children: "History"
43
+ }), /* @__PURE__ */ S(M, {
44
+ size: "small",
45
+ children: [/* @__PURE__ */ x(I, { children: /* @__PURE__ */ S(L, { children: [
46
+ /* @__PURE__ */ x(P, { children: "Modified" }),
47
+ /* @__PURE__ */ x(P, { children: "User" }),
48
+ /* @__PURE__ */ x(P, { children: "Comment" }),
49
+ /* @__PURE__ */ x(P, { children: "State" }),
50
+ /* @__PURE__ */ x(P, { children: "URI" }),
51
+ /* @__PURE__ */ x(P, { children: "Retry" })
52
+ ] }) }), /* @__PURE__ */ x(N, { children: e.map((e, t) => /* @__PURE__ */ S(L, { children: [
53
+ /* @__PURE__ */ x(P, { children: e.modTimestamp }),
54
+ /* @__PURE__ */ x(P, { children: e.modUser }),
55
+ /* @__PURE__ */ x(P, { children: e.modComment }),
56
+ /* @__PURE__ */ x(P, { children: e.state }),
57
+ /* @__PURE__ */ x(P, { children: e.uri }),
58
+ /* @__PURE__ */ S(P, { children: [
59
+ e.retryLimit ?? "unlimited",
60
+ " / ",
61
+ e.retryDelayMs ?? "",
62
+ " ms"
63
+ ] })
64
+ ] }, `${e.modTimestamp ?? "history"}-${t}`)) })]
65
+ })]
66
+ }) : null, J = () => {
67
+ let { target: e, history: t } = g(), n = h(), r = _(), i = v(), a = y(), o = i.id === "new";
68
+ return /* @__PURE__ */ S(w, {
69
+ component: "section",
70
+ sx: {
71
+ p: 2,
72
+ maxWidth: 1100
73
+ },
74
+ children: [/* @__PURE__ */ x(E, {
75
+ in: n !== void 0,
76
+ unmountOnExit: !0,
77
+ children: /* @__PURE__ */ x(C, {
78
+ severity: n && n.status < 300 ? "success" : "error",
79
+ children: n?.message
80
+ })
81
+ }), /* @__PURE__ */ S(A, {
82
+ sx: {
83
+ p: 2,
84
+ mt: 2
85
+ },
86
+ children: [
87
+ /* @__PURE__ */ x(z, {
88
+ variant: "h4",
89
+ component: "h1",
90
+ sx: { mb: 2 },
91
+ children: o ? "New message target config" : "Edit message target config"
92
+ }),
93
+ /* @__PURE__ */ x(p, {
94
+ method: "post",
95
+ children: /* @__PURE__ */ S(j, {
96
+ gap: 2,
97
+ children: [
98
+ !o && /* @__PURE__ */ x("input", {
99
+ type: "hidden",
100
+ name: "id",
101
+ value: e.id ?? ""
102
+ }),
103
+ /* @__PURE__ */ S(D, {
104
+ required: !0,
105
+ children: [/* @__PURE__ */ x(O, {
106
+ id: "message-target-state-label",
107
+ children: "State"
108
+ }), /* @__PURE__ */ x(ee, {
109
+ labelId: "message-target-state-label",
110
+ name: "state",
111
+ label: "State",
112
+ defaultValue: e.state ?? "ENABLED",
113
+ children: B.map((e) => /* @__PURE__ */ x(k, {
114
+ value: e,
115
+ children: e
116
+ }, e))
117
+ })]
118
+ }),
119
+ /* @__PURE__ */ x(R, {
120
+ name: "messageType",
121
+ label: "Message type",
122
+ required: !0,
123
+ defaultValue: e.messageType ?? ""
124
+ }),
125
+ /* @__PURE__ */ x(R, {
126
+ name: "targetSystem",
127
+ label: "Target system",
128
+ required: !0,
129
+ defaultValue: e.targetSystem ?? ""
130
+ }),
131
+ /* @__PURE__ */ x(R, {
132
+ name: "uri",
133
+ label: "URI",
134
+ required: !0,
135
+ defaultValue: e.uri ?? ""
136
+ }),
137
+ /* @__PURE__ */ x(R, {
138
+ name: "retryDelayMs",
139
+ label: "Retry delay, ms",
140
+ type: "number",
141
+ required: !0,
142
+ defaultValue: e.retryDelayMs ?? 0,
143
+ inputProps: {
144
+ min: 0,
145
+ step: 1
146
+ }
147
+ }),
148
+ /* @__PURE__ */ x(R, {
149
+ name: "retryLimit",
150
+ label: "Retry limit",
151
+ type: "number",
152
+ defaultValue: e.retryLimit ?? "",
153
+ helperText: "Blank means unlimited.",
154
+ inputProps: {
155
+ min: 0,
156
+ step: 1
157
+ }
158
+ }),
159
+ /* @__PURE__ */ x(R, {
160
+ name: "maxConcurrency",
161
+ label: "Max concurrency",
162
+ type: "number",
163
+ defaultValue: e.maxConcurrency ?? "",
164
+ helperText: "Blank means unlimited. Values must be at least 1.",
165
+ inputProps: {
166
+ min: 1,
167
+ step: 1
168
+ }
169
+ }),
170
+ /* @__PURE__ */ x(R, {
171
+ name: "filters",
172
+ label: "Filters",
173
+ multiline: !0,
174
+ minRows: 2,
175
+ defaultValue: e.filters ?? "",
176
+ helperText: "Comma-separated filters, for example messageType=ORDER_CREATED,targetSystem!=legacy."
177
+ }),
178
+ /* @__PURE__ */ x(R, {
179
+ name: "throttling",
180
+ label: "Throttling",
181
+ defaultValue: e.throttling ?? ""
182
+ }),
183
+ /* @__PURE__ */ x(R, {
184
+ name: "properties",
185
+ label: "Properties",
186
+ multiline: !0,
187
+ minRows: 6,
188
+ defaultValue: K(e.properties),
189
+ helperText: "JSON object. Values are saved as strings."
190
+ }),
191
+ /* @__PURE__ */ x(R, {
192
+ name: "modUser",
193
+ label: "Modified by"
194
+ }),
195
+ /* @__PURE__ */ x(R, {
196
+ name: "modComment",
197
+ label: "Change comment",
198
+ multiline: !0,
199
+ minRows: 2
200
+ }),
201
+ /* @__PURE__ */ S(j, {
202
+ direction: "row",
203
+ gap: 1,
204
+ children: [
205
+ /* @__PURE__ */ x(T, {
206
+ type: "submit",
207
+ name: "intent",
208
+ value: "save",
209
+ variant: "contained",
210
+ children: "Save"
211
+ }),
212
+ !o && /* @__PURE__ */ x(T, {
213
+ type: "button",
214
+ color: "error",
215
+ variant: "outlined",
216
+ onClick: () => {
217
+ e.id !== void 0 && window.confirm(`Delete message target config "${e.messageType ?? e.id} => ${e.targetSystem ?? e.id}"?`) && a({
218
+ intent: "delete",
219
+ id: e.id
220
+ }, { method: "POST" });
221
+ },
222
+ children: "Delete"
223
+ }),
224
+ /* @__PURE__ */ x(T, {
225
+ type: "button",
226
+ variant: "outlined",
227
+ onClick: () => r("/message-targets"),
228
+ children: "Cancel"
229
+ })
230
+ ]
231
+ })
232
+ ]
233
+ })
234
+ }),
235
+ !o && /* @__PURE__ */ x(q, { history: t })
236
+ ]
237
+ })]
238
+ });
239
+ }, Y = (e) => e ? Object.entries(e).map(([e, t]) => `${e}: ${t}`).join(", ") : "", X = () => {
240
+ let e = _(), t = g();
241
+ return /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(w, {
242
+ sx: { p: 1 },
243
+ children: /* @__PURE__ */ x(T, {
244
+ variant: "contained",
245
+ onClick: () => e("./new", { relative: "path" }),
246
+ children: "New message target config"
247
+ })
248
+ }), /* @__PURE__ */ x(F, {
249
+ sx: { height: "calc(100vh - 140px)" },
250
+ children: /* @__PURE__ */ S(M, {
251
+ size: "small",
252
+ stickyHeader: !0,
253
+ children: [/* @__PURE__ */ x(I, { children: /* @__PURE__ */ S(L, { children: [
254
+ /* @__PURE__ */ x(P, { children: "ID" }),
255
+ /* @__PURE__ */ x(P, { children: "State" }),
256
+ /* @__PURE__ */ x(P, { children: "Message type" }),
257
+ /* @__PURE__ */ x(P, { children: "Target system" }),
258
+ /* @__PURE__ */ x(P, { children: "URI" }),
259
+ /* @__PURE__ */ x(P, { children: "Retry" }),
260
+ /* @__PURE__ */ x(P, { children: "Max concurrency" }),
261
+ /* @__PURE__ */ x(P, { children: "Properties" }),
262
+ /* @__PURE__ */ x(P, { children: "Last modified" })
263
+ ] }) }), /* @__PURE__ */ x(N, { children: t.map(({ target: t, history: n }) => {
264
+ let r = t?.id;
265
+ return /* @__PURE__ */ S(L, {
266
+ hover: !0,
267
+ sx: { cursor: r === void 0 ? "default" : "pointer" },
268
+ onClick: () => {
269
+ r !== void 0 && e(`./${r}`, { relative: "path" });
270
+ },
271
+ children: [
272
+ /* @__PURE__ */ x(P, { children: r }),
273
+ /* @__PURE__ */ x(P, { children: t?.state }),
274
+ /* @__PURE__ */ x(P, { children: t?.messageType }),
275
+ /* @__PURE__ */ x(P, { children: t?.targetSystem }),
276
+ /* @__PURE__ */ x(P, { children: t?.uri }),
277
+ /* @__PURE__ */ S(P, { children: [
278
+ t?.retryLimit ?? "unlimited",
279
+ " / ",
280
+ t?.retryDelayMs ?? "",
281
+ " ms"
282
+ ] }),
283
+ /* @__PURE__ */ x(P, { children: t?.maxConcurrency ?? "unlimited" }),
284
+ /* @__PURE__ */ x(P, { children: Y(t?.properties) }),
285
+ /* @__PURE__ */ x(P, { children: n?.[0]?.modTimestamp })
286
+ ]
287
+ }, r ?? `${t?.messageType}-${t?.targetSystem}`);
288
+ }) })]
289
+ })
290
+ })] });
291
+ }, Z = t({
292
+ state: u("State", B),
293
+ filters: l,
294
+ messageType: a("Message type"),
295
+ targetSystem: a("Target system"),
296
+ throttling: l,
297
+ uri: a("URI"),
298
+ retryLimit: s("Retry limit"),
299
+ retryDelayMs: n("Retry delay"),
300
+ maxConcurrency: s("Max concurrency"),
301
+ modUser: e().trim().optional().default(""),
302
+ modComment: e().trim().optional().default(""),
303
+ properties: d("Properties")
304
+ }).superRefine((e, t) => {
305
+ e.maxConcurrency !== void 0 && e.maxConcurrency < 1 && t.addIssue({
306
+ code: "custom",
307
+ path: ["maxConcurrency"],
308
+ message: "Max concurrency must be at least 1 or blank"
309
+ });
310
+ }), Q = (e) => r(e, Z, "Message target config form is invalid"), te = (e) => async ({ request: t }) => {
311
+ try {
312
+ let n = await t.formData();
313
+ switch (i(n, "intent")) {
314
+ case "save": {
315
+ let t = o(n, "id", "Message target config ID");
316
+ if (!t.ok) return {
317
+ status: 400,
318
+ message: "Missing or invalid message target config ID"
319
+ };
320
+ let r = Q(n);
321
+ if (!r.ok) return {
322
+ status: 400,
323
+ message: r.message
324
+ };
325
+ let i = t.value === void 0 ? await U(r.value, e) : await W(t.value, r.value, e);
326
+ if (i === 201 || i === 204) throw m("/message-targets");
327
+ return {
328
+ status: i,
329
+ message: "Failed to save message target config"
330
+ };
331
+ }
332
+ case "delete": {
333
+ let t = c(n, "id", "Message target config ID");
334
+ if (!t.ok) return {
335
+ status: 400,
336
+ message: t.message
337
+ };
338
+ let r = await G(t.value, e);
339
+ if (r === 200 || r === 204) throw m("/message-targets");
340
+ return {
341
+ status: r,
342
+ message: "Failed to delete message target config"
343
+ };
344
+ }
345
+ default: return {
346
+ status: 400,
347
+ message: "Invalid action type"
348
+ };
349
+ }
350
+ } catch (e) {
351
+ if (e instanceof Response && e.status >= 300 && e.status < 400) throw e;
352
+ return console.error(e), {
353
+ status: 500,
354
+ message: e instanceof Error ? e.message : "Failed to process message target request"
355
+ };
356
+ }
357
+ }, $ = () => ({
358
+ state: "ENABLED",
359
+ filters: "",
360
+ messageType: "",
361
+ targetSystem: "",
362
+ throttling: "",
363
+ uri: "",
364
+ retryLimit: void 0,
365
+ retryDelayMs: 0,
366
+ maxConcurrency: void 0,
367
+ properties: {}
368
+ }), ne = (e) => async () => {
369
+ try {
370
+ return await V(e);
371
+ } catch (e) {
372
+ throw console.error(e), Error("Failed to fetch message target configs");
373
+ }
374
+ }, re = (e, t) => {
375
+ let n = t.find(({ target: t }) => t?.id === e);
376
+ if (n?.target) return {
377
+ target: n.target,
378
+ history: n.history ?? []
379
+ };
380
+ }, ie = (e) => async ({ params: t }) => {
381
+ try {
382
+ if (t.id === "new") return {
383
+ target: $(),
384
+ history: []
385
+ };
386
+ if (!t.id) throw new Response("", {
387
+ status: 404,
388
+ statusText: "Not found"
389
+ });
390
+ let n = parseInt(t.id, 10);
391
+ if (isNaN(n)) throw new Response("", {
392
+ status: 404,
393
+ statusText: "Not found"
394
+ });
395
+ return re(n, await V(e)) || {
396
+ target: await H(n, e),
397
+ history: []
398
+ };
399
+ } catch (e) {
400
+ throw console.error(e), e;
401
+ }
402
+ };
403
+ //#endregion
404
+ export { X as a, G as c, W as d, te as i, H as l, ie as n, J as o, ne as r, U as s, $ as t, V as u };
405
+
406
+ //# sourceMappingURL=message-targets-8EppIJde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-targets-8EppIJde.js","names":[],"sources":["../src/routes/message-targets/api.ts","../src/routes/message-targets/MessageTargetFormRoute.tsx","../src/routes/message-targets/MessageTargetsRoute.tsx","../src/routes/message-targets/action.ts","../src/routes/message-targets/loader.ts"],"sourcesContent":["import type { ApiClient } from \"../../client\";\nimport { exhaustiveStringValues } from \"../../common/exhaustiveValues\";\nimport type { components } from \"../../types/openapiTypes\";\n\nexport type MessageTargetConfig = components[\"schemas\"][\"MessageTargetConfig\"];\nexport type MessageTargetConfigRequestModel =\n components[\"schemas\"][\"MessageTargetConfigRequestModel\"];\nexport type MessageTargetConfigHistory = components[\"schemas\"][\"MessageTargetConfigHistory\"];\nexport type MessageTargetWithHistory = components[\"schemas\"][\"TargetWithHistory\"];\n\nexport const messageTargetStates = exhaustiveStringValues<\n MessageTargetConfigRequestModel[\"state\"]\n>()([\"ENABLED\", \"LOG_ONLY\", \"PAUSED\", \"DISABLED\"]);\n\nexport const fetchMessageTargets = async (\n client: ApiClient,\n): Promise<MessageTargetWithHistory[]> => {\n const result = await client.GET(\"/message-target\");\n\n if (\"error\" in result) {\n throw new Error(`Failed to fetch message target configs: ${result.response?.status}`);\n }\n\n return result.data;\n};\n\nexport const fetchMessageTargetById = async (\n id: number,\n client: ApiClient,\n): Promise<MessageTargetConfig> => {\n const result = await client.GET(\"/message-target/{id}\", {\n params: {\n path: { id },\n },\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to fetch message target config: ${result.response.status}`);\n }\n\n return result.data;\n};\n\nexport const createMessageTarget = async (\n messageTarget: MessageTargetConfigRequestModel,\n client: ApiClient,\n) => {\n const result = await client.POST(\"/message-target\", {\n body: messageTarget,\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to create message target config: ${result.response.status}`);\n }\n\n return result.response.status;\n};\n\nexport const updateMessageTarget = async (\n id: number,\n messageTarget: MessageTargetConfigRequestModel,\n client: ApiClient,\n) => {\n const result = await client.POST(\"/message-target/{id}\", {\n params: {\n path: { id },\n },\n body: messageTarget,\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to update message target config: ${result.response.status}`);\n }\n\n return result.response.status;\n};\n\nexport const deleteMessageTarget = async (id: number, client: ApiClient) => {\n const result = await client.POST(\"/message-target/{id}/remove\", {\n params: {\n path: { id },\n },\n });\n\n if (\"error\" in result) {\n throw new Error(`Failed to delete message target config: ${result.response.status}`);\n }\n\n return result.response.status;\n};\n","import {\n Form,\n useActionData,\n useLoaderData,\n useNavigate,\n useParams,\n useSubmit,\n} from \"react-router\";\nimport {\n Alert,\n Box,\n Button,\n Collapse,\n FormControl,\n InputLabel,\n MenuItem,\n Paper,\n Select,\n Stack,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport type { MessageTargetFormAction } from \"./action\";\nimport type { MessageTargetConfigHistory } from \"./api\";\nimport { messageTargetStates } from \"./api\";\nimport type { MessageTargetFormLoader } from \"./loader\";\n\nconst formatProperties = (properties?: Record<string, string>): string =>\n JSON.stringify(properties ?? {}, null, 2);\n\nconst HistoryTable = ({ history }: { history: MessageTargetConfigHistory[] }) => {\n if (!history.length) {\n return null;\n }\n\n return (\n <Box sx={{ mt: 3 }}>\n <Typography variant=\"h5\" component=\"h2\" sx={{ mb: 1 }}>\n History\n </Typography>\n <Table size=\"small\">\n <TableHead>\n <TableRow>\n <TableCell>Modified</TableCell>\n <TableCell>User</TableCell>\n <TableCell>Comment</TableCell>\n <TableCell>State</TableCell>\n <TableCell>URI</TableCell>\n <TableCell>Retry</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {history.map((entry, index) => (\n <TableRow key={`${entry.modTimestamp ?? \"history\"}-${index}`}>\n <TableCell>{entry.modTimestamp}</TableCell>\n <TableCell>{entry.modUser}</TableCell>\n <TableCell>{entry.modComment}</TableCell>\n <TableCell>{entry.state}</TableCell>\n <TableCell>{entry.uri}</TableCell>\n <TableCell>\n {entry.retryLimit ?? \"unlimited\"} / {entry.retryDelayMs ?? \"\"} ms\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </Box>\n );\n};\n\nconst MessageTargetFormRoute = () => {\n const { target, history } = useLoaderData<MessageTargetFormLoader>();\n const actionData = useActionData<MessageTargetFormAction>();\n const navigate = useNavigate();\n const params = useParams();\n const submit = useSubmit();\n const isNew = params.id === \"new\";\n\n const handleDelete = () => {\n if (target.id === undefined) {\n return;\n }\n\n const confirmed = window.confirm(\n `Delete message target config \"${target.messageType ?? target.id} => ${\n target.targetSystem ?? target.id\n }\"?`,\n );\n\n if (!confirmed) {\n return;\n }\n\n submit(\n { intent: \"delete\", id: target.id },\n {\n method: \"POST\",\n },\n );\n };\n\n return (\n <Box component=\"section\" sx={{ p: 2, maxWidth: 1100 }}>\n <Collapse in={actionData !== undefined} unmountOnExit>\n <Alert severity={actionData && actionData.status < 300 ? \"success\" : \"error\"}>\n {actionData?.message}\n </Alert>\n </Collapse>\n <Paper sx={{ p: 2, mt: 2 }}>\n <Typography variant=\"h4\" component=\"h1\" sx={{ mb: 2 }}>\n {isNew ? \"New message target config\" : \"Edit message target config\"}\n </Typography>\n <Form method=\"post\">\n <Stack gap={2}>\n {!isNew && <input type=\"hidden\" name=\"id\" value={target.id ?? \"\"} />}\n <FormControl required>\n <InputLabel id=\"message-target-state-label\">State</InputLabel>\n <Select\n labelId=\"message-target-state-label\"\n name=\"state\"\n label=\"State\"\n defaultValue={target.state ?? \"ENABLED\"}\n >\n {messageTargetStates.map((state) => (\n <MenuItem key={state} value={state}>\n {state}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n <TextField\n name=\"messageType\"\n label=\"Message type\"\n required\n defaultValue={target.messageType ?? \"\"}\n />\n <TextField\n name=\"targetSystem\"\n label=\"Target system\"\n required\n defaultValue={target.targetSystem ?? \"\"}\n />\n <TextField name=\"uri\" label=\"URI\" required defaultValue={target.uri ?? \"\"} />\n <TextField\n name=\"retryDelayMs\"\n label=\"Retry delay, ms\"\n type=\"number\"\n required\n defaultValue={target.retryDelayMs ?? 0}\n inputProps={{\n min: 0,\n step: 1,\n }}\n />\n <TextField\n name=\"retryLimit\"\n label=\"Retry limit\"\n type=\"number\"\n defaultValue={target.retryLimit ?? \"\"}\n helperText=\"Blank means unlimited.\"\n inputProps={{\n min: 0,\n step: 1,\n }}\n />\n <TextField\n name=\"maxConcurrency\"\n label=\"Max concurrency\"\n type=\"number\"\n defaultValue={target.maxConcurrency ?? \"\"}\n helperText=\"Blank means unlimited. Values must be at least 1.\"\n inputProps={{\n min: 1,\n step: 1,\n }}\n />\n <TextField\n name=\"filters\"\n label=\"Filters\"\n multiline\n minRows={2}\n defaultValue={target.filters ?? \"\"}\n helperText=\"Comma-separated filters, for example messageType=ORDER_CREATED,targetSystem!=legacy.\"\n />\n <TextField\n name=\"throttling\"\n label=\"Throttling\"\n defaultValue={target.throttling ?? \"\"}\n />\n <TextField\n name=\"properties\"\n label=\"Properties\"\n multiline\n minRows={6}\n defaultValue={formatProperties(target.properties)}\n helperText=\"JSON object. Values are saved as strings.\"\n />\n <TextField name=\"modUser\" label=\"Modified by\" />\n <TextField name=\"modComment\" label=\"Change comment\" multiline minRows={2} />\n <Stack direction=\"row\" gap={1}>\n <Button type=\"submit\" name=\"intent\" value=\"save\" variant=\"contained\">\n Save\n </Button>\n {!isNew && (\n <Button type=\"button\" color=\"error\" variant=\"outlined\" onClick={handleDelete}>\n Delete\n </Button>\n )}\n <Button type=\"button\" variant=\"outlined\" onClick={() => navigate(\"/message-targets\")}>\n Cancel\n </Button>\n </Stack>\n </Stack>\n </Form>\n {!isNew && <HistoryTable history={history} />}\n </Paper>\n </Box>\n );\n};\n\nexport default MessageTargetFormRoute;\n","import {\n Box,\n Button,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n} from \"@mui/material\";\nimport { useLoaderData, useNavigate } from \"react-router\";\nimport type { MessageTargetsLoader } from \"./loader\";\n\nconst formatProperties = (properties?: Record<string, string>): string => {\n if (!properties) {\n return \"\";\n }\n\n return Object.entries(properties)\n .map(([key, value]) => `${key}: ${value}`)\n .join(\", \");\n};\n\nconst MessageTargetsRoute = () => {\n const navigate = useNavigate();\n const messageTargets = useLoaderData<MessageTargetsLoader>();\n\n return (\n <>\n <Box sx={{ p: 1 }}>\n <Button variant=\"contained\" onClick={() => navigate(\"./new\", { relative: \"path\" })}>\n New message target config\n </Button>\n </Box>\n <TableContainer sx={{ height: \"calc(100vh - 140px)\" }}>\n <Table size=\"small\" stickyHeader>\n <TableHead>\n <TableRow>\n <TableCell>ID</TableCell>\n <TableCell>State</TableCell>\n <TableCell>Message type</TableCell>\n <TableCell>Target system</TableCell>\n <TableCell>URI</TableCell>\n <TableCell>Retry</TableCell>\n <TableCell>Max concurrency</TableCell>\n <TableCell>Properties</TableCell>\n <TableCell>Last modified</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {messageTargets.map(({ target, history }) => {\n const targetId = target?.id;\n\n return (\n <TableRow\n key={targetId ?? `${target?.messageType}-${target?.targetSystem}`}\n hover\n sx={{ cursor: targetId !== undefined ? \"pointer\" : \"default\" }}\n onClick={() => {\n if (targetId !== undefined) {\n navigate(`./${targetId}`, { relative: \"path\" });\n }\n }}\n >\n <TableCell>{targetId}</TableCell>\n <TableCell>{target?.state}</TableCell>\n <TableCell>{target?.messageType}</TableCell>\n <TableCell>{target?.targetSystem}</TableCell>\n <TableCell>{target?.uri}</TableCell>\n <TableCell>\n {target?.retryLimit ?? \"unlimited\"} / {target?.retryDelayMs ?? \"\"} ms\n </TableCell>\n <TableCell>{target?.maxConcurrency ?? \"unlimited\"}</TableCell>\n <TableCell>{formatProperties(target?.properties)}</TableCell>\n <TableCell>{history?.[0]?.modTimestamp}</TableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n </>\n );\n};\n\nexport default MessageTargetsRoute;\n","import { redirect, type ActionFunctionArgs } from \"react-router\";\nimport { z } from \"zod\";\nimport type { ApiClient } from \"../../client\";\nimport {\n type FormDataParseResult,\n enumFormSchema,\n getOptionalIntFormValue,\n getStringFormValue,\n integerFormSchema,\n optionalIntegerFormSchema,\n optionalStringFormSchema,\n parseFormDataWithSchema,\n requiredStringFormSchema,\n stringRecordJsonFormSchema,\n getRequiredIntFormValue,\n} from \"../../common/formData\";\nimport type { MessageTargetConfigRequestModel } from \"./api\";\nimport {\n createMessageTarget,\n deleteMessageTarget,\n messageTargetStates,\n updateMessageTarget,\n} from \"./api\";\n\nexport type MessageTargetActionResult = {\n status: number;\n message: string;\n};\n\nconst messageTargetFormSchema = z\n .object({\n state: enumFormSchema(\"State\", messageTargetStates),\n filters: optionalStringFormSchema,\n messageType: requiredStringFormSchema(\"Message type\"),\n targetSystem: requiredStringFormSchema(\"Target system\"),\n throttling: optionalStringFormSchema,\n uri: requiredStringFormSchema(\"URI\"),\n retryLimit: optionalIntegerFormSchema(\"Retry limit\"),\n retryDelayMs: integerFormSchema(\"Retry delay\"),\n maxConcurrency: optionalIntegerFormSchema(\"Max concurrency\"),\n modUser: z.string().trim().optional().default(\"\"),\n modComment: z.string().trim().optional().default(\"\"),\n properties: stringRecordJsonFormSchema(\"Properties\"),\n })\n .superRefine((value, context) => {\n if (value.maxConcurrency !== undefined && value.maxConcurrency < 1) {\n context.addIssue({\n code: \"custom\",\n path: [\"maxConcurrency\"],\n message: \"Max concurrency must be at least 1 or blank\",\n });\n }\n });\n\nconst parseMessageTargetFormData = (\n formData: FormData,\n): FormDataParseResult<MessageTargetConfigRequestModel> =>\n parseFormDataWithSchema(\n formData,\n messageTargetFormSchema,\n \"Message target config form is invalid\",\n );\n\nexport const getMessageTargetAction =\n (client: ApiClient) =>\n async ({ request }: ActionFunctionArgs): Promise<MessageTargetActionResult> => {\n try {\n const formData = await request.formData();\n const intent = getStringFormValue(formData, \"intent\");\n\n switch (intent) {\n case \"save\": {\n const id = getOptionalIntFormValue(formData, \"id\", \"Message target config ID\");\n\n if (!id.ok) {\n return { status: 400, message: \"Missing or invalid message target config ID\" };\n }\n\n const messageTargetResult = parseMessageTargetFormData(formData);\n\n if (!messageTargetResult.ok) {\n return { status: 400, message: messageTargetResult.message };\n }\n\n const status =\n id.value === undefined\n ? await createMessageTarget(messageTargetResult.value, client)\n : await updateMessageTarget(id.value, messageTargetResult.value, client);\n\n if (status === 201 || status === 204) {\n throw redirect(\"/message-targets\");\n }\n\n return { status, message: \"Failed to save message target config\" };\n }\n\n case \"delete\": {\n const idResult = getRequiredIntFormValue(formData, \"id\", \"Message target config ID\");\n\n if (!idResult.ok) {\n return { status: 400, message: idResult.message };\n }\n\n const status = await deleteMessageTarget(idResult.value, client);\n\n if (status === 200 || status === 204) {\n throw redirect(\"/message-targets\");\n }\n\n return { status, message: \"Failed to delete message target config\" };\n }\n\n default:\n return { status: 400, message: \"Invalid action type\" };\n }\n } catch (error) {\n if (error instanceof Response && error.status >= 300 && error.status < 400) {\n throw error;\n }\n\n console.error(error);\n return {\n status: 500,\n message:\n error instanceof Error ? error.message : \"Failed to process message target request\",\n };\n }\n };\n\nexport type MessageTargetFormAction = ReturnType<typeof getMessageTargetAction>;\n","import type { LoaderFunctionArgs } from \"react-router\";\nimport type { ApiClient } from \"../../client\";\nimport type {\n MessageTargetConfig,\n MessageTargetConfigHistory,\n MessageTargetWithHistory,\n} from \"./api\";\nimport { fetchMessageTargetById, fetchMessageTargets } from \"./api\";\n\nexport type MessageTargetFormLoaderData = {\n target: MessageTargetConfig;\n history: MessageTargetConfigHistory[];\n};\n\nexport const getInitialMessageTarget = (): MessageTargetConfig => ({\n state: \"ENABLED\",\n filters: \"\",\n messageType: \"\",\n targetSystem: \"\",\n throttling: \"\",\n uri: \"\",\n retryLimit: undefined,\n retryDelayMs: 0,\n maxConcurrency: undefined,\n properties: {},\n});\n\nexport const getMessageTargetsLoader = (client: ApiClient) => async () => {\n try {\n return await fetchMessageTargets(client);\n } catch (error) {\n console.error(error);\n throw new Error(\"Failed to fetch message target configs\");\n }\n};\n\nexport type MessageTargetsLoader = ReturnType<typeof getMessageTargetsLoader>;\n\nconst findMessageTargetWithHistory = (\n id: number,\n targets: MessageTargetWithHistory[],\n): MessageTargetFormLoaderData | undefined => {\n const targetWithHistory = targets.find(({ target }) => target?.id === id);\n\n if (!targetWithHistory?.target) {\n return undefined;\n }\n\n return {\n target: targetWithHistory.target,\n history: targetWithHistory.history ?? [],\n };\n};\n\nexport const getMessageTargetFormLoader =\n (client: ApiClient) =>\n async ({ params }: LoaderFunctionArgs): Promise<MessageTargetFormLoaderData> => {\n try {\n if (params.id === \"new\") {\n return {\n target: getInitialMessageTarget(),\n history: [],\n };\n }\n\n if (!params.id) {\n throw new Response(\"\", {\n status: 404,\n statusText: \"Not found\",\n });\n }\n\n const id = parseInt(params.id, 10);\n\n if (isNaN(id)) {\n throw new Response(\"\", {\n status: 404,\n statusText: \"Not found\",\n });\n }\n\n const targets = await fetchMessageTargets(client);\n const targetWithHistory = findMessageTargetWithHistory(id, targets);\n\n if (targetWithHistory) {\n return targetWithHistory;\n }\n\n return {\n target: await fetchMessageTargetById(id, client),\n history: [],\n };\n } catch (error) {\n console.error(error);\n throw error;\n }\n };\n\nexport type MessageTargetFormLoader = ReturnType<typeof getMessageTargetFormLoader>;\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ //#region src/common/pagination.ts
2
+ var e = {
3
+ page: 0,
4
+ size: 100
5
+ }, t = (e, t) => {
6
+ let n = e.get(t);
7
+ if (n === null) return;
8
+ let r = Number.parseInt(n, 10);
9
+ return Number.isNaN(r) ? void 0 : r;
10
+ }, n = (n, r = e) => ({
11
+ page: t(n, "page") ?? r.page,
12
+ size: t(n, "size") ?? r.size
13
+ }), r = (t, n, r = e) => {
14
+ let i = new URLSearchParams(t);
15
+ return n.page !== void 0 && (n.page === r.page ? i.delete("page") : i.set("page", n.page.toString())), n.size !== void 0 && (n.size === r.size ? i.delete("size") : i.set("size", n.size.toString())), i;
16
+ }, i = (t, n, i = e) => r(t, { page: n }, i);
17
+ //#endregion
18
+ export { i as n, n as t };
19
+
20
+ //# sourceMappingURL=pagination-C4QUYRMf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination-C4QUYRMf.js","names":[],"sources":["../src/common/pagination.ts"],"sourcesContent":["export type PagingValues = {\n page: number;\n size?: number;\n};\n\nconst defaultPagingValues = {\n page: 0,\n size: 100,\n} satisfies PagingValues;\n\nconst parsePagingParam = (searchParams: URLSearchParams, key: string): number | undefined => {\n const value = searchParams.get(key);\n\n if (value === null) {\n return undefined;\n }\n\n const parsed = Number.parseInt(value, 10);\n return Number.isNaN(parsed) ? undefined : parsed;\n};\n\nexport const getPagingValuesFromSearchParams = (\n searchParams: URLSearchParams,\n defaults: PagingValues = defaultPagingValues,\n): PagingValues => ({\n page: parsePagingParam(searchParams, \"page\") ?? defaults.page,\n size: parsePagingParam(searchParams, \"size\") ?? defaults.size,\n});\n\nexport const getSearchParamsWithPagingValues = (\n currentSearchParams: URLSearchParams,\n pagingValues: Partial<PagingValues>,\n defaults: PagingValues = defaultPagingValues,\n): URLSearchParams => {\n const searchParams = new URLSearchParams(currentSearchParams);\n\n if (pagingValues.page !== undefined) {\n if (pagingValues.page === defaults.page) {\n searchParams.delete(\"page\");\n } else {\n searchParams.set(\"page\", pagingValues.page.toString());\n }\n }\n\n if (pagingValues.size !== undefined) {\n if (pagingValues.size === defaults.size) {\n searchParams.delete(\"size\");\n } else {\n searchParams.set(\"size\", pagingValues.size.toString());\n }\n }\n\n return searchParams;\n};\n\nexport const getSearchParamsWithPage = (\n currentSearchParams: URLSearchParams,\n page: number,\n defaults: PagingValues = defaultPagingValues,\n): URLSearchParams => getSearchParamsWithPagingValues(currentSearchParams, { page }, defaults);\n\nexport const getSearchParamsFromPagingValues = (\n pagingValues: Partial<PagingValues>,\n defaults: PagingValues = defaultPagingValues,\n): URLSearchParams => getSearchParamsWithPagingValues(new URLSearchParams(), pagingValues, defaults);\n"],"mappings":";AAKA,IAAM,IAAsB;CAC1B,MAAM;CACN,MAAM;AACR,GAEM,KAAoB,GAA+B,MAAoC;CAC3F,IAAM,IAAQ,EAAa,IAAI,CAAG;CAElC,IAAI,MAAU,MACZ;CAGF,IAAM,IAAS,OAAO,SAAS,GAAO,EAAE;CACxC,OAAO,OAAO,MAAM,CAAM,IAAI,KAAA,IAAY;AAC5C,GAEa,KACX,GACA,IAAyB,OACP;CAClB,MAAM,EAAiB,GAAc,MAAM,KAAK,EAAS;CACzD,MAAM,EAAiB,GAAc,MAAM,KAAK,EAAS;AAC3D,IAEa,KACX,GACA,GACA,IAAyB,MACL;CACpB,IAAM,IAAe,IAAI,gBAAgB,CAAmB;CAkB5D,OAhBI,EAAa,SAAS,KAAA,MACpB,EAAa,SAAS,EAAS,OACjC,EAAa,OAAO,MAAM,IAE1B,EAAa,IAAI,QAAQ,EAAa,KAAK,SAAS,CAAC,IAIrD,EAAa,SAAS,KAAA,MACpB,EAAa,SAAS,EAAS,OACjC,EAAa,OAAO,MAAM,IAE1B,EAAa,IAAI,QAAQ,EAAa,KAAK,SAAS,CAAC,IAIlD;AACT,GAEa,KACX,GACA,GACA,IAAyB,MACL,EAAgC,GAAqB,EAAE,QAAK,GAAG,CAAQ"}
@@ -1,14 +1,2 @@
1
- import { S as a, h as d, g as o, a as c, c as t, d as k, s as l, b as u, e as T, f as h } from "../ScheduledTasksRoute-CNhOAAKd.js";
2
- export {
3
- a as ScheduledTaskFormRoute,
4
- d as ScheduledTasksRoute,
5
- o as getScheduledTaskFormAction,
6
- c as getScheduledTasksAction,
7
- t as getScheduledTasksLoader,
8
- k as getSingleTaskLoader,
9
- l as scheduledTaskFormAction,
10
- u as scheduledTasksAction,
11
- T as scheduledTasksLoader,
12
- h as singleTaskLoader
13
- };
14
- //# sourceMappingURL=index.js.map
1
+ import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "../scheduled-tasks-BtBnBrE7.js";
2
+ export { o as ScheduledTaskFormRoute, u as ScheduledTasksRoute, l as deleteScheduledTask, t as fetchScheduledTaskById, a as fetchScheduledTasks, e as getScheduledTaskFormAction, s as getScheduledTasksAction, c as getScheduledTasksLoader, i as getSingleTaskLoader, d as runScheduledTask, n as saveScheduledTask, r as updateScheduledTaskState };