@kong-ui-public/entities-vaults 4.16.20 → 4.16.21
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.
|
@@ -131,8 +131,8 @@ const _t = {
|
|
|
131
131
|
const y = _t[l.auth_method] ?? {}, n = {};
|
|
132
132
|
for (const s of Jt)
|
|
133
133
|
s in l && (n[s] = l[s]);
|
|
134
|
-
for (const [s,
|
|
135
|
-
s in l && (n[
|
|
134
|
+
for (const [s, c] of Object.entries(y))
|
|
135
|
+
s in l && (n[c] = l[s]);
|
|
136
136
|
return ze(n);
|
|
137
137
|
}, ea = (l) => {
|
|
138
138
|
const y = l.name;
|
|
@@ -154,8 +154,8 @@ const _t = {
|
|
|
154
154
|
};
|
|
155
155
|
}, ta = (l) => {
|
|
156
156
|
const y = Qt(_t[l.auth_method] ?? {}), n = {};
|
|
157
|
-
for (const [s,
|
|
158
|
-
n[y[s] ?? s] =
|
|
157
|
+
for (const [s, c] of Object.entries(l))
|
|
158
|
+
n[y[s] ?? s] = c;
|
|
159
159
|
return n;
|
|
160
160
|
}, $e = (l) => {
|
|
161
161
|
const y = l?.type;
|
|
@@ -167,7 +167,7 @@ const _t = {
|
|
|
167
167
|
name: y,
|
|
168
168
|
prefix: l?.name,
|
|
169
169
|
description: l?.description ?? "",
|
|
170
|
-
labels: Object.entries(l?.labels ?? {}).map(([s,
|
|
170
|
+
labels: Object.entries(l?.labels ?? {}).map(([s, c]) => `${s}: ${c}`),
|
|
171
171
|
config: n
|
|
172
172
|
};
|
|
173
173
|
}, aa = { class: "kong-ui-entities-vaults-list" }, la = { class: "button-row" }, oa = { class: "table-content-overflow-wrapper" }, ia = { class: "table-content-overflow-wrapper" }, ra = /* @__PURE__ */ be({
|
|
@@ -216,18 +216,18 @@ const _t = {
|
|
|
216
216
|
},
|
|
217
217
|
emits: ["error", "click:learn-more", "copy:success", "copy:error", "delete:success"],
|
|
218
218
|
setup(l, { emit: y }) {
|
|
219
|
-
const n = y, s = l, { i18n: { t:
|
|
219
|
+
const n = y, s = l, { i18n: { t: c } } = Ae.useI18n(), o = De(), $ = b(() => s.config.apiType === "aiGateway"), U = b(() => $.value ? "aiGateway" : s.config.app), h = (V) => V.replace(/{aiGatewayId}/gi, s.config.aiGatewayId || ""), { axiosInstance: w } = Ce(s.config?.axiosRequestConfig), { hasRecords: A, handleStateChange: R } = It(() => D.value), I = b(() => A.value && s.config.app === "konnect"), d = b(() => s.config.app !== "kongManager" || !!s.config.disableSorting), H = {
|
|
220
220
|
// the Prefix column is non-hidable
|
|
221
|
-
prefix: { label:
|
|
221
|
+
prefix: { label: c("vaults.list.table_headers.prefix"), searchable: !0, sortable: !0, hidable: !1 },
|
|
222
222
|
// it's "Vault Type" on display, but we still use "name" to fit API schema
|
|
223
|
-
name: { label:
|
|
224
|
-
description: { label:
|
|
225
|
-
tags: { label:
|
|
226
|
-
},
|
|
223
|
+
name: { label: c("vaults.list.table_headers.name"), searchable: !0, sortable: !0 },
|
|
224
|
+
description: { label: c("vaults.list.table_headers.description"), sortable: !1 },
|
|
225
|
+
tags: { label: c("vaults.list.table_headers.tags"), sortable: !1 }
|
|
226
|
+
}, f = b(() => {
|
|
227
227
|
if ($.value) {
|
|
228
228
|
const { description: V, name: F, prefix: B } = H;
|
|
229
229
|
return {
|
|
230
|
-
prefix: { ...B, label:
|
|
230
|
+
prefix: { ...B, label: c("vaults.list.table_headers.prefix_ai_gateway") },
|
|
231
231
|
name: F,
|
|
232
232
|
description: V
|
|
233
233
|
};
|
|
@@ -240,7 +240,7 @@ const _t = {
|
|
|
240
240
|
if (s.config.app === "konnect" || s.config.isExactMatch)
|
|
241
241
|
return {
|
|
242
242
|
isExactMatch: !0,
|
|
243
|
-
placeholder:
|
|
243
|
+
placeholder: c("search.placeholder_for_vaults.konnect")
|
|
244
244
|
};
|
|
245
245
|
const { prefix: F, name: B } = H;
|
|
246
246
|
return {
|
|
@@ -265,35 +265,35 @@ const _t = {
|
|
|
265
265
|
n("copy:error", {
|
|
266
266
|
entity: V,
|
|
267
267
|
field: "id",
|
|
268
|
-
message:
|
|
268
|
+
message: c("errors.copy")
|
|
269
269
|
});
|
|
270
270
|
return;
|
|
271
271
|
}
|
|
272
272
|
n("copy:success", {
|
|
273
273
|
entity: V,
|
|
274
274
|
field: "id",
|
|
275
|
-
message:
|
|
275
|
+
message: c("copy.success", { val: B })
|
|
276
276
|
});
|
|
277
277
|
}, ne = async (V, F) => {
|
|
278
278
|
const B = JSON.stringify(V);
|
|
279
279
|
if (!await F(B)) {
|
|
280
280
|
n("copy:error", {
|
|
281
281
|
entity: V,
|
|
282
|
-
message:
|
|
282
|
+
message: c("errors.copy")
|
|
283
283
|
});
|
|
284
284
|
return;
|
|
285
285
|
}
|
|
286
286
|
n("copy:success", {
|
|
287
287
|
entity: V,
|
|
288
|
-
message:
|
|
288
|
+
message: c("copy.success_brief")
|
|
289
289
|
});
|
|
290
290
|
}, pe = async (V) => {
|
|
291
291
|
await s.canRetrieve?.(V) && o.push(s.config.getViewRoute(V.id));
|
|
292
292
|
}, j = (V) => ({
|
|
293
|
-
label:
|
|
293
|
+
label: c("actions.view"),
|
|
294
294
|
to: s.config.getViewRoute(V)
|
|
295
295
|
}), X = (V) => ({
|
|
296
|
-
label:
|
|
296
|
+
label: c("actions.edit"),
|
|
297
297
|
to: s.config.getEditRoute(V)
|
|
298
298
|
}), W = N(void 0), ie = N(!1), q = N(!1), we = N(""), se = nt(s.config, J.value), C = (V) => {
|
|
299
299
|
W.value = V, ie.value = !0;
|
|
@@ -311,7 +311,7 @@ const _t = {
|
|
|
311
311
|
try {
|
|
312
312
|
await w.delete(se(W.value.id)), s.config.app === "konnect" && W.value.config?.config_store_id && P(W.value.config.config_store_id), q.value = !1, ie.value = !1, Z.value++, n("delete:success", W.value);
|
|
313
313
|
} catch (V) {
|
|
314
|
-
we.value = V.response?.data?.message || V.message ||
|
|
314
|
+
we.value = V.response?.data?.message || V.message || c("errors.delete"), n("error", V);
|
|
315
315
|
} finally {
|
|
316
316
|
q.value = !1;
|
|
317
317
|
}
|
|
@@ -322,7 +322,7 @@ const _t = {
|
|
|
322
322
|
Ge(Y, (V) => {
|
|
323
323
|
if (V.status === st.Error) {
|
|
324
324
|
ae.value = {
|
|
325
|
-
title:
|
|
325
|
+
title: c("errors.general")
|
|
326
326
|
}, V.error?.response?.data?.message && (ae.value.message = V.error.response.data.message), n("error", V.error);
|
|
327
327
|
return;
|
|
328
328
|
}
|
|
@@ -331,11 +331,11 @@ const _t = {
|
|
|
331
331
|
const L = N({
|
|
332
332
|
ctaPath: s.config.createRoute,
|
|
333
333
|
ctaText: void 0,
|
|
334
|
-
message: `${
|
|
335
|
-
title:
|
|
334
|
+
message: `${c("vaults.list.empty_state.description")}${s.config.additionMessageForEmptyState ? ` ${s.config.additionMessageForEmptyState}` : ""}`,
|
|
335
|
+
title: c("vaults.title")
|
|
336
336
|
}), T = N(!1);
|
|
337
337
|
return Fe(async () => {
|
|
338
|
-
T.value = await s.canCreate(), T.value && (L.value.title =
|
|
338
|
+
T.value = await s.canCreate(), T.value && (L.value.title = c("vaults.list.empty_state.title"), L.value.ctaText = c("actions.create"));
|
|
339
339
|
}), (V, F) => {
|
|
340
340
|
const B = z("KButton"), _e = z("KEmptyState"), ue = z("KDropdownItem"), Se = z("KClipboardProvider");
|
|
341
341
|
return v(), G("div", aa, [
|
|
@@ -350,7 +350,7 @@ const _t = {
|
|
|
350
350
|
"pagination-type": "offset",
|
|
351
351
|
"preferences-storage-key": "kong-ui-entities-vaults-list",
|
|
352
352
|
query: D.value,
|
|
353
|
-
"table-headers":
|
|
353
|
+
"table-headers": f.value,
|
|
354
354
|
onClearSearchInput: k,
|
|
355
355
|
"onClick:row": F[3] || (F[3] = (K) => pe(K)),
|
|
356
356
|
onSort: a,
|
|
@@ -394,7 +394,7 @@ const _t = {
|
|
|
394
394
|
}, {
|
|
395
395
|
default: g(() => [
|
|
396
396
|
u(e(je)),
|
|
397
|
-
ye(" " + O(e(
|
|
397
|
+
ye(" " + O(e(c)("vaults.list.toolbar_actions.new_vault")), 1)
|
|
398
398
|
]),
|
|
399
399
|
_: 1
|
|
400
400
|
}, 8, ["size", "to"])
|
|
@@ -423,10 +423,10 @@ const _t = {
|
|
|
423
423
|
default: g(({ copyToClipboard: Re }) => [
|
|
424
424
|
u(ue, {
|
|
425
425
|
"data-testid": "action-entity-copy-id",
|
|
426
|
-
onClick: (
|
|
426
|
+
onClick: (p) => ge(K, Re)
|
|
427
427
|
}, {
|
|
428
428
|
default: g(() => [
|
|
429
|
-
ye(O(e(
|
|
429
|
+
ye(O(e(c)("actions.copy_id")), 1)
|
|
430
430
|
]),
|
|
431
431
|
_: 1
|
|
432
432
|
}, 8, ["onClick"])
|
|
@@ -437,10 +437,10 @@ const _t = {
|
|
|
437
437
|
default: g(({ copyToClipboard: Re }) => [
|
|
438
438
|
u(ue, {
|
|
439
439
|
"data-testid": "action-entity-copy-json",
|
|
440
|
-
onClick: (
|
|
440
|
+
onClick: (p) => ne(K, Re)
|
|
441
441
|
}, {
|
|
442
442
|
default: g(() => [
|
|
443
|
-
ye(O(e(
|
|
443
|
+
ye(O(e(c)("actions.copy_json")), 1)
|
|
444
444
|
]),
|
|
445
445
|
_: 1
|
|
446
446
|
}, 8, ["onClick"])
|
|
@@ -481,7 +481,7 @@ const _t = {
|
|
|
481
481
|
onClick: (Re) => C(K)
|
|
482
482
|
}, {
|
|
483
483
|
default: g(() => [
|
|
484
|
-
ye(O(e(
|
|
484
|
+
ye(O(e(c)("actions.delete")), 1)
|
|
485
485
|
]),
|
|
486
486
|
_: 1
|
|
487
487
|
}, 8, ["onClick"])
|
|
@@ -497,8 +497,8 @@ const _t = {
|
|
|
497
497
|
u(_e, {
|
|
498
498
|
"data-testid": "vaults-entity-empty-state",
|
|
499
499
|
"icon-background": "",
|
|
500
|
-
message: e(
|
|
501
|
-
title: e(
|
|
500
|
+
message: e(c)("vaults.list.empty_state_v2.description"),
|
|
501
|
+
title: e(c)("vaults.list.empty_state_v2.title")
|
|
502
502
|
}, Be({
|
|
503
503
|
icon: g(() => [
|
|
504
504
|
u(e(Vt), { decorative: "" })
|
|
@@ -511,7 +511,7 @@ const _t = {
|
|
|
511
511
|
}, {
|
|
512
512
|
default: g(() => [
|
|
513
513
|
u(e(je), { decorative: "" }),
|
|
514
|
-
ye(" " + O(e(
|
|
514
|
+
ye(" " + O(e(c)("vaults.list.empty_state_v2.create_cta")), 1)
|
|
515
515
|
]),
|
|
516
516
|
_: 1
|
|
517
517
|
})) : M("", !0),
|
|
@@ -522,7 +522,7 @@ const _t = {
|
|
|
522
522
|
}, {
|
|
523
523
|
default: g(() => [
|
|
524
524
|
u(e(Qe), { decorative: "" }),
|
|
525
|
-
ye(" " + O(e(
|
|
525
|
+
ye(" " + O(e(c)("vaults.list.empty_state_v2.learn_more")), 1)
|
|
526
526
|
]),
|
|
527
527
|
_: 1
|
|
528
528
|
})
|
|
@@ -532,7 +532,7 @@ const _t = {
|
|
|
532
532
|
l.config?.isControlPlaneGroup ? {
|
|
533
533
|
name: "default",
|
|
534
534
|
fn: g(() => [
|
|
535
|
-
ye(O(e(
|
|
535
|
+
ye(O(e(c)("vaults.list.empty_state_v2.group")), 1)
|
|
536
536
|
]),
|
|
537
537
|
key: "0"
|
|
538
538
|
} : void 0
|
|
@@ -543,11 +543,11 @@ const _t = {
|
|
|
543
543
|
]), 1032, ["cache-identifier", "disable-sorting", "empty-state-options", "error-message", "fetcher", "fetcher-cache-key", "query", "table-headers", "onState"]),
|
|
544
544
|
u(e(ct), {
|
|
545
545
|
"action-pending": q.value,
|
|
546
|
-
description: e(
|
|
546
|
+
description: e(c)("delete.description"),
|
|
547
547
|
"entity-name": W.value && (W.value.prefix || W.value.id),
|
|
548
548
|
"entity-type": e(ft).Vault,
|
|
549
549
|
error: we.value,
|
|
550
|
-
title: e(
|
|
550
|
+
title: e(c)("delete.title"),
|
|
551
551
|
visible: ie.value,
|
|
552
552
|
onCancel: E,
|
|
553
553
|
onProceed: de
|
|
@@ -557,8 +557,8 @@ const _t = {
|
|
|
557
557
|
}
|
|
558
558
|
}), Ve = (l, y) => {
|
|
559
559
|
const n = l.__vccOpts || l;
|
|
560
|
-
for (const [s,
|
|
561
|
-
n[s] =
|
|
560
|
+
for (const [s, c] of y)
|
|
561
|
+
n[s] = c;
|
|
562
562
|
return n;
|
|
563
563
|
}, rl = /* @__PURE__ */ Ve(ra, [["__scopeId", "data-v-374c7841"]]), na = { class: "kong-ui-entities-vault-form" }, sa = { class: "vault-form-provider-cards-container" }, da = ["data-testid"], ua = { class: "provider-item-title-container" }, ca = { class: "provider-item-title" }, fa = { class: "provider-item-description" }, pa = {
|
|
564
564
|
key: "kong-vault-config-fields",
|
|
@@ -611,7 +611,7 @@ const _t = {
|
|
|
611
611
|
},
|
|
612
612
|
emits: ["update", "error", "loading"],
|
|
613
613
|
setup(l, { emit: y }) {
|
|
614
|
-
const n = l, s = y, { i18nT:
|
|
614
|
+
const n = l, s = y, { i18nT: c, i18n: { t: o } } = Ae.useI18n(), $ = De(), { axiosInstance: U } = Ce(n.config?.axiosRequestConfig), { getMessageFromError: h } = pt(), w = b(() => n.config.apiType === "aiGateway"), A = b(() => w.value ? "aiGateway" : n.config.app), R = (p) => p.replace(/{aiGatewayId}/gi, n.config.aiGatewayId || ""), I = w.value ? "https" : "http", d = Te({
|
|
615
615
|
fields: {
|
|
616
616
|
prefix: "",
|
|
617
617
|
description: "",
|
|
@@ -625,11 +625,11 @@ const _t = {
|
|
|
625
625
|
description: "",
|
|
626
626
|
tags: "",
|
|
627
627
|
labelList: []
|
|
628
|
-
}),
|
|
628
|
+
}), f = N(n.config.app === "konnect" ? t.KONNECT : t.ENV), J = N(null), D = N();
|
|
629
629
|
let Q = 0;
|
|
630
|
-
const fe = (
|
|
631
|
-
d.fields.labelList =
|
|
632
|
-
}, Z = b(() => [t.AWS, t.GCP, t.HCV, t.AZURE, t.CONJUR, t.FS, t.AZURE_CERTS].includes(
|
|
630
|
+
const fe = (p) => Object.entries(p).map(([i, he]) => ({ id: `label-${Q++}`, key: i, value: he })), Y = (p) => {
|
|
631
|
+
d.fields.labelList = p;
|
|
632
|
+
}, Z = b(() => [t.AWS, t.GCP, t.HCV, t.AZURE, t.CONJUR, t.FS, t.AZURE_CERTS].includes(f.value)), oe = b(() => w.value ? [
|
|
633
633
|
{ label: o("form.config.konnect.label"), value: t.KONNECT },
|
|
634
634
|
{ label: o("form.config.env.label"), value: t.ENV },
|
|
635
635
|
{ label: o("form.config.aws.label"), value: t.AWS },
|
|
@@ -884,12 +884,12 @@ const _t = {
|
|
|
884
884
|
}
|
|
885
885
|
})), C = () => {
|
|
886
886
|
$.push(n.config?.cancelRoute || { name: "vault-list" });
|
|
887
|
-
}, E = (
|
|
888
|
-
s("loading",
|
|
889
|
-
}, P = (
|
|
890
|
-
s("error",
|
|
891
|
-
}, de = (
|
|
892
|
-
switch (
|
|
887
|
+
}, E = (p) => {
|
|
888
|
+
s("loading", p);
|
|
889
|
+
}, P = (p) => {
|
|
890
|
+
s("error", p);
|
|
891
|
+
}, de = (p) => {
|
|
892
|
+
switch (p) {
|
|
893
893
|
case t.KONNECT:
|
|
894
894
|
return Et;
|
|
895
895
|
case t.ENV:
|
|
@@ -909,8 +909,8 @@ const _t = {
|
|
|
909
909
|
case t.FS:
|
|
910
910
|
return wt;
|
|
911
911
|
}
|
|
912
|
-
}, me = (
|
|
913
|
-
switch (
|
|
912
|
+
}, me = (p) => {
|
|
913
|
+
switch (p) {
|
|
914
914
|
case t.KONNECT:
|
|
915
915
|
return o("form.config.konnect.description");
|
|
916
916
|
case t.ENV:
|
|
@@ -930,8 +930,8 @@ const _t = {
|
|
|
930
930
|
case t.FS:
|
|
931
931
|
return o("form.config.fs.description");
|
|
932
932
|
}
|
|
933
|
-
}, L = (
|
|
934
|
-
const i = w.value ? $e(
|
|
933
|
+
}, L = (p) => {
|
|
934
|
+
const i = w.value ? $e(p?.item ?? p) : p;
|
|
935
935
|
d.fields.prefix = i?.item?.prefix || i?.prefix || "", d.fields.description = i?.item?.description || i?.description || "";
|
|
936
936
|
const he = i?.item?.tags || i?.tags || [];
|
|
937
937
|
if (d.fields.tags = he?.join(", ") || "", w.value) {
|
|
@@ -940,8 +940,8 @@ const _t = {
|
|
|
940
940
|
}
|
|
941
941
|
Object.assign(H, d.fields), H.labelList = d.fields.labelList.map((m) => ({ ...m }));
|
|
942
942
|
const le = i?.item?.config || i?.config || null;
|
|
943
|
-
le && (Object.keys(le).length || i?.name === t.KONNECT) ? (
|
|
944
|
-
}, T = (
|
|
943
|
+
le && (Object.keys(le).length || i?.name === t.KONNECT) ? (f.value = i?.item?.name || i?.name || "", J.value = f.value, D.value = i?.config?.config_store_id || void 0, Object.assign(a[f.value], le), Object.assign(ae[f.value], le)) : d.errorMessage = "Error loading vault config";
|
|
944
|
+
}, T = (p) => p === "" || p == null, V = b(() => f.value === t.HCV ? !Object.keys(a[t.HCV]).filter((p) => [
|
|
945
945
|
"namespace",
|
|
946
946
|
"ttl",
|
|
947
947
|
"neg_ttl",
|
|
@@ -960,11 +960,11 @@ const _t = {
|
|
|
960
960
|
"aws_role_session_name",
|
|
961
961
|
"azure_login_path",
|
|
962
962
|
"gcp_login_path"
|
|
963
|
-
].includes(
|
|
964
|
-
let
|
|
965
|
-
return n.config.app === "konnect" && (
|
|
963
|
+
].includes(p) || !n.config.hcvCspAuthMethodsAvailable && ["aws_auth_role", "aws_auth_region", "aws_auth_nonce", "aws_access_key_id", "aws_secret_access_key", "aws_login_path", "aws_sts_endpoint_url", "aws_assume_role_arn", "aws_role_session_name", "azure_auth_role", "azure_login_path", "gcp_auth_role", "gcp_login_path", "gcp_service_account", "gcp_jwt_exp"].includes(p) || ![_.AWS_IAM, _.AWS_EC2].includes(a[t.HCV].auth_method) && p === "aws_auth_role" || a[t.HCV].auth_method !== _.AWS_IAM && ["aws_auth_region", "aws_access_key_id", "aws_secret_access_key"].includes(p) || a[t.HCV].auth_method === _.AWS_IAM && ["aws_access_key_id", "aws_secret_access_key"].includes(p) || a[t.HCV].auth_method !== _.AWS_EC2 && p === "aws_auth_nonce" || a[t.HCV].auth_method !== _.AZURE && p === "azure_auth_role" || ![_.GCP_GCE, _.GCP_IAM].includes(a[t.HCV].auth_method) && p === "gcp_auth_role" || a[t.HCV].auth_method !== _.GCP_IAM && ["gcp_service_account", "gcp_jwt_exp"].includes(p) || a[t.HCV].auth_method !== _.TOKEN && p === "token" || w.value && X.value === ve.Edit && ["token", "oauth2_client_secret", "cert_auth_cert_key"].includes(p) || a[t.HCV].auth_method !== _.APP_ROLE && (p === "approle_role_id" || p === "approle_response_wrapping") || a[t.HCV].auth_method === _.APP_ROLE && p === "approle_response_wrapping" && typeof a[f.value][p] == "boolean" || a[t.HCV].auth_method !== _.CERT && ["cert_auth_cert", "cert_auth_cert_key"].includes(p) || a[t.HCV].auth_method !== _.JWT && ["oauth2_client_id", "oauth2_client_secret", "jwt_role", "oauth2_token_endpoint"].includes(p) ? !1 : T(a[f.value][p])).length : f.value === t.AZURE ? !Object.keys(a[t.AZURE]).filter((p) => ["client_id", "tenant_id", "ttl", "neg_ttl", "resurrect_ttl"].includes(p) ? !1 : T(a[f.value][p])).length : f.value === t.AZURE_CERTS ? !Object.keys(a[t.AZURE_CERTS]).filter((p) => ["client_id", "tenant_id", "ttl", "neg_ttl", "resurrect_ttl"].includes(p) ? !1 : T(a[f.value][p])).length : f.value === t.AWS ? !Object.keys(a[t.AWS]).filter((p) => ["endpoint_url", "assume_role_arn", "ttl", "neg_ttl", "resurrect_ttl", "sts_endpoint_url"].includes(p) ? !1 : T(a[f.value][p])).length : !Object.keys(a[f.value]).filter((p) => ["ttl", "neg_ttl", "resurrect_ttl"].includes(p) ? !1 : T(a[f.value][p])).length), F = b(() => !!d.fields.prefix && V.value), B = b(() => JSON.stringify(d.fields) !== JSON.stringify(H) || f.value !== J.value || JSON.stringify(a[f.value]) !== JSON.stringify(ae[f.value])), _e = b(() => {
|
|
964
|
+
let p = `${n.config.apiBaseUrl}${ce.form[A.value][X.value]}`;
|
|
965
|
+
return n.config.app === "konnect" && (p = p.replace(/{controlPlaneId}/gi, n.config?.controlPlaneId || "")), R(p).replace(/\/{workspace}/gi, n.config?.workspace ? `/${n.config.workspace}` : "").replace(/{id}/gi, n.vaultId ?? "");
|
|
966
966
|
}), ue = b(() => {
|
|
967
|
-
const
|
|
967
|
+
const p = parseInt(String(a[t.HCV].gcp_jwt_exp), 10), i = {
|
|
968
968
|
protocol: a[t.HCV].protocol,
|
|
969
969
|
host: a[t.HCV].host,
|
|
970
970
|
port: parseInt(a[t.HCV].port.toString()),
|
|
@@ -1009,7 +1009,7 @@ const _t = {
|
|
|
1009
1009
|
gcp_auth_role: a[t.HCV].gcp_auth_role || void 0,
|
|
1010
1010
|
gcp_login_path: a[t.HCV].gcp_login_path || void 0,
|
|
1011
1011
|
gcp_service_account: a[t.HCV].gcp_service_account || void 0,
|
|
1012
|
-
gcp_jwt_exp: Number.isNaN(
|
|
1012
|
+
gcp_jwt_exp: Number.isNaN(p) ? void 0 : p
|
|
1013
1013
|
},
|
|
1014
1014
|
...a[t.HCV].auth_method === _.APP_ROLE && {
|
|
1015
1015
|
approle_auth_path: a[t.HCV].approle_auth_path || void 0,
|
|
@@ -1031,24 +1031,24 @@ const _t = {
|
|
|
1031
1031
|
oauth2_token_endpoint: a[t.HCV].oauth2_token_endpoint
|
|
1032
1032
|
}
|
|
1033
1033
|
}, he = {
|
|
1034
|
-
...a[
|
|
1035
|
-
client_id: a[
|
|
1036
|
-
tenant_id: a[
|
|
1034
|
+
...a[f.value],
|
|
1035
|
+
client_id: a[f.value].client_id || null,
|
|
1036
|
+
tenant_id: a[f.value].tenant_id || null
|
|
1037
1037
|
}, le = {
|
|
1038
|
-
...a[
|
|
1039
|
-
client_id: a[
|
|
1040
|
-
tenant_id: a[
|
|
1038
|
+
...a[f.value],
|
|
1039
|
+
client_id: a[f.value].client_id || null,
|
|
1040
|
+
tenant_id: a[f.value].tenant_id || null
|
|
1041
1041
|
}, m = {
|
|
1042
|
-
...a[
|
|
1043
|
-
endpoint_url: a[
|
|
1044
|
-
assume_role_arn: a[
|
|
1045
|
-
...n.config.awsStsEndpointUrlAvailable ? { sts_endpoint_url: a[
|
|
1042
|
+
...a[f.value],
|
|
1043
|
+
endpoint_url: a[f.value].endpoint_url || null,
|
|
1044
|
+
assume_role_arn: a[f.value].assume_role_arn || null,
|
|
1045
|
+
...n.config.awsStsEndpointUrlAvailable ? { sts_endpoint_url: a[f.value].sts_endpoint_url || null } : {}
|
|
1046
1046
|
};
|
|
1047
|
-
let ee = a[
|
|
1048
|
-
|
|
1047
|
+
let ee = a[f.value];
|
|
1048
|
+
f.value === t.HCV ? ee = i : f.value === t.AZURE ? ee = he : f.value === t.AZURE_CERTS ? ee = le : f.value === t.AWS && (ee = m);
|
|
1049
1049
|
let Ee = {};
|
|
1050
|
-
if (![t.KONNECT, t.ENV].includes(
|
|
1051
|
-
const te = a[
|
|
1050
|
+
if (![t.KONNECT, t.ENV].includes(f.value)) {
|
|
1051
|
+
const te = a[f.value], xe = te.ttl, Ue = te.neg_ttl, Ze = te.resurrect_ttl;
|
|
1052
1052
|
Ee = {
|
|
1053
1053
|
ttl: xe ? parseInt(xe.toString(), 10) : null,
|
|
1054
1054
|
neg_ttl: Ue ? parseInt(Ue.toString(), 10) : null,
|
|
@@ -1059,7 +1059,7 @@ const _t = {
|
|
|
1059
1059
|
prefix: d.fields.prefix,
|
|
1060
1060
|
description: d.fields.description || null,
|
|
1061
1061
|
tags: d.fields.tags.split(",")?.map((te) => String(te || "").trim())?.filter((te) => te !== ""),
|
|
1062
|
-
name:
|
|
1062
|
+
name: f.value,
|
|
1063
1063
|
config: {
|
|
1064
1064
|
...ee,
|
|
1065
1065
|
...Ee
|
|
@@ -1085,27 +1085,20 @@ const _t = {
|
|
|
1085
1085
|
config_store_id: D.value
|
|
1086
1086
|
}
|
|
1087
1087
|
})), K = async () => {
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
const c = R(`${n.config.apiBaseUrl}${ce.form[w.value ? "aiGateway" : "konnect"].createConfigStore}`).replace(/{controlPlaneId}/gi, n.config?.controlPlaneId || "").replace(/\/{workspace}/gi, n.config?.workspace ? `/${n.config.workspace}` : ""), i = w.value ? { name: d.fields.prefix } : void 0;
|
|
1091
|
-
return (await U.post(c, i))?.data.id;
|
|
1092
|
-
} catch (c) {
|
|
1093
|
-
d.errorMessage = h(c), s("error", c);
|
|
1094
|
-
} finally {
|
|
1095
|
-
d.isReadonly = !1;
|
|
1096
|
-
}
|
|
1088
|
+
const p = R(`${n.config.apiBaseUrl}${ce.form[w.value ? "aiGateway" : "konnect"].createConfigStore}`).replace(/{controlPlaneId}/gi, n.config?.controlPlaneId || "").replace(/\/{workspace}/gi, n.config?.workspace ? `/${n.config.workspace}` : ""), i = w.value ? { name: d.fields.prefix } : void 0;
|
|
1089
|
+
return (await U.post(p, i))?.data.id;
|
|
1097
1090
|
}, Re = async () => {
|
|
1098
1091
|
try {
|
|
1099
1092
|
d.isReadonly = !0;
|
|
1100
|
-
let
|
|
1101
|
-
X.value === "create" ?
|
|
1102
|
-
} catch (
|
|
1103
|
-
d.errorMessage = h(
|
|
1093
|
+
let p;
|
|
1094
|
+
X.value === "create" ? f.value === t.KONNECT ? (D.value = await K(), p = await U.post(_e.value, Se.value)) : p = await U.post(_e.value, ue.value) : X.value === "edit" && (f.value === t.KONNECT && !D.value ? (D.value = await K(), p = await U.put(_e.value, Se.value)) : p = n.config?.app === "konnect" ? await U.put(_e.value, Se.value) : await U.patch(_e.value, ue.value)), L(p?.data), s("update", p?.data);
|
|
1095
|
+
} catch (p) {
|
|
1096
|
+
d.errorMessage = h(p), s("error", p);
|
|
1104
1097
|
} finally {
|
|
1105
1098
|
d.isReadonly = !1;
|
|
1106
1099
|
}
|
|
1107
1100
|
};
|
|
1108
|
-
return (
|
|
1101
|
+
return (p, i) => {
|
|
1109
1102
|
const he = z("KTooltip"), le = z("KSelect"), m = z("KInput"), ee = z("KCheckbox"), Ee = z("KTextArea"), Pe = z("KAlert"), Ie = z("KCollapse");
|
|
1110
1103
|
return v(), G("div", na, [
|
|
1111
1104
|
u(e(mt), {
|
|
@@ -1132,8 +1125,8 @@ const _t = {
|
|
|
1132
1125
|
default: g(() => [
|
|
1133
1126
|
x("div", sa, [
|
|
1134
1127
|
u(le, {
|
|
1135
|
-
modelValue:
|
|
1136
|
-
"onUpdate:modelValue": i[0] || (i[0] = (r) =>
|
|
1128
|
+
modelValue: f.value,
|
|
1129
|
+
"onUpdate:modelValue": i[0] || (i[0] = (r) => f.value = r),
|
|
1137
1130
|
"data-testid": "provider-select",
|
|
1138
1131
|
disabled: we.value,
|
|
1139
1132
|
"dropdown-max-height": "500",
|
|
@@ -1169,7 +1162,7 @@ const _t = {
|
|
|
1169
1162
|
]),
|
|
1170
1163
|
u(gt, { name: "appear" }, {
|
|
1171
1164
|
default: g(() => [
|
|
1172
|
-
|
|
1165
|
+
f.value === e(t).ENV ? (v(), G("div", pa, [
|
|
1173
1166
|
u(m, {
|
|
1174
1167
|
modelValue: a[e(t).ENV].prefix,
|
|
1175
1168
|
"onUpdate:modelValue": i[1] || (i[1] = (r) => a[e(t).ENV].prefix = r),
|
|
@@ -1199,7 +1192,7 @@ const _t = {
|
|
|
1199
1192
|
readonly: d.isReadonly
|
|
1200
1193
|
}, null, 8, ["modelValue", "label", "label-attributes", "readonly"])) : M("", !0)
|
|
1201
1194
|
])) : M("", !0),
|
|
1202
|
-
|
|
1195
|
+
f.value === e(t).AWS ? (v(), G("div", {
|
|
1203
1196
|
key: `${e(t).AWS}-vault-config-fields`,
|
|
1204
1197
|
class: "vault-form-config-fields-container"
|
|
1205
1198
|
}, [
|
|
@@ -1286,7 +1279,7 @@ const _t = {
|
|
|
1286
1279
|
readonly: d.isReadonly
|
|
1287
1280
|
}, null, 8, ["modelValue", "label", "label-attributes", "readonly"])) : M("", !0)
|
|
1288
1281
|
])) : M("", !0),
|
|
1289
|
-
|
|
1282
|
+
f.value === e(t).GCP ? (v(), G("div", {
|
|
1290
1283
|
key: `${e(t).GCP}-vault-config-fields`,
|
|
1291
1284
|
class: "vault-form-config-fields-container"
|
|
1292
1285
|
}, [
|
|
@@ -1303,7 +1296,7 @@ const _t = {
|
|
|
1303
1296
|
type: "text"
|
|
1304
1297
|
}, {
|
|
1305
1298
|
"label-tooltip": g(() => [
|
|
1306
|
-
u(e(
|
|
1299
|
+
u(e(c), {
|
|
1307
1300
|
keypath: "form.config.gcp.fields.project_id.tooltip.text",
|
|
1308
1301
|
scope: "global"
|
|
1309
1302
|
}, {
|
|
@@ -1328,7 +1321,7 @@ const _t = {
|
|
|
1328
1321
|
readonly: d.isReadonly
|
|
1329
1322
|
}, null, 8, ["modelValue", "label", "label-attributes", "readonly"])) : M("", !0)
|
|
1330
1323
|
])) : M("", !0),
|
|
1331
|
-
|
|
1324
|
+
f.value === e(t).HCV ? (v(), G("div", {
|
|
1332
1325
|
key: `${e(t).HCV}-vault-config-fields`,
|
|
1333
1326
|
class: "vault-form-config-fields-container"
|
|
1334
1327
|
}, [
|
|
@@ -1880,7 +1873,7 @@ const _t = {
|
|
|
1880
1873
|
readonly: d.isReadonly
|
|
1881
1874
|
}, null, 8, ["modelValue", "label", "label-attributes", "readonly"])) : M("", !0)
|
|
1882
1875
|
])) : M("", !0),
|
|
1883
|
-
|
|
1876
|
+
f.value === e(t).AZURE ? (v(), G("div", {
|
|
1884
1877
|
key: `${e(t).AZURE}-vault-config-fields`,
|
|
1885
1878
|
class: "vault-form-config-fields-container"
|
|
1886
1879
|
}, [
|
|
@@ -1961,7 +1954,7 @@ const _t = {
|
|
|
1961
1954
|
readonly: d.isReadonly
|
|
1962
1955
|
}, null, 8, ["modelValue", "label", "label-attributes", "readonly"])) : M("", !0)
|
|
1963
1956
|
])) : M("", !0),
|
|
1964
|
-
|
|
1957
|
+
f.value === e(t).AZURE_CERTS ? (v(), G("div", {
|
|
1965
1958
|
key: `${e(t).AZURE_CERTS}-vault-config-fields`,
|
|
1966
1959
|
class: "vault-form-config-fields-container"
|
|
1967
1960
|
}, [
|
|
@@ -2008,7 +2001,7 @@ const _t = {
|
|
|
2008
2001
|
type: "text"
|
|
2009
2002
|
}, null, 8, ["modelValue", "label", "readonly"])
|
|
2010
2003
|
])) : M("", !0),
|
|
2011
|
-
|
|
2004
|
+
f.value === e(t).CONJUR ? (v(), G("div", {
|
|
2012
2005
|
key: `${e(t).CONJUR}-vault-config-fields`,
|
|
2013
2006
|
class: "vault-form-config-fields-container"
|
|
2014
2007
|
}, [
|
|
@@ -2100,7 +2093,7 @@ const _t = {
|
|
|
2100
2093
|
readonly: d.isReadonly
|
|
2101
2094
|
}, null, 8, ["modelValue", "label", "label-attributes", "readonly"])) : M("", !0)
|
|
2102
2095
|
])) : M("", !0),
|
|
2103
|
-
|
|
2096
|
+
f.value === e(t).FS ? (v(), G("div", {
|
|
2104
2097
|
key: `${e(t).FS}-vault-config-fields`,
|
|
2105
2098
|
class: "vault-form-config-fields-container"
|
|
2106
2099
|
}, [
|
|
@@ -2144,8 +2137,8 @@ const _t = {
|
|
|
2144
2137
|
x("div", Aa, [
|
|
2145
2138
|
x("div", Sa, [
|
|
2146
2139
|
u(m, {
|
|
2147
|
-
modelValue: a[
|
|
2148
|
-
"onUpdate:modelValue": i[80] || (i[80] = (r) => a[
|
|
2140
|
+
modelValue: a[f.value].ttl,
|
|
2141
|
+
"onUpdate:modelValue": i[80] || (i[80] = (r) => a[f.value].ttl = r),
|
|
2149
2142
|
"data-testid": "vault-ttl-input",
|
|
2150
2143
|
label: e(o)("form.config.advancedFields.ttl"),
|
|
2151
2144
|
"label-attributes": {
|
|
@@ -2157,8 +2150,8 @@ const _t = {
|
|
|
2157
2150
|
]),
|
|
2158
2151
|
x("div", Ra, [
|
|
2159
2152
|
u(m, {
|
|
2160
|
-
modelValue: a[
|
|
2161
|
-
"onUpdate:modelValue": i[81] || (i[81] = (r) => a[
|
|
2153
|
+
modelValue: a[f.value].neg_ttl,
|
|
2154
|
+
"onUpdate:modelValue": i[81] || (i[81] = (r) => a[f.value].neg_ttl = r),
|
|
2162
2155
|
"data-testid": "vault-neg-ttl-input",
|
|
2163
2156
|
label: e(o)("form.config.advancedFields.negTtl"),
|
|
2164
2157
|
"label-attributes": {
|
|
@@ -2172,8 +2165,8 @@ const _t = {
|
|
|
2172
2165
|
x("div", Ea, [
|
|
2173
2166
|
x("div", Ia, [
|
|
2174
2167
|
u(m, {
|
|
2175
|
-
modelValue: a[
|
|
2176
|
-
"onUpdate:modelValue": i[82] || (i[82] = (r) => a[
|
|
2168
|
+
modelValue: a[f.value].resurrect_ttl,
|
|
2169
|
+
"onUpdate:modelValue": i[82] || (i[82] = (r) => a[f.value].resurrect_ttl = r),
|
|
2177
2170
|
"data-testid": "vault-resurrect-ttl-input",
|
|
2178
2171
|
label: e(o)("form.config.advancedFields.resurrectTtl"),
|
|
2179
2172
|
"label-attributes": {
|
|
@@ -2240,7 +2233,7 @@ const _t = {
|
|
|
2240
2233
|
readonly: d.isReadonly,
|
|
2241
2234
|
type: "text"
|
|
2242
2235
|
}, null, 8, ["modelValue", "help", "label", "placeholder", "readonly"])),
|
|
2243
|
-
w.value ? lt(
|
|
2236
|
+
w.value ? lt(p.$slots, "labels", {
|
|
2244
2237
|
key: 1,
|
|
2245
2238
|
disabled: d.isReadonly,
|
|
2246
2239
|
labelList: d.fields.labelList,
|
|
@@ -2255,7 +2248,7 @@ const _t = {
|
|
|
2255
2248
|
]);
|
|
2256
2249
|
};
|
|
2257
2250
|
}
|
|
2258
|
-
}), nl = /* @__PURE__ */ Ve(xa, [["__scopeId", "data-v-
|
|
2251
|
+
}), nl = /* @__PURE__ */ Ve(xa, [["__scopeId", "data-v-ba772fc7"]]), Ua = { class: "kong-ui-vault-entity-config-card" }, at = "************", sl = /* @__PURE__ */ be({
|
|
2259
2252
|
__name: "VaultConfigCard",
|
|
2260
2253
|
props: {
|
|
2261
2254
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -2282,7 +2275,7 @@ const _t = {
|
|
|
2282
2275
|
},
|
|
2283
2276
|
emits: ["loading", "fetch:error", "fetch:success"],
|
|
2284
2277
|
setup(l) {
|
|
2285
|
-
const y = l, n = ["token", "approle_secret_id", "api_key", "aws_access_key_id", "aws_secret_access_key", "aws_auth_nonce", "cert_auth_cert_key", "oauth2_client_secret"], s = b(() => y.config.apiType === "aiGateway"),
|
|
2278
|
+
const y = l, n = ["token", "approle_secret_id", "api_key", "aws_access_key_id", "aws_secret_access_key", "aws_auth_nonce", "cert_auth_cert_key", "oauth2_client_secret"], s = b(() => y.config.apiType === "aiGateway"), c = b(() => (s.value ? ce.form.aiGateway?.edit : ce.form[y.config?.app]?.edit)?.replace(/{aiGatewayId}/gi, y.config.aiGatewayId || "")), o = (I) => s.value ? $e(I) : I, { i18n: { t: $ } } = Ae.useI18n(), { convertKeyToTitle: U } = Ht(), { getPropValue: h } = Tt(), w = b(() => ({
|
|
2286
2279
|
id: {},
|
|
2287
2280
|
name: {
|
|
2288
2281
|
label: $(s.value ? "labels.vault_type_ai_gateway" : "labels.vault_type")
|
|
@@ -2309,13 +2302,13 @@ const _t = {
|
|
|
2309
2302
|
}
|
|
2310
2303
|
})), A = (I) => {
|
|
2311
2304
|
const d = { ...I.config };
|
|
2312
|
-
n.forEach((
|
|
2313
|
-
|
|
2305
|
+
n.forEach((f) => {
|
|
2306
|
+
f in d && (d[f] = at);
|
|
2314
2307
|
});
|
|
2315
2308
|
const H = { ...I, config: d };
|
|
2316
2309
|
if (s.value) {
|
|
2317
|
-
const
|
|
2318
|
-
return delete
|
|
2310
|
+
const f = { ...H, type: H.name, name: H.prefix };
|
|
2311
|
+
return delete f.prefix, f;
|
|
2319
2312
|
}
|
|
2320
2313
|
return H;
|
|
2321
2314
|
}, R = (I) => w.value?.[I]?.label || U(I);
|
|
@@ -2326,7 +2319,7 @@ const _t = {
|
|
|
2326
2319
|
"config-card-doc": l.configCardDoc,
|
|
2327
2320
|
"config-schema": w.value,
|
|
2328
2321
|
"entity-type": e(Le).Vault,
|
|
2329
|
-
"fetch-url":
|
|
2322
|
+
"fetch-url": c.value,
|
|
2330
2323
|
"formats-to-hide": l.config.apiType === "aiGateway" ? ["terraform", "deck"] : [],
|
|
2331
2324
|
"hide-title": l.hideTitle,
|
|
2332
2325
|
"record-resolver": o,
|
|
@@ -2335,12 +2328,12 @@ const _t = {
|
|
|
2335
2328
|
onLoading: d[2] || (d[2] = (H) => I.$emit("loading", H))
|
|
2336
2329
|
}, {
|
|
2337
2330
|
config: g(({ rowValue: H }) => [
|
|
2338
|
-
(v(!0), G(ot, null, yt(Object.keys(H).sort(), (
|
|
2339
|
-
key:
|
|
2331
|
+
(v(!0), G(ot, null, yt(Object.keys(H).sort(), (f) => (v(), S(e($t), {
|
|
2332
|
+
key: f,
|
|
2340
2333
|
item: {
|
|
2341
|
-
key:
|
|
2342
|
-
value: n.includes(
|
|
2343
|
-
label: R(
|
|
2334
|
+
key: f,
|
|
2335
|
+
value: n.includes(f) ? at : e(h)(f, H),
|
|
2336
|
+
label: R(f)
|
|
2344
2337
|
}
|
|
2345
2338
|
}, null, 8, ["item"]))), 128))
|
|
2346
2339
|
]),
|
|
@@ -2408,23 +2401,23 @@ const _t = {
|
|
|
2408
2401
|
},
|
|
2409
2402
|
emits: ["error", "delete:success"],
|
|
2410
2403
|
setup(l, { emit: y }) {
|
|
2411
|
-
const n = y, s = l, { i18n: { t:
|
|
2404
|
+
const n = y, s = l, { i18n: { t: c, formatUnixTimeStamp: o } } = Ae.useI18n(), { axiosInstance: $ } = Ce(s.config?.axiosRequestConfig), h = {
|
|
2412
2405
|
// the Secret Key column is non-hidable
|
|
2413
|
-
key: { label:
|
|
2414
|
-
updated_at: { label:
|
|
2406
|
+
key: { label: c("secrets.list.table_headers.key"), sortable: !1, hidable: !1 },
|
|
2407
|
+
updated_at: { label: c("secrets.list.table_headers.updated_at"), sortable: !1 }
|
|
2415
2408
|
}, w = (j) => ({
|
|
2416
2409
|
"data-testid": j.key
|
|
2417
2410
|
}), A = b(() => s.config.apiType === "aiGateway" ? re.list.aiGateway : re.list[s.config.app]), R = b(() => `${s.config.apiBaseUrl}${A.value}`.replace(/{aiGatewayId}/gi, s.config.aiGatewayId || "").replace(/{controlPlaneId}/gi, s.config?.controlPlaneId || "").replace(/\/{workspace}/gi, s.config?.workspace ? `/${s.config.workspace}` : "").replace(/{id}/gi, s.configStoreId || "")), I = N(""), d = {
|
|
2418
2411
|
isExactMatch: !0,
|
|
2419
|
-
placeholder:
|
|
2412
|
+
placeholder: c("search.placeholder_for_secrets.konnect")
|
|
2420
2413
|
}, {
|
|
2421
2414
|
fetcher: H,
|
|
2422
|
-
fetcherState:
|
|
2415
|
+
fetcherState: f,
|
|
2423
2416
|
fetcherCacheKey: J
|
|
2424
2417
|
} = rt(b(() => ({ ...s.config, cacheIdentifier: s.cacheIdentifier })), R), D = () => {
|
|
2425
2418
|
I.value = "";
|
|
2426
2419
|
}, Q = N(null), fe = (j) => ({
|
|
2427
|
-
label:
|
|
2420
|
+
label: c("actions.edit"),
|
|
2428
2421
|
to: s.config.getEditRoute(j)
|
|
2429
2422
|
}), Y = N(void 0), Z = N(!1), oe = N(!1), k = N(""), a = nt(s.config, R.value), ae = (j) => {
|
|
2430
2423
|
Y.value = j, Z.value = !0;
|
|
@@ -2436,16 +2429,16 @@ const _t = {
|
|
|
2436
2429
|
try {
|
|
2437
2430
|
await $.delete(a(Y.value.key)), oe.value = !1, Z.value = !1, J.value++, n("delete:success", Y.value);
|
|
2438
2431
|
} catch (j) {
|
|
2439
|
-
k.value = j.response?.data?.message || j.message ||
|
|
2432
|
+
k.value = j.response?.data?.message || j.message || c("errors.delete"), n("error", j);
|
|
2440
2433
|
} finally {
|
|
2441
2434
|
oe.value = !1;
|
|
2442
2435
|
}
|
|
2443
2436
|
}
|
|
2444
2437
|
};
|
|
2445
|
-
Ge(
|
|
2438
|
+
Ge(f, (j) => {
|
|
2446
2439
|
if (j.status === st.Error) {
|
|
2447
2440
|
Q.value = {
|
|
2448
|
-
title:
|
|
2441
|
+
title: c("errors.general")
|
|
2449
2442
|
}, j.error?.response?.data?.message && (Q.value.message = j.error.response.data.message), n("error", j.error);
|
|
2450
2443
|
return;
|
|
2451
2444
|
}
|
|
@@ -2454,11 +2447,11 @@ const _t = {
|
|
|
2454
2447
|
const pe = N({
|
|
2455
2448
|
ctaPath: s.config.createRoute,
|
|
2456
2449
|
ctaText: void 0,
|
|
2457
|
-
message: `${
|
|
2458
|
-
title:
|
|
2450
|
+
message: `${c("secrets.list.empty_state.description")}${s.config.additionMessageForEmptyState ? ` ${s.config.additionMessageForEmptyState}` : ""}`,
|
|
2451
|
+
title: c("secrets.title")
|
|
2459
2452
|
});
|
|
2460
2453
|
return Fe(async () => {
|
|
2461
|
-
await s.canCreate() && (pe.value.title =
|
|
2454
|
+
await s.canCreate() && (pe.value.title = c("secrets.list.empty_state.title"), pe.value.ctaText = c("secrets.list.toolbar_actions.new_secret"));
|
|
2462
2455
|
}), (j, X) => {
|
|
2463
2456
|
const W = z("KButton"), ie = z("KDropdownItem");
|
|
2464
2457
|
return v(), G(ot, null, [
|
|
@@ -2497,7 +2490,7 @@ const _t = {
|
|
|
2497
2490
|
}, {
|
|
2498
2491
|
default: g(() => [
|
|
2499
2492
|
u(e(je)),
|
|
2500
|
-
ye(" " + O(e(
|
|
2493
|
+
ye(" " + O(e(c)("secrets.list.toolbar_actions.new_secret")), 1)
|
|
2501
2494
|
]),
|
|
2502
2495
|
_: 1
|
|
2503
2496
|
}, 8, ["to"])
|
|
@@ -2536,7 +2529,7 @@ const _t = {
|
|
|
2536
2529
|
onClick: (we) => ae(q)
|
|
2537
2530
|
}, {
|
|
2538
2531
|
default: g(() => [
|
|
2539
|
-
ye(O(e(
|
|
2532
|
+
ye(O(e(c)("actions.delete")), 1)
|
|
2540
2533
|
]),
|
|
2541
2534
|
_: 1
|
|
2542
2535
|
}, 8, ["onClick"])
|
|
@@ -2548,11 +2541,11 @@ const _t = {
|
|
|
2548
2541
|
}, 8, ["cache-identifier", "empty-state-options", "error-message", "fetcher", "fetcher-cache-key", "query", "table-headers"]),
|
|
2549
2542
|
u(e(ct), {
|
|
2550
2543
|
"action-pending": oe.value,
|
|
2551
|
-
description: e(
|
|
2544
|
+
description: e(c)("delete.description"),
|
|
2552
2545
|
"entity-name": Y.value && Y.value.key,
|
|
2553
2546
|
"entity-type": e(ft).Secret,
|
|
2554
2547
|
error: k.value,
|
|
2555
|
-
title: e(
|
|
2548
|
+
title: e(c)("delete.title_for_secret"),
|
|
2556
2549
|
visible: Z.value,
|
|
2557
2550
|
onCancel: ge,
|
|
2558
2551
|
onProceed: ne
|
|
@@ -2600,7 +2593,7 @@ const _t = {
|
|
|
2600
2593
|
},
|
|
2601
2594
|
emits: ["error", "delete:success"],
|
|
2602
2595
|
setup(l, { emit: y }) {
|
|
2603
|
-
const n = y, s = l,
|
|
2596
|
+
const n = y, s = l, c = (A) => {
|
|
2604
2597
|
n("error", A);
|
|
2605
2598
|
}, o = (A) => {
|
|
2606
2599
|
n("delete:success", A);
|
|
@@ -2616,7 +2609,7 @@ const _t = {
|
|
|
2616
2609
|
U.value ? (v(), S(Ga, it({ key: 0 }, s, {
|
|
2617
2610
|
"config-store-id": U.value,
|
|
2618
2611
|
"onDelete:success": o,
|
|
2619
|
-
onError:
|
|
2612
|
+
onError: c
|
|
2620
2613
|
}), null, 16, ["config-store-id"])) : M("", !0)
|
|
2621
2614
|
]));
|
|
2622
2615
|
}
|
|
@@ -2644,7 +2637,7 @@ const _t = {
|
|
|
2644
2637
|
},
|
|
2645
2638
|
emits: ["update", "error", "loading"],
|
|
2646
2639
|
setup(l, { emit: y }) {
|
|
2647
|
-
const n = l, s = y, { i18n: { t:
|
|
2640
|
+
const n = l, s = y, { i18n: { t: c } } = Ae.useI18n(), o = De(), { axiosInstance: $ } = Ce(n.config?.axiosRequestConfig), { getMessageFromError: U } = pt(), h = Te({
|
|
2648
2641
|
fields: {
|
|
2649
2642
|
key: "",
|
|
2650
2643
|
value: ""
|
|
@@ -2662,7 +2655,7 @@ const _t = {
|
|
|
2662
2655
|
s("loading", k);
|
|
2663
2656
|
}, H = (k) => {
|
|
2664
2657
|
s("error", k);
|
|
2665
|
-
},
|
|
2658
|
+
}, f = (k) => {
|
|
2666
2659
|
h.fields.key = k?.item?.key || k?.key || "", h.fields.value = k?.item?.value || k?.value || "", Object.assign(w, h.fields);
|
|
2667
2660
|
}, J = b(() => n.secretId ? ve.Edit : ve.Create), D = b(() => J.value === ve.Edit ? "edit" : "create"), Q = b(() => `${n.config.apiBaseUrl}${A.value[J.value]}`.replace(/{aiGatewayId}/gi, n.config.aiGatewayId || "").replace(/{controlPlaneId}/gi, n.config?.controlPlaneId || "").replace(/\/{workspace}/gi, n.config?.workspace ? `/${n.config.workspace}` : "").replace(/{id}/gi, n.configStoreId).replace(/{secretId}/gi, n.secretId)), fe = b(() => !!h.fields.key && !!h.fields.value), Y = b(() => JSON.stringify(h.fields) !== JSON.stringify(w)), Z = b(() => ({
|
|
2668
2661
|
key: h.fields.key,
|
|
@@ -2677,7 +2670,7 @@ const _t = {
|
|
|
2677
2670
|
const a = n.config.apiType === "aiGateway" ? { value: Z.value.value } : Z.value;
|
|
2678
2671
|
k = await $.put(Q.value, a);
|
|
2679
2672
|
}
|
|
2680
|
-
|
|
2673
|
+
f(k?.data), s("update", k?.data);
|
|
2681
2674
|
} catch (k) {
|
|
2682
2675
|
h.errorMessage = U(k), s("error", k);
|
|
2683
2676
|
} finally {
|
|
@@ -2697,16 +2690,16 @@ const _t = {
|
|
|
2697
2690
|
"is-readonly": h.readonly,
|
|
2698
2691
|
onCancel: I,
|
|
2699
2692
|
"onFetch:error": H,
|
|
2700
|
-
"onFetch:success":
|
|
2693
|
+
"onFetch:success": f,
|
|
2701
2694
|
onLoading: d,
|
|
2702
2695
|
onSubmit: oe
|
|
2703
2696
|
}, {
|
|
2704
2697
|
default: g(() => [
|
|
2705
2698
|
x("div", null, [
|
|
2706
2699
|
u(e(qe), {
|
|
2707
|
-
description: e(
|
|
2700
|
+
description: e(c)("secrets.form.info.description"),
|
|
2708
2701
|
"has-divider": "",
|
|
2709
|
-
title: e(
|
|
2702
|
+
title: e(c)("secrets.form.info.title")
|
|
2710
2703
|
}, {
|
|
2711
2704
|
default: g(() => [
|
|
2712
2705
|
u(ae, {
|
|
@@ -2717,8 +2710,8 @@ const _t = {
|
|
|
2717
2710
|
class: "key-field",
|
|
2718
2711
|
"data-testid": "secret-form-key",
|
|
2719
2712
|
disabled: J.value === e(ve).Edit,
|
|
2720
|
-
label: e(
|
|
2721
|
-
placeholder: e(
|
|
2713
|
+
label: e(c)("secrets.form.fields.key.label"),
|
|
2714
|
+
placeholder: e(c)("secrets.form.fields.key.placeholder"),
|
|
2722
2715
|
readonly: h.readonly,
|
|
2723
2716
|
required: "",
|
|
2724
2717
|
type: "text"
|
|
@@ -2728,17 +2721,17 @@ const _t = {
|
|
|
2728
2721
|
"onUpdate:modelValue": a[1] || (a[1] = (ne) => h.fields.value = ne),
|
|
2729
2722
|
modelModifiers: { trim: !0 },
|
|
2730
2723
|
"data-testid": "secret-form-value",
|
|
2731
|
-
label: e(
|
|
2732
|
-
labels: { rotateLabel: e(
|
|
2724
|
+
label: e(c)("secrets.form.fields.value.label"),
|
|
2725
|
+
labels: { rotateLabel: e(c)("secrets.form.fields.value.rotateLabel") },
|
|
2733
2726
|
mode: D.value,
|
|
2734
2727
|
multiline: "",
|
|
2735
|
-
placeholder: e(
|
|
2728
|
+
placeholder: e(c)("secrets.form.fields.value.placeholder"),
|
|
2736
2729
|
readonly: h.readonly,
|
|
2737
2730
|
required: ""
|
|
2738
2731
|
}, null, 8, ["modelValue", "label", "labels", "mode", "placeholder", "readonly"]),
|
|
2739
2732
|
u(ge, {
|
|
2740
2733
|
appearance: "warning",
|
|
2741
|
-
message: e(
|
|
2734
|
+
message: e(c)("secrets.form.hint")
|
|
2742
2735
|
}, null, 8, ["message"])
|
|
2743
2736
|
]),
|
|
2744
2737
|
_: 1
|
|
@@ -2772,7 +2765,7 @@ const _t = {
|
|
|
2772
2765
|
},
|
|
2773
2766
|
emits: ["update", "error", "loading"],
|
|
2774
2767
|
setup(l, { emit: y }) {
|
|
2775
|
-
const n = l, s = y,
|
|
2768
|
+
const n = l, s = y, c = (R) => {
|
|
2776
2769
|
s("update", R);
|
|
2777
2770
|
}, o = (R) => {
|
|
2778
2771
|
s("error", R);
|
|
@@ -2791,7 +2784,7 @@ const _t = {
|
|
|
2791
2784
|
"config-store-id": h.value,
|
|
2792
2785
|
onError: o,
|
|
2793
2786
|
onLoading: $,
|
|
2794
|
-
onUpdate:
|
|
2787
|
+
onUpdate: c
|
|
2795
2788
|
}), null, 16, ["config-store-id"])) : M("", !0)
|
|
2796
2789
|
]));
|
|
2797
2790
|
}
|
|
@@ -2814,7 +2807,7 @@ const _t = {
|
|
|
2814
2807
|
}) {
|
|
2815
2808
|
const n = l, s = y, {
|
|
2816
2809
|
i18n: {
|
|
2817
|
-
t:
|
|
2810
|
+
t: c
|
|
2818
2811
|
},
|
|
2819
2812
|
i18nT: o
|
|
2820
2813
|
} = Ae.useI18n();
|
|
@@ -2828,7 +2821,7 @@ const _t = {
|
|
|
2828
2821
|
disabled: n.disabled
|
|
2829
2822
|
}),
|
|
2830
2823
|
onClick: U[0] || (U[0] = () => !n.disabled && s("open", n.value, n.update))
|
|
2831
|
-
}, O(e(
|
|
2824
|
+
}, O(e(c)("vault_secret_picker.provider.cta")), 3)]),
|
|
2832
2825
|
_: 1
|
|
2833
2826
|
})]));
|
|
2834
2827
|
}
|
|
@@ -2841,12 +2834,12 @@ const _t = {
|
|
|
2841
2834
|
const n = new URL(`http://${y.substring(8)}`);
|
|
2842
2835
|
if (!n)
|
|
2843
2836
|
throw new Error("Invalid secret reference: must have a vault prefix");
|
|
2844
|
-
const s = n.host, [,
|
|
2837
|
+
const s = n.host, [, c, ...o] = n.pathname.split("/");
|
|
2845
2838
|
if (!s)
|
|
2846
2839
|
throw new Error("Invalid secret reference: must have a vault prefix");
|
|
2847
2840
|
return {
|
|
2848
2841
|
vaultPrefix: s,
|
|
2849
|
-
secretId:
|
|
2842
|
+
secretId: c || void 0,
|
|
2850
2843
|
// Non-empty string or undefined
|
|
2851
2844
|
optionalSecretKey: o?.join("/")
|
|
2852
2845
|
// Non-empty string or undefined
|
|
@@ -2900,12 +2893,12 @@ const _t = {
|
|
|
2900
2893
|
},
|
|
2901
2894
|
emits: ["proceed", "cancel"],
|
|
2902
2895
|
setup(l, { emit: y }) {
|
|
2903
|
-
const { i18n: { t: n } } = Ae.useI18n(), s = l,
|
|
2896
|
+
const { i18n: { t: n } } = Ae.useI18n(), s = l, c = y, { axiosInstance: o } = Ce({
|
|
2904
2897
|
// 404 errors are allowed in this components
|
|
2905
2898
|
validateStatus: (C) => C === 404 || C >= 200 && C < 300,
|
|
2906
2899
|
// Spread the passed-in config later to allow overriding
|
|
2907
2900
|
...s.config?.axiosRequestConfig
|
|
2908
|
-
}), $ = N(!1), U = N(""), h = N(""), w = N(""), A = N(), R = b(() => s.config.apiType === "aiGateway"), I = (C) => C.replace(/{aiGatewayId}/gi, s.config.aiGatewayId || ""), d = b(() => R.value ? I(ce.list.aiGateway.getAll) : ce.list[s.config.app].getAll), H = b(() => R.value ? I(re.list.aiGateway).replace(/{id}/gi, A.value?.config?.config_store_id ?? "") : s.config.app === "konnect" ? re.list[s.config.app].replace(/{id}/gi, A.value?.config?.config_store_id ?? "") : "<not_applicable>"),
|
|
2901
|
+
}), $ = N(!1), U = N(""), h = N(""), w = N(""), A = N(), R = b(() => s.config.apiType === "aiGateway"), I = (C) => C.replace(/{aiGatewayId}/gi, s.config.aiGatewayId || ""), d = b(() => R.value ? I(ce.list.aiGateway.getAll) : ce.list[s.config.app].getAll), H = b(() => R.value ? I(re.list.aiGateway).replace(/{id}/gi, A.value?.config?.config_store_id ?? "") : s.config.app === "konnect" ? re.list[s.config.app].replace(/{id}/gi, A.value?.config?.config_store_id ?? "") : "<not_applicable>"), f = b(() => {
|
|
2909
2902
|
if (Q && k)
|
|
2910
2903
|
return n("vault_secret_picker.fetch_error.vaults_and_secrets");
|
|
2911
2904
|
if (Q)
|
|
@@ -2954,7 +2947,7 @@ const _t = {
|
|
|
2954
2947
|
const P = R.value ? re.form.aiGateway.edit : re.form[s.config.app].edit;
|
|
2955
2948
|
return I(`${s.config.apiBaseUrl}${P}`).replace(/{controlPlaneId}/gi, s.config?.controlPlaneId || "").replace(/\/{workspace}/gi, s.config?.workspace ? `/${s.config.workspace}` : "").replace(/{id}/gi, E).replace(/{secretId}/gi, C);
|
|
2956
2949
|
}, se = () => {
|
|
2957
|
-
|
|
2950
|
+
c("proceed", za({
|
|
2958
2951
|
vaultPrefix: U.value,
|
|
2959
2952
|
secretId: h.value || void 0,
|
|
2960
2953
|
// Either a non-empty string or undefined
|
|
@@ -2997,7 +2990,7 @@ const _t = {
|
|
|
2997
2990
|
"data-testid": "vault-secret-picker-modal",
|
|
2998
2991
|
title: l.title || e(n)("vault_secret_picker.title"),
|
|
2999
2992
|
visible: s.setup !== !1,
|
|
3000
|
-
onCancel: E[4] || (E[4] = () =>
|
|
2993
|
+
onCancel: E[4] || (E[4] = () => c("cancel")),
|
|
3001
2994
|
onProceed: se
|
|
3002
2995
|
}, {
|
|
3003
2996
|
default: g(() => [
|
|
@@ -3005,7 +2998,7 @@ const _t = {
|
|
|
3005
2998
|
key: 0,
|
|
3006
2999
|
"data-testid": "vault-secret-picker-fetch-error",
|
|
3007
3000
|
"icon-variant": "error",
|
|
3008
|
-
message:
|
|
3001
|
+
message: f.value
|
|
3009
3002
|
}, null, 8, ["message"])) : (v(), G("div", Da, [
|
|
3010
3003
|
lt(C.$slots, "form-prefix", {}, void 0, !0),
|
|
3011
3004
|
u(de, {
|