@cobaltcore-dev/aurora 1.2.0 → 2.0.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 (132) hide show
  1. package/dist/client/DeleteFlavorModal-C2MqUgGR.mjs +801 -0
  2. package/dist/client/DeleteFlavorModal-C2MqUgGR.mjs.map +1 -0
  3. package/dist/client/{FiltersInput-CKI6zWnm.mjs → FiltersInput-Becwxo_J.mjs} +36 -33
  4. package/dist/client/FiltersInput-Becwxo_J.mjs.map +1 -0
  5. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs +466 -0
  6. package/dist/client/FloatingIpActionModals-Cq10WljB.mjs.map +1 -0
  7. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs +1135 -0
  8. package/dist/client/ImageToastNotifications-BWfzOUMc.mjs.map +1 -0
  9. package/dist/client/RouteIdLevelDefaultError-CSseJ1yG.mjs +26 -0
  10. package/dist/client/RouteIdLevelDefaultError-CSseJ1yG.mjs.map +1 -0
  11. package/dist/client/{TwoColumnDescriptionList-NvgvErua.mjs → TwoColumnDescriptionList-DKS42RKa.mjs} +9 -3
  12. package/dist/client/TwoColumnDescriptionList-DKS42RKa.mjs.map +1 -0
  13. package/dist/client/{_flavorId-a9Gu66R1.mjs → _flavorId-CaA4-Pnf.mjs} +4 -3
  14. package/dist/client/_flavorId-CaA4-Pnf.mjs.map +1 -0
  15. package/dist/client/_flavorId-DYv_StX22.mjs +276 -0
  16. package/dist/client/_flavorId-DYv_StX22.mjs.map +1 -0
  17. package/dist/client/_flavorId-YV3jCS5g.mjs +22 -0
  18. package/dist/client/_flavorId-YV3jCS5g.mjs.map +1 -0
  19. package/dist/client/{_floatingIpId-AZ11Ksmu.mjs → _floatingIpId-BeYElanB.mjs} +2 -2
  20. package/dist/client/_floatingIpId-BeYElanB.mjs.map +1 -0
  21. package/dist/client/_floatingIpId-Dpsc7GU4.mjs +196 -0
  22. package/dist/client/_floatingIpId-Dpsc7GU4.mjs.map +1 -0
  23. package/dist/client/_imageId-mfKp3JHn.mjs +558 -0
  24. package/dist/client/_imageId-mfKp3JHn.mjs.map +1 -0
  25. package/dist/client/_imageId-mpXUMCh_.mjs +22 -0
  26. package/dist/client/_imageId-mpXUMCh_.mjs.map +1 -0
  27. package/dist/client/{_imageId-D76BxvFY.mjs → _imageId-pBSS0YcC.mjs} +4 -3
  28. package/dist/client/_imageId-pBSS0YcC.mjs.map +1 -0
  29. package/dist/client/{_projectId-B3wmSala.mjs → _projectId-AjgJX6Gl.mjs} +2 -2
  30. package/dist/client/_projectId-AjgJX6Gl.mjs.map +1 -0
  31. package/dist/client/{_projectId-DPzv0CCp.mjs → _projectId-BnTBxKfp.mjs} +4 -4
  32. package/dist/client/_projectId-BnTBxKfp.mjs.map +1 -0
  33. package/dist/client/{_projectId-DfeVJy0G.mjs → _projectId-CVrdJ52s.mjs} +2 -2
  34. package/dist/client/_projectId-CVrdJ52s.mjs.map +1 -0
  35. package/dist/client/_projectId-DgciZslU.mjs +92 -0
  36. package/dist/client/_projectId-DgciZslU.mjs.map +1 -0
  37. package/dist/client/{_securityGroupId-D85mSigA.mjs → _securityGroupId-AO3wnH8g.mjs} +2 -2
  38. package/dist/client/_securityGroupId-AO3wnH8g.mjs.map +1 -0
  39. package/dist/client/{_securityGroupId-C5huJNfO.mjs → _securityGroupId-Bq0ZyG6z.mjs} +750 -741
  40. package/dist/client/_securityGroupId-Bq0ZyG6z.mjs.map +1 -0
  41. package/dist/client/_storageType-c-DAu8qr.mjs +858 -0
  42. package/dist/client/_storageType-c-DAu8qr.mjs.map +1 -0
  43. package/dist/client/components/{Error → Errors}/RouteError.d.ts +5 -0
  44. package/dist/client/components/Errors/RouteIdLevelDefaultError.d.ts +17 -0
  45. package/dist/client/components/Errors/ServiceLevelDefaultError.d.ts +9 -0
  46. package/dist/client/components/ListToolbar/SelectedFilters.d.ts +7 -2
  47. package/dist/client/components/ListToolbar/types.d.ts +6 -0
  48. package/dist/client/components/ListToolbar/valueLabels.d.ts +11 -0
  49. package/dist/client/flavors-Bgq3KZmx.mjs +659 -0
  50. package/dist/client/flavors-Bgq3KZmx.mjs.map +1 -0
  51. package/dist/client/{flavors-B0rbqffG.mjs → flavors-ZudiAiTU.mjs} +2 -2
  52. package/dist/client/{flavors-B0rbqffG.mjs.map → flavors-ZudiAiTU.mjs.map} +1 -1
  53. package/dist/client/floatingips-B1oLH8z6.mjs +551 -0
  54. package/dist/client/floatingips-B1oLH8z6.mjs.map +1 -0
  55. package/dist/client/floatingips-BeQEkVH8.mjs +14 -0
  56. package/dist/client/floatingips-BeQEkVH8.mjs.map +1 -0
  57. package/dist/client/floatingips-BtLg3yEQ.mjs +22 -0
  58. package/dist/client/floatingips-BtLg3yEQ.mjs.map +1 -0
  59. package/dist/client/floatingips-Cz9k80cc.mjs.map +1 -1
  60. package/dist/client/{images-BGQv9kKT.mjs → images-CnTW3bpy.mjs} +810 -770
  61. package/dist/client/images-CnTW3bpy.mjs.map +1 -0
  62. package/dist/client/{images-CPmMa4SQ.mjs → images-DZHDYDQu.mjs} +2 -2
  63. package/dist/client/{images-CPmMa4SQ.mjs.map → images-DZHDYDQu.mjs.map} +1 -1
  64. package/dist/client/index.js +412 -409
  65. package/dist/client/index.js.map +1 -1
  66. package/dist/client/{objects-BN-59Th0.mjs → objects-25xsh4Ia.mjs} +2 -2
  67. package/dist/client/objects-25xsh4Ia.mjs.map +1 -0
  68. package/dist/client/objects-KXY6dgwq.mjs +82 -0
  69. package/dist/client/objects-KXY6dgwq.mjs.map +1 -0
  70. package/dist/client/objects-QryuClU3.mjs +82 -0
  71. package/dist/client/objects-QryuClU3.mjs.map +1 -0
  72. package/dist/client/{objects-BE_u5yRt.mjs → objects-jYQBFzwg.mjs} +4671 -4702
  73. package/dist/client/objects-jYQBFzwg.mjs.map +1 -0
  74. package/dist/client/projects-yiK0HGSA.mjs.map +1 -1
  75. package/dist/client/securitygroups--0PS2wbM.mjs +580 -0
  76. package/dist/client/securitygroups--0PS2wbM.mjs.map +1 -0
  77. package/dist/client/{securitygroups-DEJQBcxm.mjs → securitygroups-BRndk7wh.mjs} +2 -2
  78. package/dist/client/{securitygroups-DEJQBcxm.mjs.map → securitygroups-BRndk7wh.mjs.map} +1 -1
  79. package/dist/client/securitygroups-CdN4yAAw.mjs +14 -0
  80. package/dist/client/securitygroups-CdN4yAAw.mjs.map +1 -0
  81. package/dist/client/securitygroups-Cs2Op-tu.mjs +22 -0
  82. package/dist/client/securitygroups-Cs2Op-tu.mjs.map +1 -0
  83. package/dist/client/securitygroups-CtKne8UQ.mjs.map +1 -1
  84. package/dist/client/trpcClient.d.ts +6 -1
  85. package/dist/client/useModalTracking-BYd37pXm.mjs +37 -0
  86. package/dist/client/useModalTracking-BYd37pXm.mjs.map +1 -0
  87. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs +294 -0
  88. package/dist/client/useSecurityGroupPermissions--hK4aR8Y.mjs.map +1 -0
  89. package/dist/server/index.d.ts +6 -1
  90. package/dist/server/index.js +96 -30
  91. package/package.json +4 -4
  92. package/dist/client/DeleteFlavorModal-V44QCJBd.mjs +0 -773
  93. package/dist/client/DeleteFlavorModal-V44QCJBd.mjs.map +0 -1
  94. package/dist/client/FiltersInput-CKI6zWnm.mjs.map +0 -1
  95. package/dist/client/FloatingIpActionModals-CwEC5GR-.mjs +0 -460
  96. package/dist/client/FloatingIpActionModals-CwEC5GR-.mjs.map +0 -1
  97. package/dist/client/ImageToastNotifications-m6c3tVPb.mjs +0 -1152
  98. package/dist/client/ImageToastNotifications-m6c3tVPb.mjs.map +0 -1
  99. package/dist/client/TwoColumnDescriptionList-NvgvErua.mjs.map +0 -1
  100. package/dist/client/_flavorId-9PcBBW52.mjs +0 -231
  101. package/dist/client/_flavorId-9PcBBW52.mjs.map +0 -1
  102. package/dist/client/_flavorId-a9Gu66R1.mjs.map +0 -1
  103. package/dist/client/_floatingIpId-AE9Fu8l6.mjs +0 -210
  104. package/dist/client/_floatingIpId-AE9Fu8l6.mjs.map +0 -1
  105. package/dist/client/_floatingIpId-AZ11Ksmu.mjs.map +0 -1
  106. package/dist/client/_imageId-BtAql2Kr.mjs +0 -570
  107. package/dist/client/_imageId-BtAql2Kr.mjs.map +0 -1
  108. package/dist/client/_imageId-D76BxvFY.mjs.map +0 -1
  109. package/dist/client/_projectId-7Nl1MQTJ.mjs +0 -99
  110. package/dist/client/_projectId-7Nl1MQTJ.mjs.map +0 -1
  111. package/dist/client/_projectId-B3wmSala.mjs.map +0 -1
  112. package/dist/client/_projectId-DPzv0CCp.mjs.map +0 -1
  113. package/dist/client/_projectId-DfeVJy0G.mjs.map +0 -1
  114. package/dist/client/_securityGroupId-C5huJNfO.mjs.map +0 -1
  115. package/dist/client/_securityGroupId-D85mSigA.mjs.map +0 -1
  116. package/dist/client/_storageType-Dy9uCVXr.mjs +0 -845
  117. package/dist/client/_storageType-Dy9uCVXr.mjs.map +0 -1
  118. package/dist/client/flavors-Rl20bxVU.mjs +0 -628
  119. package/dist/client/flavors-Rl20bxVU.mjs.map +0 -1
  120. package/dist/client/floatingips-xbO_mu4f.mjs +0 -576
  121. package/dist/client/floatingips-xbO_mu4f.mjs.map +0 -1
  122. package/dist/client/images-BGQv9kKT.mjs.map +0 -1
  123. package/dist/client/objects-BE_u5yRt.mjs.map +0 -1
  124. package/dist/client/objects-BN-59Th0.mjs.map +0 -1
  125. package/dist/client/objects-D9Luf9KB.mjs +0 -66
  126. package/dist/client/objects-D9Luf9KB.mjs.map +0 -1
  127. package/dist/client/securitygroups-BjhgLBHm.mjs +0 -620
  128. package/dist/client/securitygroups-BjhgLBHm.mjs.map +0 -1
  129. package/dist/client/useModalTracking-BcOKTYRN.mjs +0 -33
  130. package/dist/client/useModalTracking-BcOKTYRN.mjs.map +0 -1
  131. package/dist/client/useSecurityGroupPermissions-BOyLQLdC.mjs +0 -227
  132. package/dist/client/useSecurityGroupPermissions-BOyLQLdC.mjs.map +0 -1
@@ -1,620 +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-DEJQBcxm.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 "./useModalTracking-BcOKTYRN.mjs";
7
- import { t as k } from "./ContentHeader-CPJbgYWn.mjs";
8
- import "./hooks-D0yKIumu.mjs";
9
- import { n as A, t as j } from "./FiltersInput-CKI6zWnm.mjs";
10
- import { c as ee, m as te, n as ne, p as M, s as N, t as P } from "./useSecurityGroupPermissions-BOyLQLdC.mjs";
11
- import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
12
- import { useEffect as R, useRef as z, useState as B } from "react";
13
- import { useNavigate as V, useSearch as re } from "@tanstack/react-router";
14
- import { Trans as H, useLingui as U } from "@lingui/react";
15
- import { z as W } from "zod";
16
- import { useForm as G, useStore as K } from "@tanstack/react-form";
17
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/-modals/DeleteSecurityGroupDialog.tsx
18
- var q = ({ isOpen: e, onClose: t, securityGroup: n, onDelete: i, isDeleting: a = !1, error: s = null }) => {
19
- let { i18n: c, _: d } = U(), { trackClose: f, markSubmitted: p, resetTracking: m } = O({
20
- isOpen: e,
21
- actionPrefix: "network.securitygroup.delete"
22
- }), h = W.object({ confirm: W.string().refine((e) => e === "delete", { message: c._({ id: "QytzQr" }) }) }), _ = G({
23
- defaultValues: { confirm: "" },
24
- validators: { onSubmit: h },
25
- onSubmit: async () => {
26
- a || (p(), i(n.id));
27
- }
28
- }), v = K(_.store, (e) => e.isSubmitting || e.values.confirm !== "delete"), b = n.name || n.id;
29
- return /*#__PURE__*/ I(l, {
30
- open: e,
31
- onCancel: () => {
32
- f(), _.reset(), m(), t();
33
- },
34
- size: "small",
35
- title: c._({
36
- id: "Y+2SDm",
37
- values: { securityGroupName: b }
38
- }),
39
- confirmButtonLabel: a ? c._({ id: "EF2EU9" }) : c._({ id: "cnGeoo" }),
40
- confirmButtonVariant: "primary-danger",
41
- onConfirm: _.handleSubmit,
42
- cancelButtonLabel: c._({ id: "dEgA5A" }),
43
- disableConfirmButton: v || a,
44
- disableCancelButton: a,
45
- disableCloseButton: a,
46
- children: /*#__PURE__*/ L(o, {
47
- direction: "vertical",
48
- gap: "4",
49
- children: [
50
- s && /*#__PURE__*/ I(r, {
51
- variant: "error",
52
- children: s
53
- }),
54
- /*#__PURE__*/ I("p", {
55
- className: "text-theme-default",
56
- children: /*#__PURE__*/ I(H, { id: "Qb+14I" })
57
- }),
58
- /*#__PURE__*/ I(u, {
59
- className: "mb-0",
60
- id: "delete-security-group-form",
61
- onSubmit: (e) => {
62
- e.preventDefault(), _.handleSubmit();
63
- },
64
- children: /*#__PURE__*/ I(y, { children: /*#__PURE__*/ I(_.Field, {
65
- name: "confirm",
66
- children: (e) => /*#__PURE__*/ I(g, {
67
- label: c._({ id: "QytzQr" }),
68
- id: e.name,
69
- name: e.name,
70
- value: e.state.value,
71
- onChange: (t) => e.handleChange(t.target.value),
72
- placeholder: "delete",
73
- disabled: a,
74
- autoComplete: "off",
75
- autoFocus: !0,
76
- "data-testid": "delete-confirmation-input",
77
- required: !0
78
- })
79
- }) })
80
- })
81
- ]
82
- })
83
- });
84
- };
85
- //#endregion
86
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupTableRow.tsx
87
- function J({ securityGroup: e, permissions: n, onEdit: r, onDelete: i, onViewDetails: a, isReadOnly: o = !1, showSelectColumn: s = !1, isSelected: l = !1, onSelect: u }) {
88
- let { i18n: f, _: p } = U(), m = ({ value: e }) => /*#__PURE__*/ I("span", { children: e ? f._({ id: "l75CjT" }) : f._({ id: "1UzENP" }) }), h = () => {
89
- a && a(e);
90
- };
91
- return /*#__PURE__*/ L(c, {
92
- "data-testid": `security-group-row-${e.id}`,
93
- onClick: h,
94
- className: "hover:bg-theme-background-lvl-2 cursor-pointer",
95
- children: [
96
- s && /*#__PURE__*/ I(S, {
97
- onClick: (e) => e.stopPropagation(),
98
- children: /*#__PURE__*/ I(x, {
99
- checked: l,
100
- onChange: () => u?.(e)
101
- })
102
- }),
103
- /*#__PURE__*/ I(S, { children: /*#__PURE__*/ I("div", { children: /*#__PURE__*/ I("p", {
104
- className: "text-md",
105
- children: e.name
106
- }) }) }),
107
- /*#__PURE__*/ I(S, { children: e.description || f._({ id: "h47p9L" }) }),
108
- /*#__PURE__*/ L(S, { children: [/*#__PURE__*/ I(m, { value: e.shared }), e.shared && /*#__PURE__*/ L("p", { children: [
109
- /*#__PURE__*/ I(H, { id: "LtI9AS" }),
110
- ": ",
111
- /*#__PURE__*/ I("span", {
112
- className: "text-theme-light text-xs",
113
- children: e.project_id
114
- })
115
- ] })] }),
116
- /*#__PURE__*/ I(S, { children: /*#__PURE__*/ I(m, { value: e.stateful }) }),
117
- /*#__PURE__*/ I(S, {
118
- onClick: (e) => e.stopPropagation(),
119
- className: "items-end justify-end pr-0",
120
- children: /*#__PURE__*/ I(t, { children: /*#__PURE__*/ L(d, { children: [
121
- /*#__PURE__*/ I(C, {
122
- label: f._({ id: "v0hPHE" }),
123
- onClick: () => h()
124
- }),
125
- n.canUpdate && !o && /*#__PURE__*/ I(C, {
126
- label: f._({ id: "ePK91l" }),
127
- onClick: () => r(e)
128
- }),
129
- n.canDelete && !o && /*#__PURE__*/ I(C, {
130
- label: f._({ id: "cnGeoo" }),
131
- onClick: () => i(e)
132
- })
133
- ] }) })
134
- })
135
- ]
136
- }, e.id);
137
- }
138
- //#endregion
139
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/-components/SecurityGroupListContainer.tsx
140
- var ie = ({ 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 }) => {
141
- let { i18n: g, _: v } = U(), y = V(), x = E(), [C, w] = B(null), [T, D] = B(!1), [O, k] = B(!1), A = z(!1), j = z(!1), ee = (e) => {
142
- C && C.id !== e.id && h && h(), w(e), D(!0);
143
- }, te = (e) => {
144
- w(e), k(!0);
145
- }, M = (e) => {
146
- y({
147
- to: "/projects/$projectId/network/securitygroups/$securityGroupId",
148
- params: {
149
- projectId: x,
150
- securityGroupId: e.id
151
- }
152
- });
153
- }, N = () => {
154
- w(null), D(!1);
155
- }, P = () => {
156
- w(null), k(!1);
157
- };
158
- return R(() => {
159
- A.current && !o && O && !l && P(), A.current = o;
160
- }, [
161
- o,
162
- l,
163
- O
164
- ]), R(() => {
165
- j.current && !d && T && !f && N(), j.current = d;
166
- }, [
167
- d,
168
- f,
169
- T
170
- ]), t ? /*#__PURE__*/ I(b, {
171
- status: "progress",
172
- title: g._({ id: "Z3FXyt" })
173
- }) : n ? /*#__PURE__*/ I(b, {
174
- status: "error",
175
- title: r?.message ?? g._({ id: "Wca9WC" })
176
- }) : /*#__PURE__*/ L(F, { children: [/*#__PURE__*/ L(_, {
177
- columns: m ? 6 : 5,
178
- minContentColumns: m ? [5] : [4],
179
- children: [/*#__PURE__*/ L(c, { children: [m && /*#__PURE__*/ I(s, {}), [
180
- g._({ id: "6YtxFj" }),
181
- g._({ id: "Nu4oKW" }),
182
- g._({ id: "0Gd0NU" }),
183
- g._({ id: "Jim5X9" }),
184
- ""
185
- ].map((e) => /*#__PURE__*/ I(s, { children: e }, e))] }), e && e.length > 0 ? e.map((e) => {
186
- let t = !!(p && e.project_id && e.project_id !== p);
187
- return /*#__PURE__*/ I(J, {
188
- securityGroup: e,
189
- permissions: i,
190
- onEdit: ee,
191
- onDelete: te,
192
- onViewDetails: M,
193
- isReadOnly: t,
194
- showSelectColumn: m,
195
- isSelected: !1,
196
- onSelect: () => {}
197
- }, e.id);
198
- }) : /*#__PURE__*/ I(c, { children: /*#__PURE__*/ I(S, {
199
- colSpan: m ? 6 : 5,
200
- children: /*#__PURE__*/ I(b, {
201
- status: "empty",
202
- title: g._({ id: "f+UUtj" }),
203
- body: g._({ id: "jqJG6j" })
204
- })
205
- }) })]
206
- }), C && /*#__PURE__*/ L(F, { children: [/*#__PURE__*/ I(ne, {
207
- securityGroup: C,
208
- open: T,
209
- onClose: N,
210
- onUpdate: (e, t) => u ? u(e, t) : Promise.resolve(),
211
- isLoading: d,
212
- error: f
213
- }), /*#__PURE__*/ I(q, {
214
- securityGroup: C,
215
- isOpen: O,
216
- onClose: P,
217
- onDelete: (e) => {
218
- a && a(e);
219
- },
220
- isDeleting: o,
221
- error: l
222
- })] })] });
223
- }, Y = {
224
- name: "",
225
- description: "",
226
- stateful: !0
227
- }, ae = ({ isOpen: e, onClose: t, onCreate: o, isLoading: s = !1, error: c = null }) => {
228
- let { i18n: d, _: m } = U(), [_, v] = B({ ...Y }), [b, S] = B({}), C = (e) => {
229
- let { name: t, value: n, type: r } = e.target, i = e.target.checked;
230
- v((e) => ({
231
- ...e,
232
- [t]: r === "checkbox" ? i : n
233
- })), b[t] && S((e) => {
234
- let n = { ...e };
235
- return delete n[t], n;
236
- });
237
- }, w = () => {
238
- let e = {};
239
- return (!_.name || _.name.trim() === "") && (e.name = d._({ id: "lN/Z9n" })), S(e), Object.keys(e).length === 0;
240
- }, T = async (e) => {
241
- e.preventDefault(), w() && (await o({
242
- name: _.name.trim(),
243
- description: _.description.trim() || void 0,
244
- stateful: _.stateful
245
- }), E());
246
- }, E = () => {
247
- v({ ...Y }), S({}), t();
248
- };
249
- return /*#__PURE__*/ L(l, {
250
- open: e,
251
- onCancel: E,
252
- size: "large",
253
- title: d._({ id: "YjAOtb" }),
254
- modalFooter: /*#__PURE__*/ I(a, {
255
- className: "flex justify-end",
256
- children: /*#__PURE__*/ L(i, { children: [/*#__PURE__*/ I(p, {
257
- variant: "default",
258
- onClick: E,
259
- disabled: s,
260
- children: /*#__PURE__*/ I(H, { id: "dEgA5A" })
261
- }), /*#__PURE__*/ I(p, {
262
- variant: "primary",
263
- onClick: (e) => {
264
- T(e);
265
- },
266
- disabled: s,
267
- "data-testid": "create-security-group-button",
268
- children: s ? /*#__PURE__*/ I(n, { size: "small" }) : /*#__PURE__*/ I(H, { id: "YjAOtb" })
269
- })] })
270
- }),
271
- children: [
272
- c && /*#__PURE__*/ I(r, {
273
- dismissible: !1,
274
- variant: "error",
275
- className: "mb-4",
276
- children: c
277
- }),
278
- s && /*#__PURE__*/ L("div", {
279
- className: "mb-4 flex items-center justify-center gap-2",
280
- children: [/*#__PURE__*/ I(n, { variant: "primary" }), /*#__PURE__*/ I("span", {
281
- className: "text-theme-high text-sm",
282
- children: /*#__PURE__*/ I(H, { id: "Km4AGG" })
283
- })]
284
- }),
285
- !s && /*#__PURE__*/ I(u, {
286
- className: "mb-6",
287
- children: /*#__PURE__*/ L(y, {
288
- className: "mb-6",
289
- children: [
290
- /*#__PURE__*/ I(f, {
291
- className: "mb-6",
292
- children: /*#__PURE__*/ I(g, {
293
- id: "name",
294
- name: "name",
295
- label: d._({ id: "6YtxFj" }),
296
- value: _.name,
297
- onChange: C,
298
- required: !0,
299
- errortext: b.name,
300
- placeholder: d._({ id: "Ac6dy9" }),
301
- disabled: s
302
- })
303
- }),
304
- /*#__PURE__*/ I(f, {
305
- className: "mb-6",
306
- children: /*#__PURE__*/ I(h, {
307
- id: "description",
308
- name: "description",
309
- label: d._({ id: "Nu4oKW" }),
310
- value: _.description,
311
- onChange: C,
312
- placeholder: d._({ id: "Nu4oKW" }),
313
- disabled: s,
314
- rows: 3
315
- })
316
- }),
317
- /*#__PURE__*/ I(f, {
318
- className: "mb-0",
319
- children: /*#__PURE__*/ I(x, {
320
- id: "stateful",
321
- name: "stateful",
322
- label: d._({ id: "Jim5X9" }),
323
- checked: _.stateful,
324
- onChange: C,
325
- disabled: s,
326
- helptext: d._({ id: "4cQTyf" })
327
- })
328
- })
329
- ]
330
- })
331
- })
332
- ]
333
- });
334
- }, X = (e) => {
335
- let t = [];
336
- return e.shared && t.push({
337
- name: "shared",
338
- value: e.shared
339
- }), t;
340
- }, oe = (e, t) => {
341
- let n = {};
342
- if (!e?.length) return n;
343
- let r = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
344
- return Object.entries(r).forEach(([e, r]) => {
345
- t.find((t) => t.filterName === e)?.supportsMultiValue && r.length > 1 ? n[e] = `in:${r.join(",")}` : n[e] = r[0];
346
- }), n;
347
- }, se = (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], ce = (e, t, n) => {
348
- let r = {
349
- search: n.search,
350
- sortBy: n.sortBy,
351
- sortDirection: n.sortDirection
352
- };
353
- if (!e?.length) return r;
354
- let i = e.filter((e) => !e.inactive).reduce((e, t) => (e[t.name] || (e[t.name] = []), e[t.name].push(t.value), e), {});
355
- return Object.entries(i).forEach(([e, n]) => {
356
- t.find((t) => t.filterName === e)?.supportsMultiValue && n.length > 1 ? r[e] = `in:${n.join(",")}` : r[e] = n[0];
357
- }), r;
358
- }, le = ({ project: t }) => {
359
- let { i18n: n, _: r } = U(), i = V(), a = re({ strict: !1 }), [s, c] = B({
360
- options: [{
361
- label: n._({ id: "6YtxFj" }),
362
- value: "name"
363
- }, {
364
- label: n._({ id: "podzPY" }),
365
- value: "project_id"
366
- }],
367
- sortBy: a.sortBy || "name",
368
- sortDirection: a.sortDirection || "asc"
369
- }), [l, u] = B({
370
- filters: [{
371
- displayName: n._({ id: "0Gd0NU" }),
372
- filterName: "shared",
373
- values: ["true", "false"],
374
- supportsMultiValue: !1
375
- }],
376
- selectedFilters: X(a)
377
- }), [d, f] = B(a.search || ""), [h, g] = B(!1), [_, y] = B(null), [x, S] = B(null), [C, T] = B(null), E = w.useUtils();
378
- R(() => {
379
- c((e) => ({
380
- ...e,
381
- sortBy: a.sortBy || "name",
382
- sortDirection: a.sortDirection || "asc"
383
- })), u((e) => ({
384
- ...e,
385
- selectedFilters: X(a)
386
- })), f(a.search || "");
387
- }, [
388
- a.sortBy,
389
- a.sortDirection,
390
- a.search,
391
- a.shared
392
- ]);
393
- let O = X(a), ne = a.sortBy || "name", z = a.sortDirection || "asc", W = a.search || "", { data: G, isLoading: K, isError: q, error: J } = w.network.securityGroup.list.useQuery({
394
- project_id: t || "",
395
- sort_key: ne,
396
- sort_dir: z,
397
- ...oe(O, l.filters),
398
- ...W ? { searchTerm: W } : {}
399
- }, { refetchOnWindowFocus: !1 }), Y = G || [], le = q && J?.data?.code === "FORBIDDEN" ? n._({ id: "MdfAJn" }) : null, { permissions: Z } = P(t), ue = w.network.securityGroup.create.useMutation({
400
- onSuccess: (e) => {
401
- E.network.securityGroup.list.invalidate(), E.network.securityGroup.getById.invalidate(), S(null), i({
402
- to: "/projects/$projectId/network/securitygroups/$securityGroupId",
403
- params: {
404
- projectId: t,
405
- securityGroupId: e.id
406
- }
407
- });
408
- },
409
- onError: (e) => {
410
- S(e.message || n._({ id: "o6M6l0" }));
411
- }
412
- }), de = w.network.securityGroup.deleteById.useMutation({
413
- onSuccess: () => {
414
- E.network.securityGroup.list.invalidate(), E.network.securityGroup.getById.invalidate(), y(null);
415
- },
416
- onError: (e) => {
417
- y(e.message || n._({ id: "d0pLfy" }));
418
- let { message: t, ...r } = N(e.message);
419
- v.error(t, r);
420
- }
421
- }), Q = w.network.securityGroup.update.useMutation({
422
- onSuccess: () => {
423
- E.network.securityGroup.list.invalidate(), E.network.securityGroup.getById.invalidate(), T(null);
424
- },
425
- onError: (e) => {
426
- T(e.message || n._({ id: "jPxavx" }));
427
- let { message: t, ...r } = M(e.message);
428
- v.error(t, r);
429
- }
430
- }), fe = async (e) => {
431
- S(null);
432
- try {
433
- await ue.mutateAsync({
434
- project_id: t,
435
- ...e
436
- });
437
- } catch {}
438
- }, pe = (e) => {
439
- y(null);
440
- let n = Y.find((t) => t.id === e)?.name || e;
441
- de.mutate({
442
- project_id: t,
443
- securityGroupId: e
444
- }, { onSuccess: () => {
445
- let { message: e, ...t } = ee(n);
446
- v.success(e, t);
447
- } });
448
- }, me = async (e, n) => {
449
- T(null);
450
- let r = n.name || Y.find((t) => t.id === e)?.name || e;
451
- try {
452
- await Q.mutateAsync({
453
- project_id: t,
454
- securityGroupId: e,
455
- ...n
456
- });
457
- let { message: i, ...a } = te(r);
458
- v.success(i, a);
459
- } catch {}
460
- }, he = () => {
461
- T(null);
462
- }, ge = (e) => {
463
- let t = {
464
- options: e.options,
465
- sortBy: e.sortBy?.toString() || "name",
466
- sortDirection: e.sortDirection || "asc"
467
- };
468
- c(t), i({
469
- search: (e) => ({
470
- ...e,
471
- sortBy: t.sortBy,
472
- sortDirection: t.sortDirection
473
- }),
474
- replace: !0
475
- });
476
- }, $ = (e) => {
477
- u(e), i({
478
- search: (t) => ce(e.selectedFilters || [], e.filters, {
479
- search: t.search,
480
- sortBy: t.sortBy,
481
- sortDirection: t.sortDirection
482
- }),
483
- replace: !0
484
- });
485
- }, _e = (e) => {
486
- let t = typeof e == "string" ? e : "";
487
- f(t), i({
488
- search: (e) => ({
489
- ...e,
490
- search: t || void 0
491
- }),
492
- replace: !0
493
- });
494
- };
495
- return K ? /*#__PURE__*/ I(b, {
496
- status: "progress",
497
- title: n._({ id: "YsgZl3" })
498
- }) : q && !Y.length ? /*#__PURE__*/ I(o, {
499
- className: "py-8",
500
- distribution: "center",
501
- alignment: "center",
502
- direction: "vertical",
503
- children: le || n._({ id: "Wca9WC" })
504
- }) : /*#__PURE__*/ L(F, { children: [
505
- /*#__PURE__*/ I(k, {
506
- title: n._({ id: "4opp4r" }),
507
- projectId: t
508
- }),
509
- /*#__PURE__*/ I(o, {
510
- distribution: "end",
511
- alignment: "center",
512
- gap: "2",
513
- className: "pb-2",
514
- children: /*#__PURE__*/ L(o, {
515
- gap: "2",
516
- children: [/*#__PURE__*/ I(D, {
517
- options: s.options,
518
- sortBy: s.sortBy,
519
- sortDirection: s.sortDirection ?? "asc",
520
- selectClassName: "min-w-40",
521
- onSortByChange: (e) => ge({
522
- ...s,
523
- sortBy: e,
524
- sortDirection: s.sortDirection
525
- }),
526
- onSortDirectionChange: (e) => ge({
527
- ...s,
528
- sortDirection: e
529
- })
530
- }), Z.canCreate && /*#__PURE__*/ I(p, {
531
- onClick: () => g(!0),
532
- variant: "primary",
533
- className: "whitespace-nowrap",
534
- children: /*#__PURE__*/ I(H, { id: "YjAOtb" })
535
- })]
536
- })
537
- }),
538
- /*#__PURE__*/ I(m, { children: /*#__PURE__*/ L(o, {
539
- direction: "vertical",
540
- gap: "2",
541
- children: [/*#__PURE__*/ L(o, {
542
- distribution: "between",
543
- alignment: "center",
544
- children: [/*#__PURE__*/ I(j, {
545
- filters: l.filters,
546
- selectClassName: "sm:min-w-40",
547
- comboboxClassName: "sm:min-w-40",
548
- onChange: (e) => {
549
- let t = se(l.selectedFilters || [], e, l.filters);
550
- t !== (l.selectedFilters || []) && $({
551
- ...l,
552
- selectedFilters: t
553
- });
554
- }
555
- }), /*#__PURE__*/ I(e, {
556
- placeholder: n._({ id: "rp7Ili" }),
557
- "data-testid": "searchbar",
558
- value: d,
559
- onInput: (e) => {
560
- let t = e.currentTarget.value;
561
- f(t);
562
- },
563
- onSearch: (e) => {
564
- _e(typeof e == "string" ? e : "");
565
- },
566
- onClear: () => {
567
- f(""), _e("");
568
- }
569
- })]
570
- }), l.selectedFilters && l.selectedFilters.length > 0 && /*#__PURE__*/ I(A, {
571
- selectedFilters: l.selectedFilters,
572
- onDelete: (e) => $({
573
- ...l,
574
- selectedFilters: (l.selectedFilters || []).filter((t) => t.name !== e.name || t.value !== e.value)
575
- }),
576
- onClear: () => $({
577
- ...l,
578
- selectedFilters: []
579
- })
580
- })]
581
- }) }),
582
- /*#__PURE__*/ I(ie, {
583
- securityGroups: Y,
584
- isLoading: !1,
585
- isError: !1,
586
- error: null,
587
- permissions: Z,
588
- onCreateClick: () => g(!0),
589
- onDeleteSecurityGroup: pe,
590
- isDeletingSecurityGroup: de.isPending,
591
- deleteError: _,
592
- onUpdateSecurityGroup: me,
593
- isUpdatingSecurityGroup: Q.isPending,
594
- updateError: C,
595
- currentProjectId: t,
596
- hasAnyBulkAction: !1,
597
- onClearUpdateError: he
598
- }),
599
- /*#__PURE__*/ I(ae, {
600
- isOpen: h,
601
- onClose: () => {
602
- S(null), g(!1);
603
- },
604
- onCreate: fe,
605
- isLoading: ue.isPending,
606
- error: x
607
- })
608
- ] });
609
- };
610
- //#endregion
611
- //#region src/client/routes/_auth/projects/$projectId/network/securitygroups/index.tsx?tsr-split=component
612
- function Z() {
613
- let { projectId: e } = T.useParams(), { trpcClient: t } = T.useRouteContext();
614
- if (!t) throw Error("trpcClient is not available in route context");
615
- return /*#__PURE__*/ I(le, { project: e });
616
- }
617
- //#endregion
618
- export { Z as component };
619
-
620
- //# sourceMappingURL=securitygroups-BjhgLBHm.mjs.map