@cobaltcore-dev/aurora 2.1.0 → 2.2.0

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 (171) hide show
  1. package/README.md +31 -25
  2. package/dist/client/AuroraApp.d.ts +9 -2
  3. package/dist/client/context/AppConfigContext.d.ts +44 -0
  4. package/dist/client/index.d.ts +2 -0
  5. package/dist/client/index.js +41221 -844
  6. package/dist/client/index.js.map +1 -1
  7. package/dist/client/trpcClient.d.ts +314 -1
  8. package/dist/client/utils/appConfigGating.d.ts +21 -0
  9. package/dist/server/index.d.ts +694 -4
  10. package/dist/server/index.js +2521 -1243
  11. package/package.json +2 -2
  12. package/dist/client/AuthProvider-CVSAwW9f.mjs +0 -83
  13. package/dist/client/AuthProvider-CVSAwW9f.mjs.map +0 -1
  14. package/dist/client/ContentHeader-fKKZVu-o.mjs +0 -116
  15. package/dist/client/ContentHeader-fKKZVu-o.mjs.map +0 -1
  16. package/dist/client/DeleteFlavorModal-Be2GFiB_.mjs +0 -802
  17. package/dist/client/DeleteFlavorModal-Be2GFiB_.mjs.map +0 -1
  18. package/dist/client/DynamicBreadcrumbContext-CVcUQFou.mjs +0 -26
  19. package/dist/client/DynamicBreadcrumbContext-CVcUQFou.mjs.map +0 -1
  20. package/dist/client/FiltersInput-Becwxo_J.mjs +0 -85
  21. package/dist/client/FiltersInput-Becwxo_J.mjs.map +0 -1
  22. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs +0 -466
  23. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs.map +0 -1
  24. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs +0 -1135
  25. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs.map +0 -1
  26. package/dist/client/RouteIdLevelDefaultError-DPF_x2tG.mjs +0 -26
  27. package/dist/client/RouteIdLevelDefaultError-DPF_x2tG.mjs.map +0 -1
  28. package/dist/client/Slot-CWb612-_.mjs +0 -28
  29. package/dist/client/Slot-CWb612-_.mjs.map +0 -1
  30. package/dist/client/SortInput-4g7nSTHW.mjs +0 -34
  31. package/dist/client/SortInput-4g7nSTHW.mjs.map +0 -1
  32. package/dist/client/StorageNotFound-B-zVinVD.mjs +0 -30
  33. package/dist/client/StorageNotFound-B-zVinVD.mjs.map +0 -1
  34. package/dist/client/TwoColumnDescriptionList-DKS42RKa.mjs +0 -28
  35. package/dist/client/TwoColumnDescriptionList-DKS42RKa.mjs.map +0 -1
  36. package/dist/client/_-CAsCx-Ay.mjs +0 -6
  37. package/dist/client/_-CAsCx-Ay.mjs.map +0 -1
  38. package/dist/client/_auth-SrDjHL6j.mjs +0 -12
  39. package/dist/client/_auth-SrDjHL6j.mjs.map +0 -1
  40. package/dist/client/_flavorId-0PioWpEp.mjs +0 -276
  41. package/dist/client/_flavorId-0PioWpEp.mjs.map +0 -1
  42. package/dist/client/_flavorId-B7fp6Nk8.mjs +0 -22
  43. package/dist/client/_flavorId-B7fp6Nk8.mjs.map +0 -1
  44. package/dist/client/_flavorId-CgueqKTs.mjs +0 -27
  45. package/dist/client/_flavorId-CgueqKTs.mjs.map +0 -1
  46. package/dist/client/_floatingIpId-B8r64AL9.mjs +0 -196
  47. package/dist/client/_floatingIpId-B8r64AL9.mjs.map +0 -1
  48. package/dist/client/_floatingIpId-lEobpOER.mjs +0 -26
  49. package/dist/client/_floatingIpId-lEobpOER.mjs.map +0 -1
  50. package/dist/client/_imageId-Ccv8PedW.mjs +0 -40
  51. package/dist/client/_imageId-Ccv8PedW.mjs.map +0 -1
  52. package/dist/client/_imageId-CiqEQB_J.mjs +0 -558
  53. package/dist/client/_imageId-CiqEQB_J.mjs.map +0 -1
  54. package/dist/client/_imageId-D9LR-02T.mjs +0 -22
  55. package/dist/client/_imageId-D9LR-02T.mjs.map +0 -1
  56. package/dist/client/_projectId-BDARsteX.mjs +0 -77
  57. package/dist/client/_projectId-BDARsteX.mjs.map +0 -1
  58. package/dist/client/_projectId-CtyAHqhH.mjs +0 -30
  59. package/dist/client/_projectId-CtyAHqhH.mjs.map +0 -1
  60. package/dist/client/_projectId-D3VOH5lN.mjs +0 -94
  61. package/dist/client/_projectId-D3VOH5lN.mjs.map +0 -1
  62. package/dist/client/_projectId-ZBk6vka0.mjs +0 -283
  63. package/dist/client/_projectId-ZBk6vka0.mjs.map +0 -1
  64. package/dist/client/_securityGroupId-BwgZnoiR.mjs +0 -29
  65. package/dist/client/_securityGroupId-BwgZnoiR.mjs.map +0 -1
  66. package/dist/client/_securityGroupId-Cz2NUHdB.mjs +0 -1819
  67. package/dist/client/_securityGroupId-Cz2NUHdB.mjs.map +0 -1
  68. package/dist/client/_serviceType-DS8DxsrP.mjs +0 -20
  69. package/dist/client/_serviceType-DS8DxsrP.mjs.map +0 -1
  70. package/dist/client/_serviceType-M8d9rOT6.mjs +0 -6
  71. package/dist/client/_serviceType-M8d9rOT6.mjs.map +0 -1
  72. package/dist/client/_storageType-BNpP1A2N.mjs +0 -13
  73. package/dist/client/_storageType-BNpP1A2N.mjs.map +0 -1
  74. package/dist/client/_storageType-BxSGKhAI.mjs +0 -15
  75. package/dist/client/_storageType-BxSGKhAI.mjs.map +0 -1
  76. package/dist/client/_storageType-DZYCmiLt.mjs +0 -30
  77. package/dist/client/_storageType-DZYCmiLt.mjs.map +0 -1
  78. package/dist/client/_storageType-UqAMP-8d.mjs +0 -859
  79. package/dist/client/_storageType-UqAMP-8d.mjs.map +0 -1
  80. package/dist/client/_storageType-u51_7OwJ.mjs +0 -7
  81. package/dist/client/_storageType-u51_7OwJ.mjs.map +0 -1
  82. package/dist/client/about-BmQTyLWc.mjs +0 -92
  83. package/dist/client/about-BmQTyLWc.mjs.map +0 -1
  84. package/dist/client/assets/__mocks__/svgMock.d.ts +0 -3
  85. package/dist/client/aurora-CIml-f2f.mjs +0 -19
  86. package/dist/client/aurora-CIml-f2f.mjs.map +0 -1
  87. package/dist/client/build-WuxXRAqf.mjs +0 -14530
  88. package/dist/client/build-WuxXRAqf.mjs.map +0 -1
  89. package/dist/client/cn-DM4Cy3jv.mjs +0 -10
  90. package/dist/client/cn-DM4Cy3jv.mjs.map +0 -1
  91. package/dist/client/flavors-Ce3J-cFa.mjs +0 -15
  92. package/dist/client/flavors-Ce3J-cFa.mjs.map +0 -1
  93. package/dist/client/flavors-D5ThLaXO.mjs +0 -666
  94. package/dist/client/flavors-D5ThLaXO.mjs.map +0 -1
  95. package/dist/client/flavors-DWMZ6TuJ.mjs +0 -8
  96. package/dist/client/flavors-DWMZ6TuJ.mjs.map +0 -1
  97. package/dist/client/floatingips-Cz9k80cc.mjs +0 -8
  98. package/dist/client/floatingips-Cz9k80cc.mjs.map +0 -1
  99. package/dist/client/floatingips-DXnRlLvV.mjs +0 -551
  100. package/dist/client/floatingips-DXnRlLvV.mjs.map +0 -1
  101. package/dist/client/floatingips-HRbuLxiN.mjs +0 -22
  102. package/dist/client/floatingips-HRbuLxiN.mjs.map +0 -1
  103. package/dist/client/floatingips-nN1kQmsu.mjs +0 -14
  104. package/dist/client/floatingips-nN1kQmsu.mjs.map +0 -1
  105. package/dist/client/formatBytes-CZv_XyCY.mjs +0 -38
  106. package/dist/client/formatBytes-CZv_XyCY.mjs.map +0 -1
  107. package/dist/client/helpers-1PpYf-fC.mjs +0 -6
  108. package/dist/client/helpers-1PpYf-fC.mjs.map +0 -1
  109. package/dist/client/hooks-D0yKIumu.mjs +0 -22
  110. package/dist/client/hooks-D0yKIumu.mjs.map +0 -1
  111. package/dist/client/images-C8M3ysWR.mjs +0 -2023
  112. package/dist/client/images-C8M3ysWR.mjs.map +0 -1
  113. package/dist/client/images-Cf5R28NR.mjs +0 -15
  114. package/dist/client/images-Cf5R28NR.mjs.map +0 -1
  115. package/dist/client/images-NBf2bV43.mjs +0 -8
  116. package/dist/client/images-NBf2bV43.mjs.map +0 -1
  117. package/dist/client/md-kvaGCNAK.mjs +0 -336
  118. package/dist/client/md-kvaGCNAK.mjs.map +0 -1
  119. package/dist/client/network-DuZm76BZ.mjs +0 -8
  120. package/dist/client/network-DuZm76BZ.mjs.map +0 -1
  121. package/dist/client/objects-BudUAfWY.mjs +0 -12909
  122. package/dist/client/objects-BudUAfWY.mjs.map +0 -1
  123. package/dist/client/objects-Dc7sKUr8.mjs +0 -67
  124. package/dist/client/objects-Dc7sKUr8.mjs.map +0 -1
  125. package/dist/client/objects-Dw7oeTq2.mjs +0 -80
  126. package/dist/client/objects-Dw7oeTq2.mjs.map +0 -1
  127. package/dist/client/objects-_g7nGIn5.mjs +0 -25
  128. package/dist/client/objects-_g7nGIn5.mjs.map +0 -1
  129. package/dist/client/objects-eBxvY6_n.mjs +0 -78
  130. package/dist/client/objects-eBxvY6_n.mjs.map +0 -1
  131. package/dist/client/projects-yiK0HGSA.mjs +0 -7
  132. package/dist/client/projects-yiK0HGSA.mjs.map +0 -1
  133. package/dist/client/routeInfo-DP3v74Wg.mjs +0 -19
  134. package/dist/client/routeInfo-DP3v74Wg.mjs.map +0 -1
  135. package/dist/client/routes-CJj7SR_K.mjs +0 -10
  136. package/dist/client/routes-CJj7SR_K.mjs.map +0 -1
  137. package/dist/client/routes-xofA3ksU.mjs +0 -110
  138. package/dist/client/routes-xofA3ksU.mjs.map +0 -1
  139. package/dist/client/securitygroups-67fFxiwt.mjs +0 -15
  140. package/dist/client/securitygroups-67fFxiwt.mjs.map +0 -1
  141. package/dist/client/securitygroups-CtKne8UQ.mjs +0 -8
  142. package/dist/client/securitygroups-CtKne8UQ.mjs.map +0 -1
  143. package/dist/client/securitygroups-DXrfyuVF.mjs +0 -580
  144. package/dist/client/securitygroups-DXrfyuVF.mjs.map +0 -1
  145. package/dist/client/securitygroups-WLB1_IM6.mjs +0 -22
  146. package/dist/client/securitygroups-WLB1_IM6.mjs.map +0 -1
  147. package/dist/client/securitygroups-o0IXZM6S.mjs +0 -14
  148. package/dist/client/securitygroups-o0IXZM6S.mjs.map +0 -1
  149. package/dist/client/serviceCatalog-B3lKWC9V.mjs +0 -6
  150. package/dist/client/serviceCatalog-B3lKWC9V.mjs.map +0 -1
  151. package/dist/client/services-D1PbooD1.mjs +0 -6
  152. package/dist/client/services-D1PbooD1.mjs.map +0 -1
  153. package/dist/client/services-DEMVtFyn.mjs +0 -9
  154. package/dist/client/services-DEMVtFyn.mjs.map +0 -1
  155. package/dist/client/storageProviders-CJ5rOh13.mjs +0 -15
  156. package/dist/client/storageProviders-CJ5rOh13.mjs.map +0 -1
  157. package/dist/client/trpcClient-D7gpR7YG.mjs +0 -71
  158. package/dist/client/trpcClient-D7gpR7YG.mjs.map +0 -1
  159. package/dist/client/useBreadcrumbs-ha3IlaxX.mjs +0 -54
  160. package/dist/client/useBreadcrumbs-ha3IlaxX.mjs.map +0 -1
  161. package/dist/client/useModal-DCs1OJh7.mjs +0 -12
  162. package/dist/client/useModal-DCs1OJh7.mjs.map +0 -1
  163. package/dist/client/useModalTracking-BYd37pXm.mjs +0 -37
  164. package/dist/client/useModalTracking-BYd37pXm.mjs.map +0 -1
  165. package/dist/client/useProjectId-DBc5lpoU.mjs +0 -11
  166. package/dist/client/useProjectId-DBc5lpoU.mjs.map +0 -1
  167. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs +0 -294
  168. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs.map +0 -1
  169. package/dist/client/useSetBreadcrumb-tn7lBaQV.mjs +0 -19
  170. package/dist/client/useSetBreadcrumb-tn7lBaQV.mjs.map +0 -1
  171. package/dist/client/utils/trpcErrors.d.ts +0 -13
@@ -1,580 +0,0 @@
1
- import { C as e, D as t, K as n, L as r, M as i, P as a, Q as o, S as s, T as c, X as l, ft as u, g as d, h as f, i as p, l as m, lt as h, m as g, o as _, ot as v, p as y, rt as b, st as x, t as S, x as C } from "./build-WuxXRAqf.mjs";
2
- import { a as w } from "./trpcClient-D7gpR7YG.mjs";
3
- import { t as T } from "./securitygroups-67fFxiwt.mjs";
4
- import { t as E } from "./useProjectId-DBc5lpoU.mjs";
5
- import { t as D } from "./SortInput-4g7nSTHW.mjs";
6
- import { t as O } from "./ContentHeader-fKKZVu-o.mjs";
7
- import "./hooks-D0yKIumu.mjs";
8
- import { n as k, t as A } from "./FiltersInput-Becwxo_J.mjs";
9
- import { c as j, h as ee, l as te, m as ne, n as M, r as re, t as N } from "./useSecurityGroupPermissions--hK4aR8Y.mjs";
10
- import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
11
- import { useEffect as L, useRef as R, useState as z } from "react";
12
- import { useNavigate as ie, useSearch as B } from "@tanstack/react-router";
13
- import { Trans as V, useLingui as H } from "@lingui/react";
14
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupTableRow.tsx
15
- function ae({ securityGroup: e, permissions: n, onEdit: r, onDelete: i, onViewDetails: a, isReadOnly: o = !1, showSelectColumn: s = !1, isSelected: l = !1, onSelect: u }) {
16
- let { i18n: f, _: p } = H(), m = ({ value: e }) => /*#__PURE__*/ F("span", { children: e ? f._({ id: "l75CjT" }) : f._({ id: "1UzENP" }) }), h = () => {
17
- a && a(e);
18
- };
19
- return /*#__PURE__*/ I(c, {
20
- "data-testid": `security-group-row-${e.id}`,
21
- onClick: h,
22
- className: "hover:bg-theme-background-lvl-2 cursor-pointer",
23
- children: [
24
- s && /*#__PURE__*/ F(S, {
25
- onClick: (e) => e.stopPropagation(),
26
- children: /*#__PURE__*/ F(x, {
27
- checked: l,
28
- onChange: () => u?.(e)
29
- })
30
- }),
31
- /*#__PURE__*/ F(S, { children: /*#__PURE__*/ F("div", { children: /*#__PURE__*/ F("p", {
32
- className: "text-md",
33
- children: e.name
34
- }) }) }),
35
- /*#__PURE__*/ F(S, { children: e.description || f._({ id: "h47p9L" }) }),
36
- /*#__PURE__*/ I(S, { children: [/*#__PURE__*/ F(m, { value: e.shared }), e.shared && /*#__PURE__*/ I("p", { children: [
37
- /*#__PURE__*/ F(V, { id: "LtI9AS" }),
38
- ": ",
39
- /*#__PURE__*/ F("span", {
40
- className: "text-theme-light text-xs",
41
- children: e.project_id
42
- })
43
- ] })] }),
44
- /*#__PURE__*/ F(S, { children: /*#__PURE__*/ F(m, { value: e.stateful ?? !0 }) }),
45
- /*#__PURE__*/ F(S, {
46
- onClick: (e) => e.stopPropagation(),
47
- className: "items-end pr-0",
48
- children: /*#__PURE__*/ F(t, { children: /*#__PURE__*/ I(d, { children: [
49
- /*#__PURE__*/ F(C, {
50
- label: f._({ id: "v0hPHE" }),
51
- onClick: () => h()
52
- }),
53
- n.canUpdate && !o && /*#__PURE__*/ F(C, {
54
- label: f._({ id: "b433OF" }),
55
- onClick: () => r(e)
56
- }),
57
- n.canDelete && !o && /*#__PURE__*/ F(C, {
58
- label: f._({ id: "bcOdok" }),
59
- onClick: () => i(e)
60
- })
61
- ] }) })
62
- })
63
- ]
64
- }, e.id);
65
- }
66
- //#endregion
67
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupListContainer.tsx
68
- var oe = ({ securityGroups: e, isLoading: t, isError: n, error: r, permissions: i, onDeleteSecurityGroup: a, isDeletingSecurityGroup: o = !1, deleteError: l = null, onUpdateSecurityGroup: u, isUpdatingSecurityGroup: d = !1, updateError: f = null, currentProjectId: p, hasAnyBulkAction: m = !1, onClearUpdateError: h }) => {
69
- let { i18n: g, _: v } = H(), y = ie(), x = E(), [C, w] = z(null), [T, D] = z(!1), [O, k] = z(!1), A = R(!1), j = R(!1), ee = (e) => {
70
- C && C.id !== e.id && h && h(), w(e), D(!0);
71
- }, te = (e) => {
72
- w(e), k(!0);
73
- }, ne = (e) => {
74
- y({
75
- to: "/projects/$projectId/network/securitygroups/$securityGroupId",
76
- params: {
77
- projectId: x,
78
- securityGroupId: e.id
79
- }
80
- });
81
- }, N = () => {
82
- w(null), D(!1);
83
- }, B = () => {
84
- w(null), k(!1);
85
- };
86
- L(() => {
87
- A.current && !o && O && !l && B(), A.current = o;
88
- }, [
89
- o,
90
- l,
91
- O
92
- ]), L(() => {
93
- j.current && !d && T && !f && N(), j.current = d;
94
- }, [
95
- d,
96
- f,
97
- T
98
- ]);
99
- let V = m ? 6 : 5;
100
- return /*#__PURE__*/ I(P, { children: [/*#__PURE__*/ I(_, {
101
- columns: V,
102
- minContentColumns: m ? [5] : [4],
103
- children: [/*#__PURE__*/ I(c, { children: [m && /*#__PURE__*/ F(s, {}), [
104
- g._({ id: "6YtxFj" }),
105
- g._({ id: "Nu4oKW" }),
106
- g._({ id: "0Gd0NU" }),
107
- g._({ id: "Jim5X9" }),
108
- ""
109
- ].map((e) => /*#__PURE__*/ F(s, { children: e }, e))] }), t ? /*#__PURE__*/ F(c, { children: /*#__PURE__*/ F(S, {
110
- colSpan: V,
111
- children: /*#__PURE__*/ F(b, {
112
- status: "progress",
113
- title: g._({ id: "Z3FXyt" })
114
- })
115
- }) }) : n ? /*#__PURE__*/ F(c, { children: /*#__PURE__*/ F(S, {
116
- colSpan: V,
117
- children: /*#__PURE__*/ F(b, {
118
- status: "error",
119
- title: r?.message ?? g._({ id: "lcs67U" })
120
- })
121
- }) }) : e.length > 0 ? e.map((e) => {
122
- let t = !!(p && e.project_id && e.project_id !== p);
123
- return /*#__PURE__*/ F(ae, {
124
- securityGroup: e,
125
- permissions: i,
126
- onEdit: ee,
127
- onDelete: te,
128
- onViewDetails: ne,
129
- isReadOnly: t,
130
- showSelectColumn: m,
131
- isSelected: !1,
132
- onSelect: () => {}
133
- }, e.id);
134
- }) : /*#__PURE__*/ F(c, { children: /*#__PURE__*/ F(S, {
135
- colSpan: V,
136
- children: /*#__PURE__*/ F(b, {
137
- status: "empty",
138
- title: g._({ id: "f+UUtj" }),
139
- body: g._({ id: "jqJG6j" })
140
- })
141
- }) })]
142
- }), C && /*#__PURE__*/ I(P, { children: [/*#__PURE__*/ F(re, {
143
- securityGroup: C,
144
- open: T,
145
- onClose: N,
146
- onUpdate: (e, t) => u ? u(e, t) : Promise.resolve(),
147
- isLoading: d,
148
- error: f
149
- }), /*#__PURE__*/ F(M, {
150
- securityGroup: C,
151
- isOpen: O,
152
- onClose: B,
153
- onDelete: (e) => {
154
- a && a(e);
155
- },
156
- isDeleting: o,
157
- error: l
158
- })] })] });
159
- }, U = {
160
- name: "",
161
- description: "",
162
- stateful: !0
163
- }, se = ({ isOpen: e, onClose: t, onCreate: o, isLoading: s = !1, error: c = null }) => {
164
- let { i18n: d, _: m } = H(), [_, v] = z({ ...U }), [S, C] = z({}), w = (e) => {
165
- let { name: t, value: n, type: r } = e.target, i = e.target.checked;
166
- v((e) => ({
167
- ...e,
168
- [t]: r === "checkbox" ? i : n
169
- })), S[t] && C((e) => {
170
- let n = { ...e };
171
- return delete n[t], n;
172
- });
173
- }, T = () => {
174
- let e = {};
175
- return (!_.name || _.name.trim() === "") && (e.name = d._({ id: "lN/Z9n" })), C(e), Object.keys(e).length === 0;
176
- }, E = async (e) => {
177
- e.preventDefault(), T() && (await o({
178
- name: _.name.trim(),
179
- description: _.description.trim() || void 0,
180
- stateful: _.stateful
181
- }), D());
182
- }, D = () => {
183
- v({ ...U }), C({}), t();
184
- };
185
- return /*#__PURE__*/ I(l, {
186
- open: e,
187
- onCancel: D,
188
- size: "large",
189
- title: d._({ id: "YjAOtb" }),
190
- modalFooter: /*#__PURE__*/ F(a, {
191
- className: "flex justify-end",
192
- children: /*#__PURE__*/ I(i, { children: [/*#__PURE__*/ F(p, {
193
- variant: "default",
194
- onClick: D,
195
- disabled: s,
196
- children: /*#__PURE__*/ F(V, { id: "dEgA5A" })
197
- }), /*#__PURE__*/ F(p, {
198
- variant: "primary",
199
- onClick: (e) => {
200
- E(e);
201
- },
202
- disabled: s,
203
- "data-testid": "create-security-group-button",
204
- children: s ? /*#__PURE__*/ F(n, { size: "small" }) : /*#__PURE__*/ F(V, { id: "YjAOtb" })
205
- })] })
206
- }),
207
- children: [
208
- c && /*#__PURE__*/ F(r, {
209
- dismissible: !1,
210
- variant: "error",
211
- className: "mb-4",
212
- children: c
213
- }),
214
- s && /*#__PURE__*/ F(b, {
215
- status: "progress",
216
- title: d._({ id: "0Kv9K4" }),
217
- className: "mt-0"
218
- }),
219
- !s && /*#__PURE__*/ F(u, {
220
- className: "mb-6",
221
- children: /*#__PURE__*/ I(y, {
222
- className: "mb-6",
223
- children: [
224
- /*#__PURE__*/ F(f, {
225
- className: "mb-6",
226
- children: /*#__PURE__*/ F(g, {
227
- id: "name",
228
- name: "name",
229
- label: d._({ id: "6YtxFj" }),
230
- value: _.name,
231
- onChange: w,
232
- required: !0,
233
- errortext: S.name,
234
- placeholder: d._({ id: "Ac6dy9" }),
235
- disabled: s
236
- })
237
- }),
238
- /*#__PURE__*/ F(f, {
239
- className: "mb-6",
240
- children: /*#__PURE__*/ F(h, {
241
- id: "description",
242
- name: "description",
243
- label: d._({ id: "Nu4oKW" }),
244
- value: _.description,
245
- onChange: w,
246
- placeholder: d._({ id: "Nu4oKW" }),
247
- disabled: s,
248
- rows: 3
249
- })
250
- }),
251
- /*#__PURE__*/ F(f, {
252
- className: "mb-0",
253
- children: /*#__PURE__*/ F(x, {
254
- id: "stateful",
255
- name: "stateful",
256
- label: d._({ id: "Jim5X9" }),
257
- checked: _.stateful,
258
- onChange: w,
259
- disabled: s,
260
- helptext: d._({ id: "4cQTyf" })
261
- })
262
- })
263
- ]
264
- })
265
- })
266
- ]
267
- });
268
- }, W = ["true", "false"], ce = {
269
- true: !0,
270
- false: !1
271
- }, G = (e) => W.includes(e), K = ["shared", "stateful"], q = (e) => K.includes(e), le = (e) => [{
272
- displayName: e.shared,
273
- filterName: "shared",
274
- values: [...W],
275
- valueLabels: {
276
- true: e.yes,
277
- false: e.no
278
- },
279
- supportsMultiValue: !1
280
- }, {
281
- displayName: e.stateful,
282
- filterName: "stateful",
283
- values: [...W],
284
- valueLabels: {
285
- true: e.yes,
286
- false: e.no
287
- },
288
- supportsMultiValue: !1
289
- }], ue = (e) => {
290
- let t = {};
291
- for (let n of K) {
292
- let r = e.filter((e) => !e.inactive && e.name === n).at(-1);
293
- r && G(r.value) && (t[n] = ce[r.value]);
294
- }
295
- return t;
296
- }, J = (e, t) => q(e) && G(t), Y = (e) => {
297
- let t = [];
298
- return e.shared && J("shared", e.shared) && t.push({
299
- name: "shared",
300
- value: e.shared
301
- }), e.stateful && J("stateful", e.stateful) && t.push({
302
- name: "stateful",
303
- value: e.stateful
304
- }), t;
305
- }, de = (e, t, n) => e.some((e) => e.name === t.name && e.value === t.value) ? e : n.find((e) => e.filterName === t.name)?.supportsMultiValue ? [...e, t] : [...e.filter((e) => e.name !== t.name), t], fe = (e, t, n) => {
306
- let r = {
307
- search: n.search,
308
- sortBy: n.sortBy,
309
- sortDirection: n.sortDirection
310
- };
311
- if (!e?.length) return r;
312
- let i = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
313
- return Object.entries(i).forEach(([e, n]) => {
314
- t.find((t) => t.filterName === e)?.supportsMultiValue && n.length > 1 ? r[e] = `in:${n.join(",")}` : r[e] = n[0];
315
- }), r;
316
- }, pe = 500, X = ({ project: t }) => {
317
- let { i18n: n, _: i } = H(), a = ie(), s = B({ strict: !1 }), [c, l] = z({
318
- options: [{
319
- label: n._({ id: "6YtxFj" }),
320
- value: "name"
321
- }],
322
- sortBy: s.sortBy || "name",
323
- sortDirection: s.sortDirection || "asc"
324
- }), [u, d] = z({
325
- filters: le({
326
- shared: n._({ id: "0Gd0NU" }),
327
- stateful: n._({ id: "Jim5X9" }),
328
- yes: n._({ id: "l75CjT" }),
329
- no: n._({ id: "1UzENP" })
330
- }),
331
- selectedFilters: Y(s)
332
- }), [f, h] = z(s.search || ""), g = R(void 0), [_, y] = z(!1), [b, x] = z(null), [S, C] = z(null), [T, E] = z(null), M = w.useUtils();
333
- L(() => () => clearTimeout(g.current), []), L(() => {
334
- l((e) => ({
335
- ...e,
336
- sortBy: s.sortBy || "name",
337
- sortDirection: s.sortDirection || "asc"
338
- })), d((e) => ({
339
- ...e,
340
- selectedFilters: Y(s)
341
- })), g.current === void 0 && h(s.search || "");
342
- }, [
343
- s.sortBy,
344
- s.sortDirection,
345
- s.search,
346
- s.shared,
347
- s.stateful
348
- ]);
349
- let re = Y(s), ae = s.sortBy || "name", U = s.sortDirection || "asc", W = s.search || "", { data: ce, isLoading: G, isError: K, error: q } = w.network.securityGroup.list.useQuery({
350
- project_id: t || "",
351
- sort_key: ae,
352
- sort_dir: U,
353
- ...ue(re),
354
- ...W ? { searchTerm: W } : {}
355
- }, {
356
- refetchOnWindowFocus: !1,
357
- placeholderData: (e) => e
358
- }), J = ce || [], X = K ? q?.data?.code === "FORBIDDEN" ? n._({ id: "MdfAJn" }) : q.message || n._({ id: "lcs67U" }) : null, { permissions: Z } = N(t), me = w.network.securityGroup.create.useMutation({
359
- onSuccess: (e) => {
360
- M.network.securityGroup.list.invalidate(), M.network.securityGroup.getById.invalidate(), C(null), a({
361
- to: "/projects/$projectId/network/securitygroups/$securityGroupId",
362
- params: {
363
- projectId: t,
364
- securityGroupId: e.id
365
- }
366
- });
367
- },
368
- onError: (e) => {
369
- C(e.message || n._({ id: "o6M6l0" }));
370
- }
371
- }), he = w.network.securityGroup.deleteById.useMutation({
372
- onSuccess: () => {
373
- M.network.securityGroup.list.invalidate(), M.network.securityGroup.getById.invalidate(), x(null);
374
- },
375
- onError: (e) => {
376
- x(e.message || n._({ id: "d0pLfy" }));
377
- let { message: t, ...r } = j(e.message);
378
- v.error(t, r);
379
- }
380
- }), ge = w.network.securityGroup.update.useMutation({
381
- onSuccess: () => {
382
- M.network.securityGroup.list.invalidate(), M.network.securityGroup.getById.invalidate(), E(null);
383
- },
384
- onError: (e) => {
385
- E(e.message || n._({ id: "jPxavx" }));
386
- let { message: t, ...r } = ne(e.message);
387
- v.error(t, r);
388
- }
389
- }), _e = async (e) => {
390
- C(null);
391
- try {
392
- await me.mutateAsync({
393
- project_id: t,
394
- ...e
395
- });
396
- } catch {}
397
- }, ve = (e) => {
398
- x(null);
399
- let n = J.find((t) => t.id === e)?.name || e;
400
- he.mutate({
401
- project_id: t,
402
- securityGroupId: e
403
- }, { onSuccess: () => {
404
- let { message: e, ...t } = te(n);
405
- v.success(e, t);
406
- } });
407
- }, ye = async (e, n) => {
408
- E(null);
409
- let r = n.name || J.find((t) => t.id === e)?.name || e;
410
- try {
411
- await ge.mutateAsync({
412
- project_id: t,
413
- securityGroupId: e,
414
- ...n
415
- });
416
- let { message: i, ...a } = ee(r);
417
- v.success(i, a);
418
- } catch {}
419
- }, be = () => {
420
- E(null);
421
- }, xe = (e) => {
422
- let t = {
423
- options: e.options,
424
- sortBy: e.sortBy?.toString() || "name",
425
- sortDirection: e.sortDirection || "asc"
426
- };
427
- l(t), a({
428
- search: (e) => ({
429
- ...e,
430
- sortBy: t.sortBy,
431
- sortDirection: t.sortDirection
432
- }),
433
- replace: !0
434
- });
435
- }, Q = (e) => {
436
- d(e), a({
437
- search: (t) => fe(e.selectedFilters || [], e.filters, {
438
- search: t.search,
439
- sortBy: t.sortBy,
440
- sortDirection: t.sortDirection
441
- }),
442
- replace: !0
443
- });
444
- }, $ = (e) => {
445
- a({
446
- search: (t) => ({
447
- ...t,
448
- search: e || void 0
449
- }),
450
- replace: !0
451
- });
452
- };
453
- return /*#__PURE__*/ I(P, { children: [/*#__PURE__*/ F(O, {
454
- title: n._({ id: "4opp4r" }),
455
- projectId: t
456
- }), /*#__PURE__*/ I("div", {
457
- className: "relative",
458
- children: [
459
- K && J.length > 0 && /*#__PURE__*/ F(r, {
460
- variant: "error",
461
- className: "mb-4",
462
- children: X
463
- }),
464
- /*#__PURE__*/ F(o, {
465
- distribution: "end",
466
- alignment: "center",
467
- gap: "2",
468
- className: "pb-2",
469
- children: /*#__PURE__*/ I(o, {
470
- gap: "2",
471
- children: [/*#__PURE__*/ F(D, {
472
- options: c.options,
473
- sortBy: c.sortBy,
474
- sortDirection: c.sortDirection ?? "asc",
475
- selectClassName: "min-w-40",
476
- onSortByChange: (e) => xe({
477
- ...c,
478
- sortBy: e,
479
- sortDirection: c.sortDirection
480
- }),
481
- onSortDirectionChange: (e) => xe({
482
- ...c,
483
- sortDirection: e
484
- })
485
- }), Z.canCreate && /*#__PURE__*/ F(p, {
486
- onClick: () => y(!0),
487
- variant: "primary",
488
- className: "whitespace-nowrap",
489
- children: /*#__PURE__*/ F(V, { id: "YjAOtb" })
490
- })]
491
- })
492
- }),
493
- /*#__PURE__*/ F(m, { children: /*#__PURE__*/ I(o, {
494
- direction: "vertical",
495
- gap: "2",
496
- children: [/*#__PURE__*/ I(o, {
497
- distribution: "between",
498
- alignment: "center",
499
- children: [/*#__PURE__*/ F(A, {
500
- filters: u.filters,
501
- selectClassName: "sm:min-w-40",
502
- comboboxClassName: "sm:min-w-40",
503
- onChange: (e) => {
504
- let t = de(u.selectedFilters || [], e, u.filters);
505
- t !== (u.selectedFilters || []) && Q({
506
- ...u,
507
- selectedFilters: t
508
- });
509
- }
510
- }), /*#__PURE__*/ F(e, {
511
- className: "w-60 sm:w-68",
512
- placeholder: n._({ id: "rp7Ili" }),
513
- "data-testid": "searchbar",
514
- value: f,
515
- onInput: (e) => {
516
- let t = e.currentTarget.value;
517
- h(t), clearTimeout(g.current), g.current = window.setTimeout(() => {
518
- g.current = void 0, $(t);
519
- }, pe);
520
- },
521
- onSearch: (e) => {
522
- clearTimeout(g.current), g.current = void 0, $(typeof e == "string" ? e : "");
523
- },
524
- onClear: () => {
525
- clearTimeout(g.current), g.current = void 0, h(""), $("");
526
- }
527
- })]
528
- }), u.selectedFilters && u.selectedFilters.length > 0 && /*#__PURE__*/ F(k, {
529
- selectedFilters: u.selectedFilters,
530
- filters: u.filters,
531
- onDelete: (e) => Q({
532
- ...u,
533
- selectedFilters: (u.selectedFilters || []).filter((t) => t.name !== e.name || t.value !== e.value)
534
- }),
535
- onClear: () => Q({
536
- ...u,
537
- selectedFilters: []
538
- })
539
- })]
540
- }) }),
541
- /*#__PURE__*/ F(oe, {
542
- securityGroups: J,
543
- isLoading: G,
544
- isError: K && J.length === 0,
545
- error: X ? { message: X } : null,
546
- permissions: Z,
547
- onCreateClick: () => y(!0),
548
- onDeleteSecurityGroup: ve,
549
- isDeletingSecurityGroup: he.isPending,
550
- deleteError: b,
551
- onUpdateSecurityGroup: ye,
552
- isUpdatingSecurityGroup: ge.isPending,
553
- updateError: T,
554
- currentProjectId: t,
555
- hasAnyBulkAction: !1,
556
- onClearUpdateError: be
557
- }),
558
- /*#__PURE__*/ F(se, {
559
- isOpen: _,
560
- onClose: () => {
561
- C(null), y(!1);
562
- },
563
- onCreate: _e,
564
- isLoading: me.isPending,
565
- error: S
566
- })
567
- ]
568
- })] });
569
- };
570
- //#endregion
571
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/index.tsx?tsr-split=component
572
- function Z() {
573
- let { projectId: e } = T.useParams(), { trpcClient: t } = T.useRouteContext();
574
- if (!t) throw Error("trpcClient is not available in route context");
575
- return /*#__PURE__*/ F(X, { project: e });
576
- }
577
- //#endregion
578
- export { Z as component };
579
-
580
- //# sourceMappingURL=securitygroups-DXrfyuVF.mjs.map