@cobaltcore-dev/aurora 1.0.0 → 1.1.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 (127) hide show
  1. package/dist/client/App.d.ts +2 -1
  2. package/dist/client/AuroraApp.d.ts +25 -0
  3. package/dist/client/{AuthProvider-5TyZKZkx.mjs → AuthProvider-BS5OVv8n.mjs} +2 -2
  4. package/dist/client/AuthProvider-BS5OVv8n.mjs.map +1 -0
  5. package/dist/client/{ContentHeader-D64NtKvo.mjs → ContentHeader-BHMUzd9H.mjs} +16 -16
  6. package/dist/client/{ContentHeader-D64NtKvo.mjs.map → ContentHeader-BHMUzd9H.mjs.map} +1 -1
  7. package/dist/client/{DeleteFlavorModal-C2K43ABZ.mjs → DeleteFlavorModal-BP83t9zX.mjs} +283 -294
  8. package/dist/client/DeleteFlavorModal-BP83t9zX.mjs.map +1 -0
  9. package/dist/client/{FiltersInput-Bw8TFfwb.mjs → FiltersInput-B8CNBg1L.mjs} +23 -23
  10. package/dist/client/{FiltersInput-Bw8TFfwb.mjs.map → FiltersInput-B8CNBg1L.mjs.map} +1 -1
  11. package/dist/client/{FloatingIpActionModals-BfEDfYg9.mjs → FloatingIpActionModals-BraiJWBi.mjs} +48 -48
  12. package/dist/client/{FloatingIpActionModals-BfEDfYg9.mjs.map → FloatingIpActionModals-BraiJWBi.mjs.map} +1 -1
  13. package/dist/client/ImageToastNotifications-BXMHJaIH.mjs +1131 -0
  14. package/dist/client/ImageToastNotifications-BXMHJaIH.mjs.map +1 -0
  15. package/dist/client/{RouteError-B-NPGIv7.mjs → RouteError-hAF8_jbe.mjs} +2 -2
  16. package/dist/client/{RouteError-B-NPGIv7.mjs.map → RouteError-hAF8_jbe.mjs.map} +1 -1
  17. package/dist/client/{SortInput-DysAXpB3.mjs → SortInput-Cqs2poV3.mjs} +7 -7
  18. package/dist/client/{SortInput-DysAXpB3.mjs.map → SortInput-Cqs2poV3.mjs.map} +1 -1
  19. package/dist/client/{StatusError-DX-GvLjq.mjs → StatusError-C5KodQOq.mjs} +4 -4
  20. package/dist/client/{StatusError-DX-GvLjq.mjs.map → StatusError-C5KodQOq.mjs.map} +1 -1
  21. package/dist/client/{TwoColumnDescriptionList-B3xunXmz.mjs → TwoColumnDescriptionList-DiDx3PnH.mjs} +6 -6
  22. package/dist/client/{TwoColumnDescriptionList-B3xunXmz.mjs.map → TwoColumnDescriptionList-DiDx3PnH.mjs.map} +1 -1
  23. package/dist/client/{_auth-R5H2yKFf.mjs → _auth-DJ9wHZaj.mjs} +2 -2
  24. package/dist/client/{_auth-R5H2yKFf.mjs.map → _auth-DJ9wHZaj.mjs.map} +1 -1
  25. package/dist/client/{_flavorId-Zj7LNL-R.mjs → _flavorId-BN_qessZ.mjs} +2 -2
  26. package/dist/client/{_flavorId-Zj7LNL-R.mjs.map → _flavorId-BN_qessZ.mjs.map} +1 -1
  27. package/dist/client/{_flavorId-Dit5mM8I.mjs → _flavorId-CJjEB_Ao.mjs} +34 -34
  28. package/dist/client/{_flavorId-Dit5mM8I.mjs.map → _flavorId-CJjEB_Ao.mjs.map} +1 -1
  29. package/dist/client/{_floatingIpId-DCQQpNO-.mjs → _floatingIpId-CwDGHkWm.mjs} +2 -2
  30. package/dist/client/{_floatingIpId-DCQQpNO-.mjs.map → _floatingIpId-CwDGHkWm.mjs.map} +1 -1
  31. package/dist/client/{_floatingIpId-B0MCoqE3.mjs → _floatingIpId-foMIwbE4.mjs} +23 -23
  32. package/dist/client/{_floatingIpId-B0MCoqE3.mjs.map → _floatingIpId-foMIwbE4.mjs.map} +1 -1
  33. package/dist/client/_imageId-BtJ7GmYB.mjs +558 -0
  34. package/dist/client/{_imageId-CZYzBAVx.mjs.map → _imageId-BtJ7GmYB.mjs.map} +1 -1
  35. package/dist/client/{_projectId-DhSWowQo.mjs → _projectId-BmtCuzJu.mjs} +4 -4
  36. package/dist/client/{_projectId-DhSWowQo.mjs.map → _projectId-BmtCuzJu.mjs.map} +1 -1
  37. package/dist/client/_projectId-Byt3GQDW.mjs +99 -0
  38. package/dist/client/_projectId-Byt3GQDW.mjs.map +1 -0
  39. package/dist/client/_projectId-NYk1IN_a.mjs +291 -0
  40. package/dist/client/_projectId-NYk1IN_a.mjs.map +1 -0
  41. package/dist/client/{_projectId-D2pFfYIs.mjs → _projectId-QueiFczy.mjs} +3 -3
  42. package/dist/client/{_projectId-D2pFfYIs.mjs.map → _projectId-QueiFczy.mjs.map} +1 -1
  43. package/dist/client/{_securityGroupId-Mj8NJT2-.mjs → _securityGroupId-BcbkRhsN.mjs} +2 -2
  44. package/dist/client/{_securityGroupId-Mj8NJT2-.mjs.map → _securityGroupId-BcbkRhsN.mjs.map} +1 -1
  45. package/dist/client/{_securityGroupId-DZ4D4WwB.mjs → _securityGroupId-pPtJsCoe.mjs} +438 -442
  46. package/dist/client/{_securityGroupId-DZ4D4WwB.mjs.map → _securityGroupId-pPtJsCoe.mjs.map} +1 -1
  47. package/dist/client/_storageType-BmqrU06i.mjs +2202 -0
  48. package/dist/client/_storageType-BmqrU06i.mjs.map +1 -0
  49. package/dist/client/{about-WLyShNgE.mjs → about-_73VmpTB.mjs} +2 -2
  50. package/dist/client/{about-WLyShNgE.mjs.map → about-_73VmpTB.mjs.map} +1 -1
  51. package/dist/client/assets/{objectDownload.worker-BXFQIIU_.js.map → objectDownload.worker-CWWLPDyb.js.map} +1 -1
  52. package/dist/client/assets/{objectDownload.worker-ECvFtmOF.js.map → objectDownload.worker-kZlQuo3F.js.map} +1 -1
  53. package/dist/client/{aurora-IMO9HhqJ.mjs → aurora-EbwGRLLf.mjs} +2 -2
  54. package/dist/client/{aurora-IMO9HhqJ.mjs.map → aurora-EbwGRLLf.mjs.map} +1 -1
  55. package/dist/client/{build-DnD-T35u.mjs → build-C_4vRMCq.mjs} +2233 -2662
  56. package/dist/client/{build-DnD-T35u.mjs.map → build-C_4vRMCq.mjs.map} +1 -1
  57. package/dist/client/{flavors-Cp0LEGOH.mjs → flavors-CiHCYrtZ.mjs} +2 -2
  58. package/dist/client/{flavors-Cp0LEGOH.mjs.map → flavors-CiHCYrtZ.mjs.map} +1 -1
  59. package/dist/client/{flavors-CwMbDRHm2.mjs → flavors-DY-bDc8l.mjs} +164 -164
  60. package/dist/client/flavors-DY-bDc8l.mjs.map +1 -0
  61. package/dist/client/{floatingips-ICwo-rV_.mjs → floatingips-Ci4jHkaG.mjs} +177 -177
  62. package/dist/client/{floatingips-ICwo-rV_.mjs.map → floatingips-Ci4jHkaG.mjs.map} +1 -1
  63. package/dist/client/{hooks-CrriowRk.mjs → hooks-LutR2Yg3.mjs} +2 -2
  64. package/dist/client/{hooks-CrriowRk.mjs.map → hooks-LutR2Yg3.mjs.map} +1 -1
  65. package/dist/client/images-91U7tr9Y2.mjs +1976 -0
  66. package/dist/client/images-91U7tr9Y2.mjs.map +1 -0
  67. package/dist/client/{images-DWiM_72I.mjs → images-CS4kZQyu.mjs} +2 -2
  68. package/dist/client/{images-DWiM_72I.mjs.map → images-CS4kZQyu.mjs.map} +1 -1
  69. package/dist/client/index.d.ts +4 -1
  70. package/dist/client/index.js +444 -586
  71. package/dist/client/index.js.map +1 -1
  72. package/dist/client/{md-DNzcRhmz.mjs → md-kvaGCNAK.mjs} +4 -22
  73. package/dist/client/{md-DNzcRhmz.mjs.map → md-kvaGCNAK.mjs.map} +1 -1
  74. package/dist/client/{objects-DeK2WD5K.mjs → objects-C3azvW8m.mjs} +2019 -2023
  75. package/dist/client/{objects-DeK2WD5K.mjs.map → objects-C3azvW8m.mjs.map} +1 -1
  76. package/dist/client/{objects-DI1-tnKr.mjs → objects-CM265S6b.mjs} +2 -2
  77. package/dist/client/{objects-DI1-tnKr.mjs.map → objects-CM265S6b.mjs.map} +1 -1
  78. package/dist/client/{objects-D2MKUCxc.mjs → objects-EE9Cd1wI.mjs} +2 -2
  79. package/dist/client/{objects-D2MKUCxc.mjs.map → objects-EE9Cd1wI.mjs.map} +1 -1
  80. package/dist/client/{routeInfo-CdTRlSxv.mjs → routeInfo-DXqB2HCf.mjs} +3 -3
  81. package/dist/client/routeInfo-DXqB2HCf.mjs.map +1 -0
  82. package/dist/client/router.d.ts +2 -1
  83. package/dist/client/{routes-DOJr5onJ.mjs → routes-CBd8CCuM.mjs} +13 -13
  84. package/dist/client/{routes-DOJr5onJ.mjs.map → routes-CBd8CCuM.mjs.map} +1 -1
  85. package/dist/client/{routes-B05u5bk4.mjs → routes-CdDm-hhO.mjs} +2 -2
  86. package/dist/client/{routes-B05u5bk4.mjs.map → routes-CdDm-hhO.mjs.map} +1 -1
  87. package/dist/client/{securitygroups-Be2Qgmew.mjs → securitygroups-Bd_uV4S9.mjs} +198 -198
  88. package/dist/client/{securitygroups-Be2Qgmew.mjs.map → securitygroups-Bd_uV4S9.mjs.map} +1 -1
  89. package/dist/client/{securitygroups-_7SYN2jN.mjs → securitygroups-Byte-iSp.mjs} +2 -2
  90. package/dist/client/{securitygroups-_7SYN2jN.mjs.map → securitygroups-Byte-iSp.mjs.map} +1 -1
  91. package/dist/client/services-D1PbooD1.mjs +6 -0
  92. package/dist/client/services-D1PbooD1.mjs.map +1 -0
  93. package/dist/client/services-DEMVtFyn.mjs +9 -0
  94. package/dist/client/services-DEMVtFyn.mjs.map +1 -0
  95. package/dist/client/trpcClient.d.ts +18 -367
  96. package/dist/client/{useSecurityGroupPermissions-qPwm4mFt.mjs → useSecurityGroupPermissions-C29mzb3b.mjs} +15 -15
  97. package/dist/client/{useSecurityGroupPermissions-qPwm4mFt.mjs.map → useSecurityGroupPermissions-C29mzb3b.mjs.map} +1 -1
  98. package/dist/server/index.d.ts +43 -369
  99. package/dist/server/index.js +71 -276
  100. package/package.json +1 -3
  101. package/dist/client/AuthProvider-5TyZKZkx.mjs.map +0 -1
  102. package/dist/client/DeleteFlavorModal-C2K43ABZ.mjs.map +0 -1
  103. package/dist/client/DeletePcaModal-D9v8E0Ki.mjs +0 -92
  104. package/dist/client/DeletePcaModal-D9v8E0Ki.mjs.map +0 -1
  105. package/dist/client/DetailsInfo-h7rPJ4Jf.mjs +0 -61
  106. package/dist/client/DetailsInfo-h7rPJ4Jf.mjs.map +0 -1
  107. package/dist/client/ImageToastNotifications-C0Tluzq-.mjs +0 -1125
  108. package/dist/client/ImageToastNotifications-C0Tluzq-.mjs.map +0 -1
  109. package/dist/client/_imageId-CZYzBAVx.mjs +0 -558
  110. package/dist/client/_pcaId-CHRRsWmO.mjs +0 -605
  111. package/dist/client/_pcaId-CHRRsWmO.mjs.map +0 -1
  112. package/dist/client/_projectId-B8wWSxPu.mjs +0 -98
  113. package/dist/client/_projectId-B8wWSxPu.mjs.map +0 -1
  114. package/dist/client/_projectId-C5DUYIjt.mjs +0 -291
  115. package/dist/client/_projectId-C5DUYIjt.mjs.map +0 -1
  116. package/dist/client/_storageType-C-9bNkmZ.mjs +0 -2211
  117. package/dist/client/_storageType-C-9bNkmZ.mjs.map +0 -1
  118. package/dist/client/flavors-CwMbDRHm2.mjs.map +0 -1
  119. package/dist/client/images-DOGZmr3D.mjs +0 -1937
  120. package/dist/client/images-DOGZmr3D.mjs.map +0 -1
  121. package/dist/client/pca-BokFv4Gz.mjs +0 -239
  122. package/dist/client/pca-BokFv4Gz.mjs.map +0 -1
  123. package/dist/client/pca-D5jHAl0b.mjs +0 -26
  124. package/dist/client/pca-D5jHAl0b.mjs.map +0 -1
  125. package/dist/client/pcaAccess-Br4kVjLQ.mjs +0 -9
  126. package/dist/client/pcaAccess-Br4kVjLQ.mjs.map +0 -1
  127. package/dist/client/routeInfo-CdTRlSxv.mjs.map +0 -1
@@ -1,558 +0,0 @@
1
- import { D as e, G as t, I as n, M as r, S as i, Z as a, _ as o, a as s, at as c, c as l, j as u, k as d, l as f, n as p, rt as m, z as h } from "./build-DnD-T35u.mjs";
2
- import { a as g } from "./trpcClient-D7gpR7YG.mjs";
3
- import { n as _, t as ee } from "./ContentHeader-D64NtKvo.mjs";
4
- import { t as v } from "./TwoColumnDescriptionList-B3xunXmz.mjs";
5
- import { A as y, D as te, E as ne, F as b, I as x, N as re, O as ie, P as S, T as ae, d as oe, k as se, u as ce } from "./ImageToastNotifications-C0Tluzq-.mjs";
6
- import { Fragment as le, jsx as C, jsxs as w } from "react/jsx-runtime";
7
- import T, { useState as E } from "react";
8
- import { useNavigate as ue, useParams as de, useSearch as fe } from "@tanstack/react-router";
9
- import { Trans as D, useLingui as O } from "@lingui/react";
10
- //#region src/client/routes/_auth/projects/$projectId/compute/-components/Images/-components/ImageDetailsView.tsx
11
- var k = ({ image: e, myMemberData: t, canUpdateMember: n, onStatusChange: i, isLoading: a }) => {
12
- let { i18n: o, _: c } = O(), l = t.status === b.PENDING, u = t.status === b.REJECTED, d = t.created_at ? new Date(t.created_at).toLocaleString() : o._({ id: "fj5byd" }), f = t.updated_at ? new Date(t.updated_at).toLocaleString() : o._({ id: "fj5byd" }), p = e.owner ?? "";
13
- return /*#__PURE__*/ w(h, { children: [
14
- l && /*#__PURE__*/ C("p", {
15
- className: "text-theme-highest font-semibold",
16
- children: /*#__PURE__*/ C(D, { id: "/EcdUM" })
17
- }),
18
- /*#__PURE__*/ C("p", { children: /*#__PURE__*/ C(D, {
19
- id: "Uwo8Xw",
20
- values: {
21
- ownerProject: p,
22
- sharedAt: d
23
- },
24
- components: { 0: /*#__PURE__*/ C("span", { className: "font-semibold" }) }
25
- }) }),
26
- /*#__PURE__*/ w("ul", { children: [
27
- /*#__PURE__*/ w("li", { children: [
28
- /*#__PURE__*/ C("span", {
29
- className: "font-semibold",
30
- children: /*#__PURE__*/ C(D, { id: "azXlY+" })
31
- }),
32
- " ",
33
- t.status
34
- ] }),
35
- /*#__PURE__*/ w("li", { children: [
36
- /*#__PURE__*/ C("span", {
37
- className: "font-semibold",
38
- children: /*#__PURE__*/ C(D, { id: "G6AP+o" })
39
- }),
40
- " ",
41
- d
42
- ] }),
43
- /*#__PURE__*/ w("li", { children: [
44
- /*#__PURE__*/ C("span", {
45
- className: "font-semibold",
46
- children: /*#__PURE__*/ C(D, { id: "pFg+7w" })
47
- }),
48
- " ",
49
- f
50
- ] })
51
- ] }),
52
- n && (l || u) && /*#__PURE__*/ w(r, { children: [/*#__PURE__*/ C(s, {
53
- onClick: () => i(b.ACCEPTED),
54
- disabled: a,
55
- children: /*#__PURE__*/ C(D, { id: "g3UF2V" })
56
- }), l && /*#__PURE__*/ C(s, {
57
- onClick: () => i(b.REJECTED),
58
- disabled: a,
59
- children: /*#__PURE__*/ C(D, { id: "1t/NnN" })
60
- })] })
61
- ] });
62
- }, A = ({ image: e }) => {
63
- let { i18n: t, _: n } = O(), r = [
64
- {
65
- label: t._({ id: "S0kLOH" }),
66
- value: /*#__PURE__*/ C(_, { text: e.id })
67
- },
68
- {
69
- label: t._({ id: "6YtxFj" }),
70
- value: e.name
71
- },
72
- {
73
- label: t._({ id: "uAQUqI" }),
74
- value: e.status
75
- },
76
- {
77
- label: t._({ id: "Cj2Gtd" }),
78
- value: /*#__PURE__*/ C(x, { size: e.size })
79
- },
80
- {
81
- label: t._({ id: "Cxgv2U" }),
82
- value: `${e.min_disk} GB`
83
- },
84
- {
85
- label: t._({ id: "B2Czeb" }),
86
- value: `${e.min_ram} MB`
87
- },
88
- {
89
- label: t._({ id: "NopYGU" }),
90
- value: /*#__PURE__*/ C("span", {
91
- className: "uppercase",
92
- children: e.disk_format
93
- })
94
- },
95
- {
96
- label: t._({ id: "6/xipy" }),
97
- value: /*#__PURE__*/ C("span", {
98
- className: "uppercase",
99
- children: e.container_format
100
- })
101
- },
102
- {
103
- label: t._({ id: "88kg0+" }),
104
- value: e.created_at ? new Date(e.created_at).toLocaleDateString() : t._({ id: "fj5byd" })
105
- },
106
- {
107
- label: t._({ id: "Llcakz" }),
108
- value: e.updated_at ? new Date(e.updated_at).toLocaleDateString() : t._({ id: "fj5byd" })
109
- }
110
- ];
111
- return /*#__PURE__*/ w(u, {
112
- px: !1,
113
- py: !0,
114
- children: [/*#__PURE__*/ C(m, { children: t._({ id: "nW/hX9" }) }), /*#__PURE__*/ C(v, { items: r })]
115
- });
116
- }, j = ({ image: e, currentProjectId: t }) => {
117
- let { i18n: n, _: r } = O(), i = [
118
- {
119
- label: e.visibility === "shared" && e.owner !== void 0 && e.owner !== t ? n._({ id: "20axE5" }) : n._({ id: "YsrbQh" }),
120
- value: e.owner ? /*#__PURE__*/ C(_, { text: e.owner }) : ""
121
- },
122
- {
123
- label: n._({ id: "2q/Q7x" }),
124
- value: e.visibility
125
- },
126
- {
127
- label: n._({ id: "644xgx" }),
128
- value: e.protected ? n._({ id: "l75CjT" }) : n._({ id: "1UzENP" })
129
- },
130
- {
131
- label: n._({ id: "PzgYM9" }),
132
- value: e?.checksum ? e.checksum : ""
133
- }
134
- ];
135
- return /*#__PURE__*/ w(u, {
136
- px: !1,
137
- py: !0,
138
- children: [/*#__PURE__*/ C(m, { children: n._({ id: "a3LDKx" }) }), /*#__PURE__*/ C(v, { items: i })]
139
- });
140
- }, M = ({ image: t }) => {
141
- let { i18n: n, _: r } = O(), i = /* @__PURE__ */ new Set([
142
- "id",
143
- "name",
144
- "status",
145
- "visibility",
146
- "size",
147
- "disk_format",
148
- "container_format",
149
- "min_disk",
150
- "min_ram",
151
- "owner",
152
- "protected",
153
- "created_at",
154
- "updated_at",
155
- "checksum"
156
- ]), a = Object.entries(t).filter(([e]) => !i.has(e)).sort(([e], [t]) => e.localeCompare(t)), o = a.length > 0;
157
- return /*#__PURE__*/ w(u, {
158
- px: !1,
159
- py: !0,
160
- children: [/*#__PURE__*/ C(m, { children: n._({ id: "bc67JN" }) }), o ? /*#__PURE__*/ C(l, {
161
- alignTerms: "right",
162
- className: "grid-cols-4",
163
- children: a.map(([t, r]) => /*#__PURE__*/ w(T.Fragment, { children: [/*#__PURE__*/ C(p, {
164
- className: "col-span-1",
165
- children: t
166
- }), /*#__PURE__*/ C(e, {
167
- className: "col-span-1",
168
- children: r == null ? /*#__PURE__*/ C("span", { children: "null" }) : typeof r == "object" ? /*#__PURE__*/ C("span", {
169
- className: "break-all",
170
- children: JSON.stringify(r)
171
- }) : typeof r == "boolean" ? r ? n._({ id: "c+xCSz" }) : n._({ id: "ocUvR+" }) : /*#__PURE__*/ C("span", {
172
- className: "break-all",
173
- children: String(r)
174
- })
175
- })] }, t))
176
- }) : /*#__PURE__*/ C("p", {
177
- className: "text-theme-light",
178
- children: n._({ id: "9v5VLp" })
179
- })]
180
- });
181
- }, N = (e) => {
182
- let t = "px-6 py-3 font-semibold border-b-2 transition-colors";
183
- return e ? `${t} border-theme-accent text-theme-highest` : `${t} border-transparent text-theme-secondary hover:text-theme-high`;
184
- }, P = ({ image: e, permissions: t, currentProjectId: r }) => {
185
- let [i, a] = E(!1), [o, s] = E(null), { data: c, isLoading: l } = g.compute.listImageMembers.useQuery({
186
- project_id: r,
187
- imageId: e.id
188
- }, { enabled: !!e.id && !!r });
189
- return /*#__PURE__*/ w(u, {
190
- px: !1,
191
- py: !0,
192
- children: [o && /*#__PURE__*/ C(n, {
193
- text: o.text,
194
- variant: o.type,
195
- onDismiss: () => s(null),
196
- className: "mb-4"
197
- }), /*#__PURE__*/ C(y, {
198
- image: e,
199
- imageMembers: c,
200
- isMembersLoading: l,
201
- canAdd: t?.canCreateMember ?? !1,
202
- canRemove: t?.canDeleteMember ?? !1,
203
- isAddingMember: i,
204
- setIsAddingMember: a,
205
- setMessage: s,
206
- projectId: r
207
- })]
208
- });
209
- }, pe = ({ image: e, currentProjectId: t, activeTab: n = "details", onTabChange: r, permissions: i, myMemberData: o, onMemberStatusChange: s, isMemberStatusChanging: c, actions: l }) => {
210
- let { i18n: u, _: d } = O(), f = e.visibility === "shared" && e.owner !== void 0 && e.owner !== t, p = e.owner === t && e.visibility === "shared";
211
- return /*#__PURE__*/ w(a, {
212
- direction: "vertical",
213
- gap: "6",
214
- children: [
215
- f && o && s && /*#__PURE__*/ C(k, {
216
- image: e,
217
- myMemberData: o,
218
- canUpdateMember: i?.canUpdateMember ?? !1,
219
- onStatusChange: s,
220
- isLoading: c ?? !1
221
- }),
222
- p && /*#__PURE__*/ C("div", {
223
- className: "border-theme-background-lvl-3 border-b",
224
- children: /*#__PURE__*/ w(a, {
225
- direction: "horizontal",
226
- gap: "0",
227
- children: [/*#__PURE__*/ C("button", {
228
- className: N(n === "details"),
229
- onClick: () => r?.("details"),
230
- children: u._({ id: "URmyfc" })
231
- }), /*#__PURE__*/ C("button", {
232
- className: N(n === "sharing"),
233
- onClick: () => r?.("sharing"),
234
- children: u._({ id: "aG9OiI" })
235
- })]
236
- })
237
- }),
238
- (n === "details" || !p) && /*#__PURE__*/ w(le, { children: [
239
- l,
240
- /*#__PURE__*/ C(A, { image: e }),
241
- /*#__PURE__*/ C(j, {
242
- image: e,
243
- currentProjectId: t
244
- }),
245
- /*#__PURE__*/ C(M, { image: e })
246
- ] }),
247
- n === "sharing" && p && /*#__PURE__*/ C(P, {
248
- image: e,
249
- permissions: i
250
- })
251
- ]
252
- });
253
- };
254
- //#endregion
255
- //#region src/client/routes/_auth/projects/$projectId/compute/images/$imageId.tsx?tsr-split=component
256
- function F() {
257
- let { projectId: e, imageId: n } = de({ from: "/_auth/projects/$projectId/compute/images/$imageId" }), { tab: l } = fe({ from: "/_auth/projects/$projectId/compute/images/$imageId" }), u = ue(), { i18n: p, _: m } = O(), { data: h, status: _, error: v } = g.compute.getImageById.useQuery({
258
- project_id: e,
259
- imageId: n
260
- }), { data: y } = g.compute.canUser.useQuery({
261
- project_id: e,
262
- permission: [
263
- "images:delete",
264
- "images:update",
265
- "images:create_member",
266
- "images:delete_member",
267
- "images:update_member"
268
- ]
269
- }), b = {
270
- canDelete: y?.[0] ?? !1,
271
- canUpdate: y?.[1] ?? !1,
272
- canCreateMember: y?.[2] ?? !1,
273
- canDeleteMember: y?.[3] ?? !1,
274
- canUpdateMember: y?.[4] ?? !1
275
- }, x = g.useUtils(), [T, k] = E(!1), [A, j] = E(!1), [M, N] = E(!1), [P, F] = E(!1), [I, L] = E(!1), R = g.compute.updateImage.useMutation({ onSuccess: (t) => {
276
- x.compute.getImageById.setData({
277
- project_id: e,
278
- imageId: n
279
- }, t), x.compute.listImagesWithPagination.invalidate();
280
- } }), z = g.compute.deleteImage.useMutation({ onSuccess: () => {
281
- x.compute.listImagesWithPagination.invalidate();
282
- } }), B = g.compute.deactivateImage.useMutation({ onSuccess: () => {
283
- x.compute.getImageById.invalidate({
284
- project_id: e,
285
- imageId: n
286
- });
287
- } }), V = g.compute.reactivateImage.useMutation({ onSuccess: () => {
288
- x.compute.getImageById.invalidate({
289
- project_id: e,
290
- imageId: n
291
- });
292
- } }), H = g.compute.updateImageVisibility.useMutation({ onSuccess: (t) => {
293
- x.compute.getImageById.setData({
294
- project_id: e,
295
- imageId: n
296
- }, t);
297
- } }), U = h?.visibility === S.SHARED && h?.owner !== void 0 && h?.owner !== e, { data: W } = g.compute.getImageMember.useQuery({
298
- project_id: e,
299
- imageId: n,
300
- memberId: e
301
- }, { enabled: U && !!n && !!e }), G = g.compute.updateImageMember.useMutation({ onSuccess: () => {
302
- x.compute.getImageMember.invalidate({
303
- project_id: e,
304
- imageId: n,
305
- memberId: e
306
- }), x.compute.listImageMembers.invalidate({
307
- project_id: e,
308
- imageId: n
309
- }), x.compute.listImagesWithPagination.invalidate(), x.compute.listSharedImagesByMemberStatus.invalidate();
310
- } }), K = async (t) => {
311
- try {
312
- await G.mutateAsync({
313
- project_id: e,
314
- imageId: n,
315
- memberId: e,
316
- status: t
317
- });
318
- let { message: r, ...i } = oe(t);
319
- c.info(r, i);
320
- } catch (e) {
321
- let t = e?.message, { message: n, ...r } = ce(t);
322
- c.error(n, r);
323
- }
324
- }, q = () => {
325
- u({
326
- to: "/projects/$projectId/compute/images",
327
- params: { projectId: e }
328
- });
329
- }, J = R.isPending || z.isPending || B.isPending || V.isPending || H.isPending, me = (e, t) => {
330
- let n = [];
331
- return Object.entries(e).forEach(([e, r]) => {
332
- let i = `/${e}`;
333
- if (r == null) e in t && n.push({
334
- op: "remove",
335
- path: i
336
- });
337
- else {
338
- let a = e in t;
339
- n.push({
340
- op: a ? "replace" : "add",
341
- path: i,
342
- value: r
343
- });
344
- }
345
- }), n;
346
- }, Y = async (t) => {
347
- if (!h) return !1;
348
- let r = me(t, h);
349
- try {
350
- return await R.mutateAsync({
351
- project_id: e,
352
- imageId: n,
353
- operations: r
354
- }), k(!1), !0;
355
- } catch {
356
- return !1;
357
- }
358
- }, he = async (t) => {
359
- try {
360
- await z.mutateAsync({
361
- project_id: e,
362
- imageId: t.id
363
- }), N(!1), q();
364
- } catch {
365
- N(!1);
366
- }
367
- }, ge = async (t) => {
368
- try {
369
- await V.mutateAsync({
370
- project_id: e,
371
- imageId: t.id
372
- }), F(!1);
373
- } catch {
374
- F(!1);
375
- }
376
- }, _e = async (t) => {
377
- try {
378
- await B.mutateAsync({
379
- project_id: e,
380
- imageId: t.id
381
- }), L(!1);
382
- } catch {
383
- L(!1);
384
- }
385
- }, ve = async (t) => {
386
- if (h) try {
387
- await H.mutateAsync({
388
- project_id: e,
389
- imageId: h.id,
390
- visibility: t
391
- });
392
- } catch {}
393
- };
394
- if (_ === "pending") return /*#__PURE__*/ w(a, {
395
- className: "fixed inset-0",
396
- distribution: "center",
397
- alignment: "center",
398
- direction: "vertical",
399
- children: [/*#__PURE__*/ C(t, {
400
- variant: "primary",
401
- size: "large",
402
- className: "mb-2"
403
- }), /*#__PURE__*/ C(D, { id: "hH3kDo" })]
404
- });
405
- if (_ === "error") {
406
- let e = v?.message || "Unknown error";
407
- return /*#__PURE__*/ w(a, {
408
- className: "fixed inset-0",
409
- distribution: "center",
410
- alignment: "center",
411
- direction: "vertical",
412
- gap: "5",
413
- children: [
414
- /*#__PURE__*/ C("p", {
415
- className: "text-theme-error font-semibold",
416
- children: /*#__PURE__*/ C(D, { id: "Jh4rAZ" })
417
- }),
418
- /*#__PURE__*/ C("p", {
419
- className: "text-theme-highest",
420
- children: e
421
- }),
422
- /*#__PURE__*/ C(s, {
423
- onClick: q,
424
- variant: "primary",
425
- children: /*#__PURE__*/ C(D, { id: "bnql/K" })
426
- })
427
- ]
428
- });
429
- }
430
- if (!h) return /*#__PURE__*/ w(a, {
431
- className: "fixed inset-0",
432
- distribution: "center",
433
- alignment: "center",
434
- direction: "vertical",
435
- gap: "5",
436
- children: [/*#__PURE__*/ C("p", {
437
- className: "text-theme-highest",
438
- children: /*#__PURE__*/ C(D, { id: "1pdLQw" })
439
- }), /*#__PURE__*/ C(s, {
440
- onClick: q,
441
- variant: "primary",
442
- children: /*#__PURE__*/ C(D, { id: "bnql/K" })
443
- })]
444
- });
445
- let X = h.status === re.DEACTIVATED, ye = h.visibility === S.PRIVATE, be = W?.status === "accepted", Z = h.owner === e, Q = U && be && b.canUpdateMember, xe = !U && b.canUpdate, Se = !U && b.canDelete && !h.protected, Ce = !U && Z && h.visibility === S.SHARED && (b.canCreateMember || b.canDeleteMember), $ = Q || xe || Se || Ce, we = $ || !U && b.canUpdate ? /*#__PURE__*/ w(r, { children: [
446
- $ && /*#__PURE__*/ w(d, { children: [/*#__PURE__*/ C(f, {
447
- as: "div",
448
- children: /*#__PURE__*/ C(s, {
449
- icon: "moreVert",
450
- disabled: J,
451
- children: /*#__PURE__*/ C(D, { id: "PgNNGl" })
452
- })
453
- }), /*#__PURE__*/ w(o, { children: [
454
- Q && /*#__PURE__*/ C(i, {
455
- label: p._({ id: "1t/NnN" }),
456
- onClick: () => K("rejected")
457
- }),
458
- !U && b.canUpdate && /*#__PURE__*/ C(i, {
459
- label: X ? p._({ id: "FQBaXG" }) : p._({ id: "5y3O+A" }),
460
- onClick: () => X ? F(!0) : L(!0)
461
- }),
462
- !U && b.canUpdate && ye && /*#__PURE__*/ C(i, {
463
- label: p._({ id: "gMYsdZ" }),
464
- onClick: () => ve("shared")
465
- }),
466
- !U && Z && h.visibility === S.SHARED && (b.canCreateMember || b.canDeleteMember) && /*#__PURE__*/ C(i, {
467
- label: p._({ id: "cWbW6w" }),
468
- onClick: () => u({
469
- to: "/projects/$projectId/compute/images/$imageId",
470
- params: {
471
- projectId: e,
472
- imageId: h.id
473
- },
474
- search: { tab: "sharing" }
475
- })
476
- }),
477
- !U && b.canDelete && !h.protected && /*#__PURE__*/ C(i, {
478
- label: p._({ id: "cnGeoo" }),
479
- onClick: () => N(!0)
480
- })
481
- ] })] }),
482
- !U && b.canUpdate && /*#__PURE__*/ C(s, {
483
- onClick: () => j(!0),
484
- disabled: J,
485
- children: /*#__PURE__*/ C(D, { id: "SIfYq6" })
486
- }),
487
- !U && b.canUpdate && /*#__PURE__*/ C(s, {
488
- onClick: () => k(!0),
489
- variant: "primary",
490
- disabled: J,
491
- children: /*#__PURE__*/ C(D, { id: "Y1YKad" })
492
- })
493
- ] }) : void 0;
494
- return /*#__PURE__*/ w(le, { children: [
495
- /*#__PURE__*/ C(ee, {
496
- title: String(h.name ?? h.id),
497
- projectId: e,
498
- actions: we
499
- }),
500
- /*#__PURE__*/ C("div", {
501
- className: "mt-3",
502
- children: /*#__PURE__*/ C(pe, {
503
- image: h,
504
- currentProjectId: e,
505
- activeTab: l ?? "details",
506
- onTabChange: (e) => u({ search: { tab: e === "details" ? void 0 : e } }),
507
- permissions: {
508
- canCreateMember: b.canCreateMember,
509
- canDeleteMember: b.canDeleteMember,
510
- canUpdateMember: b.canUpdateMember
511
- },
512
- myMemberData: W,
513
- onMemberStatusChange: K,
514
- isMemberStatusChanging: G.isPending
515
- }, h.id)
516
- }),
517
- T && /*#__PURE__*/ C(se, {
518
- image: h,
519
- isOpen: T,
520
- isLoading: R.isPending,
521
- onClose: () => k(!1),
522
- onSave: Y
523
- }),
524
- A && /*#__PURE__*/ C(ie, {
525
- image: h,
526
- isOpen: A,
527
- isLoading: R.isPending,
528
- onClose: () => j(!1),
529
- onSave: Y
530
- }),
531
- M && /*#__PURE__*/ C(te, {
532
- image: h,
533
- isOpen: M,
534
- isLoading: z.isPending,
535
- isDisabled: !!h.protected,
536
- onClose: () => N(!1),
537
- onDelete: he
538
- }),
539
- P && /*#__PURE__*/ C(ne, {
540
- image: h,
541
- isOpen: P,
542
- isLoading: V.isPending,
543
- onClose: () => F(!1),
544
- onActivate: ge
545
- }),
546
- I && /*#__PURE__*/ C(ae, {
547
- image: h,
548
- isOpen: I,
549
- isLoading: B.isPending,
550
- onClose: () => L(!1),
551
- onDeactivate: _e
552
- })
553
- ] });
554
- }
555
- //#endregion
556
- export { F as component };
557
-
558
- //# sourceMappingURL=_imageId-CZYzBAVx.mjs.map