@kong-ui-public/entities-gateway-services 3.13.9 → 3.13.10

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.
@@ -1,9 +1,9 @@
1
- import { defineComponent as De, ref as R, computed as w, watch as Be, onBeforeMount as Ze, resolveComponent as D, createElementBlock as A, openBlock as S, createVNode as n, unref as o, createSlots as Ee, withCtx as d, createTextVNode as U, toDisplayString as b, createElementVNode as P, withModifiers as xe, createBlock as ue, Teleport as Je, createCommentVNode as B, reactive as Ke, onMounted as Qe, Transition as Me, Fragment as Xe, renderList as Ye, renderSlot as et } from "vue";
2
- import { useRouter as We } from "vue-router";
3
- import { BookIcon as Le, AddIcon as qe, ServicesIcon as tt } from "@kong/icons";
4
- import { createI18n as ot, i18nTComponent as rt } from "@kong-ui-public/i18n";
5
- import { useAxios as Oe, useTableState as it, useFetcher as lt, useDeleteUrlBuilder as st, FetcherStatus as at, EntityBaseTable as nt, PermissionsWrapper as de, TableTags as ct, EntityFilter as dt, EntityToggleModal as ut, EntityDeleteModal as ft, EntityTypes as pt, useHelpers as je, ConfigurationSchemaType as mt, ConfigurationSchemaSection as Ve, EntityBaseConfigCard as vt, SupportedEntityType as ze, useErrors as gt, useValidators as yt, EntityBaseFormType as Ge, useGatewayFeatureSupported as _t, EntityBaseForm as ht, EntityFormSection as Ne } from "@kong-ui-public/entities-shared";
6
- const bt = {
1
+ import { defineComponent as Be, ref as $, computed as k, watch as Me, onBeforeMount as He, resolveComponent as B, createElementBlock as A, openBlock as C, createVNode as n, unref as r, createSlots as ke, withCtx as d, createTextVNode as U, toDisplayString as h, createElementVNode as E, withModifiers as Ue, createBlock as de, Teleport as Ze, createCommentVNode as M, reactive as De, onMounted as Je, Transition as $e, Fragment as Qe, renderList as Xe, renderSlot as Ye } from "vue";
2
+ import { useRouter as Ne } from "vue-router";
3
+ import { BookIcon as Ke, AddIcon as Le, ServicesIcon as et } from "@kong/icons";
4
+ import { createI18n as tt, i18nTComponent as ot } from "@kong-ui-public/i18n";
5
+ import { useAxios as We, useTableState as rt, useFetcher as it, useDeleteUrlBuilder as lt, FetcherStatus as st, EntityBaseTable as at, PermissionsWrapper as ce, TableTags as nt, EntityFilter as ct, EntityToggleModal as dt, EntityDeleteModal as ut, EntityTypes as ft, useHelpers as Oe, ConfigurationSchemaType as pt, ConfigurationSchemaSection as we, EntityBaseConfigCard as mt, SupportedEntityType as je, useErrors as vt, useValidators as gt, EntityBaseFormType as qe, useGatewayFeatureSupported as yt, EntityBaseForm as _t, EntityFormSection as Ge } from "@kong-ui-public/entities-shared";
6
+ const ht = {
7
7
  create: "New gateway service",
8
8
  serverless_create: "Add a Service",
9
9
  copy_id: "Copy ID",
@@ -16,12 +16,12 @@ const bt = {
16
16
  description: "Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",
17
17
  menu_label: "Delete"
18
18
  }
19
- }, wt = {
19
+ }, bt = {
20
20
  placeholder: {
21
21
  konnect: "Filter by name",
22
22
  kongManager: "Filter by exact name or ID"
23
23
  }
24
- }, kt = {
24
+ }, wt = {
25
25
  title: "Gateway Services",
26
26
  list: {
27
27
  toolbar_actions: {
@@ -204,38 +204,38 @@ const bt = {
204
204
  }
205
205
  }
206
206
  }
207
- }, Vt = {
207
+ }, kt = {
208
208
  general: "Gateway Services could not be retrieved",
209
209
  delete: "The gateway service could not be deleted at this time.",
210
210
  copy: "Failed to copy to clipboard",
211
211
  urlErrorMessage: "Error: invalid URL"
212
- }, Ct = {
212
+ }, Vt = {
213
213
  success: "Copied {val} to clipboard",
214
214
  success_brief: "Successfully copied to clipboard"
215
- }, St = {
215
+ }, Ct = {
216
216
  gateway_services: "gateway services"
217
- }, Et = {
218
- actions: bt,
219
- search: wt,
220
- gateway_services: kt,
221
- errors: Vt,
222
- copy: Ct,
223
- glossary: St
217
+ }, St = {
218
+ actions: ht,
219
+ search: bt,
220
+ gateway_services: wt,
221
+ errors: kt,
222
+ copy: Vt,
223
+ glossary: Ct
224
224
  };
225
- function Pt() {
226
- const a = ot("en-us", Et);
225
+ function Et() {
226
+ const s = tt("en-us", St);
227
227
  return {
228
- i18n: a,
229
- i18nT: rt(a)
228
+ i18n: s,
229
+ i18nT: ot(s)
230
230
  // Translation component <i18n-t>
231
231
  };
232
232
  }
233
- function It() {
233
+ function Pt() {
234
234
  return {
235
235
  getPortFromProtocol: (q, p) => {
236
- const c = [80, 443], s = Number(p);
237
- if ((s || s === 0) && !c.includes(s))
238
- return s;
236
+ const c = [80, 443], a = Number(p);
237
+ if ((a || a === 0) && !c.includes(a))
238
+ return a;
239
239
  switch (q) {
240
240
  case "grpcs":
241
241
  case "tls":
@@ -252,59 +252,57 @@ function It() {
252
252
  }
253
253
  };
254
254
  }
255
- function Ft() {
256
- const { i18n: { t: a } } = ee.useI18n();
255
+ function It() {
256
+ const { i18n: { t: s } } = X.useI18n();
257
257
  return {
258
- validateHost: (v) => {
259
- if (!v || v.trim() === "") return a("gateway_services.form.errors.host.empty");
260
- const $ = /^(?!:\/\/)([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?))*)(\.[a-zA-Z]{1,63})?$/;
261
- return /^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$/.test(v) || $.test(v) ? "" : a("gateway_services.form.errors.host.invalid");
258
+ validateHost: (m) => {
259
+ if (!m || m.trim() === "") return s("gateway_services.form.errors.host.empty");
260
+ const F = /^(?!:\/\/)([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?))*)(\.[a-zA-Z]{1,63})?$/;
261
+ return /^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$/.test(m) || F.test(m) ? "" : s("gateway_services.form.errors.host.invalid");
262
262
  },
263
- validateProtocol: (v, $) => !v || v.trim() === "" ? a("gateway_services.form.errors.protocol.empty") : (v = v.slice(0, -1), $.find((l) => {
264
- if (l.value === v) return l;
265
- }) === void 0 ? a("gateway_services.form.errors.protocol.invalid") : ""),
266
- validatePath: (v) => !v || v === "" ? "" : v.startsWith("/") ? /[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]/.test(v) ? a("gateway_services.form.errors.path.invalid") : "" : a("gateway_services.form.errors.path.prefix"),
267
- validatePort: (v) => {
268
- if (v == null || v === "")
263
+ validateProtocol: (m, F) => !m || m.trim() === "" ? s("gateway_services.form.errors.protocol.empty") : (m = m.slice(0, -1), F.find((l) => {
264
+ if (l.value === m) return l;
265
+ }) === void 0 ? s("gateway_services.form.errors.protocol.invalid") : ""),
266
+ validatePath: (m) => !m || m === "" ? "" : m.startsWith("/") ? /[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]/.test(m) ? s("gateway_services.form.errors.path.invalid") : "" : s("gateway_services.form.errors.path.prefix"),
267
+ validatePort: (m) => {
268
+ if (m == null || m === "")
269
269
  return "";
270
- const $ = typeof v == "string" ? parseInt(v, 10) : v;
271
- return isNaN($) ? a("gateway_services.form.errors.port.type") : $ < 0 || $ > 65535 ? a("gateway_services.form.errors.port.invalid") : "";
270
+ const F = typeof m == "string" ? parseInt(m, 10) : m;
271
+ return isNaN(F) ? s("gateway_services.form.errors.port.type") : F < 0 || F > 65535 ? s("gateway_services.form.errors.port.invalid") : "";
272
272
  }
273
273
  };
274
274
  }
275
- const ee = {
276
- useI18n: Pt,
277
- usePortFromProtocol: It,
278
- useUrlValidators: Ft
279
- }, Ce = "/v2/control-planes/{controlPlaneId}/core-entities", Se = "/{workspace}", fe = {
275
+ const X = {
276
+ useI18n: Et,
277
+ usePortFromProtocol: Pt,
278
+ useUrlValidators: It
279
+ }, Re = "/v2/control-planes/{controlPlaneId}/core-entities", xe = "/{workspace}", Ve = {
280
280
  list: {
281
281
  konnect: {
282
- all: `${Ce}/services`
282
+ all: `${Re}/services`
283
283
  },
284
284
  kongManager: {
285
- all: `${Se}/services`
285
+ all: `${xe}/services`
286
286
  }
287
287
  },
288
288
  form: {
289
289
  konnect: {
290
- create: `${Ce}/services`,
291
- validate: `${Ce}/v1/schemas/json/service/validate`,
292
- edit: `${Ce}/services/{id}`
290
+ create: `${Re}/services`,
291
+ edit: `${Re}/services/{id}`
293
292
  },
294
293
  kongManager: {
295
- create: `${Se}/services`,
296
- validate: `${Se}/schemas/services/validate`,
297
- edit: `${Se}/services/{id}`
294
+ create: `${xe}/services`,
295
+ edit: `${xe}/services/{id}`
298
296
  }
299
297
  }
300
- }, $t = { class: "kong-ui-entities-gateway-services-list" }, At = { class: "button-row" }, Tt = { key: 1 }, Ut = /* @__PURE__ */ De({
298
+ }, Ft = { class: "kong-ui-entities-gateway-services-list" }, At = { class: "button-row" }, Tt = { key: 1 }, Ut = /* @__PURE__ */ Be({
301
299
  __name: "GatewayServiceList",
302
300
  props: {
303
301
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
304
302
  config: {
305
303
  type: Object,
306
304
  required: !0,
307
- validator: (a) => !(!a || !["konnect", "kongManager"].includes(a == null ? void 0 : a.app) || !a.createRoute || !a.getViewRoute || !a.getEditRoute || a.app === "kongManager" && !a.isExactMatch && !a.filterSchema)
305
+ validator: (s) => !(!s || !["konnect", "kongManager"].includes(s == null ? void 0 : s.app) || !s.createRoute || !s.getViewRoute || !s.getEditRoute || s.app === "kongManager" && !s.isExactMatch && !s.filterSchema)
308
306
  },
309
307
  // used to override the default identifier for the cache entry
310
308
  cacheIdentifier: {
@@ -347,211 +345,211 @@ const ee = {
347
345
  }
348
346
  },
349
347
  emits: ["error", "click:learn-more", "copy:success", "copy:error", "delete:success", "toggle:success"],
350
- setup(a, { emit: q }) {
351
- var ke;
352
- const p = q, c = a, { i18n: { t: s, formatUnixTimeStamp: v } } = ee.useI18n(), $ = We(), { axiosInstance: G } = Oe((ke = c.config) == null ? void 0 : ke.axiosRequestConfig), { hasRecords: l, handleStateChange: K } = it(() => j.value), E = w(() => l.value && c.config.app === "konnect"), Pe = w(() => c.config.app !== "kongManager" || !!c.config.disableSorting), se = {
348
+ setup(s, { emit: q }) {
349
+ var be;
350
+ const p = q, c = s, { i18n: { t: a, formatUnixTimeStamp: m } } = X.useI18n(), F = Ne(), { axiosInstance: G } = We((be = c.config) == null ? void 0 : be.axiosRequestConfig), { hasRecords: l, handleStateChange: D } = rt(() => W.value), P = k(() => l.value && c.config.app === "konnect"), Ce = k(() => c.config.app !== "kongManager" || !!c.config.disableSorting), le = {
353
351
  // the Name column is non-hidable
354
- name: { label: s("gateway_services.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
355
- ...c.config.showControlPlaneColumn ? { control_plane: { label: s("gateway_services.list.table_headers.control_plane") } } : {},
356
- protocol: { label: s("gateway_services.list.table_headers.protocol"), searchable: !0, sortable: !0 },
357
- host: { label: s("gateway_services.list.table_headers.host"), searchable: !0, sortable: !0 },
358
- port: { label: s("gateway_services.list.table_headers.port"), searchable: !0, sortable: !0 },
359
- path: { label: s("gateway_services.list.table_headers.path"), searchable: !0, sortable: !0 },
360
- enabled: { label: s("gateway_services.list.table_headers.enabled"), searchable: !0, sortable: !0 },
361
- tags: { label: s("gateway_services.list.table_headers.tags"), sortable: !1 },
362
- updated_at: { label: s("gateway_services.list.table_headers.updated_at"), sortable: !0 },
363
- created_at: { label: s("gateway_services.list.table_headers.created_at"), sortable: !0 }
364
- }, pe = {
352
+ name: { label: a("gateway_services.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
353
+ ...c.config.showControlPlaneColumn ? { control_plane: { label: a("gateway_services.list.table_headers.control_plane") } } : {},
354
+ protocol: { label: a("gateway_services.list.table_headers.protocol"), searchable: !0, sortable: !0 },
355
+ host: { label: a("gateway_services.list.table_headers.host"), searchable: !0, sortable: !0 },
356
+ port: { label: a("gateway_services.list.table_headers.port"), searchable: !0, sortable: !0 },
357
+ path: { label: a("gateway_services.list.table_headers.path"), searchable: !0, sortable: !0 },
358
+ enabled: { label: a("gateway_services.list.table_headers.enabled"), searchable: !0, sortable: !0 },
359
+ tags: { label: a("gateway_services.list.table_headers.tags"), sortable: !1 },
360
+ updated_at: { label: a("gateway_services.list.table_headers.updated_at"), sortable: !0 },
361
+ created_at: { label: a("gateway_services.list.table_headers.created_at"), sortable: !0 }
362
+ }, ue = {
365
363
  columnVisibility: {
366
364
  created_at: !1
367
365
  }
368
- }, me = se, te = w(() => {
369
- var g, y;
370
- let f = `${c.config.apiBaseUrl}${fe.list[c.config.app].all}`;
371
- return c.config.app === "konnect" ? f = f.replace(/{controlPlaneId}/gi, ((g = c.config) == null ? void 0 : g.controlPlaneId) || "") : c.config.app === "kongManager" && (f = f.replace(/\/{workspace}/gi, (y = c.config) != null && y.workspace ? `/${c.config.workspace}` : "")), f;
372
- }), Ie = w(() => c.config.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${te.value}`) : new URL(te.value)), j = R(""), H = w(() => {
366
+ }, fe = le, Y = k(() => {
367
+ var v, g;
368
+ let f = `${c.config.apiBaseUrl}${Ve.list[c.config.app].all}`;
369
+ return c.config.app === "konnect" ? f = f.replace(/{controlPlaneId}/gi, ((v = c.config) == null ? void 0 : v.controlPlaneId) || "") : c.config.app === "kongManager" && (f = f.replace(/\/{workspace}/gi, (g = c.config) != null && g.workspace ? `/${c.config.workspace}` : "")), f;
370
+ }), Se = k(() => c.config.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${Y.value}`) : new URL(Y.value)), W = $(""), z = k(() => {
373
371
  const f = c.config.app === "konnect" || c.config.isExactMatch;
374
372
  if (f)
375
373
  return {
376
374
  isExactMatch: f,
377
- placeholder: s(`search.placeholder.${c.config.app}`)
375
+ placeholder: a(`search.placeholder.${c.config.app}`)
378
376
  };
379
- const { name: g, enabled: y, protocol: I, host: W, port: O, path: M } = se;
377
+ const { name: v, enabled: g, protocol: S, host: j, port: x, path: K } = le;
380
378
  return {
381
379
  isExactMatch: f,
382
- fields: { name: g, enabled: y, protocol: I, host: W, port: O, path: M },
380
+ fields: { name: v, enabled: g, protocol: S, host: j, port: x, path: K },
383
381
  schema: c.config.filterSchema
384
382
  };
385
383
  }), {
386
- fetcher: Fe,
387
- fetcherState: Z,
388
- fetcherCacheKey: C
389
- } = lt(w(() => ({ ...c.config, cacheIdentifier: c.cacheIdentifier })), te), ae = () => {
390
- j.value = "";
391
- }, ne = () => {
392
- C.value++;
393
- }, oe = R(null), e = w(() => ({
384
+ fetcher: Ee,
385
+ fetcherState: H,
386
+ fetcherCacheKey: V
387
+ } = it(k(() => ({ ...c.config, cacheIdentifier: c.cacheIdentifier })), Y), se = () => {
388
+ W.value = "";
389
+ }, ae = () => {
390
+ V.value++;
391
+ }, ee = $(null), t = k(() => ({
394
392
  ctaPath: c.config.createRoute,
395
- ctaText: ie.value ? c.isServerless ? s("actions.serverless_create") : s("actions.create") : void 0,
396
- message: `${s("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState ? ` ${c.config.additionMessageForEmptyState}` : ""}`,
397
- title: ie.value ? c.isServerless ? s("gateway_services.list.empty_state.serverless_title") : s("gateway_services.list.empty_state.title") : s("gateway_services.title")
398
- })), k = R(!1), x = R(null), re = w(() => {
393
+ ctaText: oe.value ? c.isServerless ? a("actions.serverless_create") : a("actions.create") : void 0,
394
+ message: `${a("gateway_services.list.empty_state.description")}${c.config.additionMessageForEmptyState ? ` ${c.config.additionMessageForEmptyState}` : ""}`,
395
+ title: oe.value ? c.isServerless ? a("gateway_services.list.empty_state.serverless_title") : a("gateway_services.list.empty_state.title") : a("gateway_services.title")
396
+ })), b = $(!1), R = $(null), te = k(() => {
399
397
  const f = {
400
398
  action: "disable",
401
399
  id: "",
402
400
  name: ""
403
401
  };
404
- if (x.value) {
405
- const { enabled: g, id: y, name: I } = x.value;
406
- f.action = g ? "disable" : "enable", f.id = y, f.name = I || y;
402
+ if (R.value) {
403
+ const { enabled: v, id: g, name: S } = R.value;
404
+ f.action = v ? "disable" : "enable", f.id = g, f.name = S || g;
407
405
  }
408
406
  return f;
409
- }), ve = (f) => {
410
- k.value = !0, x.value = f;
411
- }, ge = () => {
412
- k.value = !1, x.value = null;
413
- }, J = async () => {
414
- var I, W;
415
- if (!await ((I = c.canEdit) == null ? void 0 : I.call(c, x.value)) || !x.value)
407
+ }), pe = (f) => {
408
+ b.value = !0, R.value = f;
409
+ }, me = () => {
410
+ b.value = !1, R.value = null;
411
+ }, Z = async () => {
412
+ var S, j;
413
+ if (!await ((S = c.canEdit) == null ? void 0 : S.call(c, R.value)) || !R.value)
416
414
  return;
417
- const g = `${Ie.value.href}/${x.value.id}`, y = !x.value.enabled;
415
+ const v = `${Se.value.href}/${R.value.id}`, g = !R.value.enabled;
418
416
  try {
419
- const { data: O } = ((W = c.config) == null ? void 0 : W.app) === "konnect" ? await G.put(g, { ...x.value, enabled: y }) : await G.patch(g, { ...x.value, enabled: y });
420
- p("toggle:success", O), x.value.enabled = y;
421
- } catch (O) {
422
- p("error", O);
417
+ const { data: x } = ((j = c.config) == null ? void 0 : j.app) === "konnect" ? await G.put(v, { ...R.value, enabled: g }) : await G.patch(v, { ...R.value, enabled: g });
418
+ p("toggle:success", x), R.value.enabled = g;
419
+ } catch (x) {
420
+ p("error", x);
423
421
  }
424
- }, ye = (f) => {
425
- c.config.getControlPlaneRoute && $.push(c.config.getControlPlaneRoute(f));
426
- }, _e = async (f, g) => {
427
- const y = f.id;
428
- if (!await g(y)) {
422
+ }, ve = (f) => {
423
+ c.config.getControlPlaneRoute && F.push(c.config.getControlPlaneRoute(f));
424
+ }, ge = async (f, v) => {
425
+ const g = f.id;
426
+ if (!await v(g)) {
429
427
  p("copy:error", {
430
428
  entity: f,
431
429
  field: "id",
432
- message: s("errors.copy")
430
+ message: a("errors.copy")
433
431
  });
434
432
  return;
435
433
  }
436
434
  p("copy:success", {
437
435
  entity: f,
438
436
  field: "id",
439
- message: s("copy.success", { val: y })
437
+ message: a("copy.success", { val: g })
440
438
  });
441
- }, he = async (f, g) => {
442
- const y = JSON.stringify(f);
443
- if (!await g(y)) {
439
+ }, ye = async (f, v) => {
440
+ const g = JSON.stringify(f);
441
+ if (!await v(g)) {
444
442
  p("copy:error", {
445
443
  entity: f,
446
- message: s("errors.copy")
444
+ message: a("errors.copy")
447
445
  });
448
446
  return;
449
447
  }
450
448
  p("copy:success", {
451
449
  entity: f,
452
- message: s("copy.success_brief")
450
+ message: a("copy.success_brief")
453
451
  });
454
- }, be = async (f) => {
455
- var y;
456
- await ((y = c.canRetrieve) == null ? void 0 : y.call(c, f)) && $.push(c.config.getViewRoute(f.id));
457
- }, we = (f) => ({
458
- label: s("actions.view"),
452
+ }, _e = async (f) => {
453
+ var g;
454
+ await ((g = c.canRetrieve) == null ? void 0 : g.call(c, f)) && F.push(c.config.getViewRoute(f.id));
455
+ }, he = (f) => ({
456
+ label: a("actions.view"),
459
457
  to: c.config.getViewRoute(f)
460
- }), $e = (f) => ({
461
- label: s("actions.edit"),
458
+ }), Pe = (f) => ({
459
+ label: a("actions.edit"),
462
460
  to: c.config.getEditRoute(f)
463
- }), T = R(void 0), z = R(!1), N = R(!1), Q = R(""), Ae = st(c.config, te.value), Te = (f) => {
464
- T.value = f, z.value = !0, Q.value = "";
465
- }, ce = () => {
466
- z.value = !1, T.value = void 0;
467
- }, Ue = async () => {
468
- var f, g, y;
461
+ }), T = $(void 0), O = $(!1), N = $(!1), J = $(""), Ie = lt(c.config, Y.value), Fe = (f) => {
462
+ T.value = f, O.value = !0, J.value = "";
463
+ }, ne = () => {
464
+ O.value = !1, T.value = void 0;
465
+ }, Ae = async () => {
466
+ var f, v, g;
469
467
  if ((f = T.value) != null && f.id) {
470
468
  N.value = !0;
471
469
  try {
472
- await G.delete(Ae(T.value.id)), p("delete:success", T.value), ce(), C.value++;
473
- } catch (I) {
474
- Q.value = ((y = (g = I.response) == null ? void 0 : g.data) == null ? void 0 : y.message) || I.message || s("errors.delete"), p("error", I);
470
+ await G.delete(Ie(T.value.id)), p("delete:success", T.value), ne(), V.value++;
471
+ } catch (S) {
472
+ J.value = ((g = (v = S.response) == null ? void 0 : v.data) == null ? void 0 : g.message) || S.message || a("errors.delete"), p("error", S);
475
473
  } finally {
476
474
  N.value = !1;
477
475
  }
478
476
  }
479
- }, Re = () => {
480
- $.push(c.config.createRoute);
477
+ }, Te = () => {
478
+ F.push(c.config.createRoute);
481
479
  };
482
- Be(Z, (f) => {
483
- var g, y, I;
484
- if (f.status === at.Error) {
485
- oe.value = {
486
- title: s("errors.general")
487
- }, (I = (y = (g = f.error) == null ? void 0 : g.response) == null ? void 0 : y.data) != null && I.message && (oe.value.message = f.error.response.data.message), p("error", f.error);
480
+ Me(H, (f) => {
481
+ var v, g, S;
482
+ if (f.status === st.Error) {
483
+ ee.value = {
484
+ title: a("errors.general")
485
+ }, (S = (g = (v = f.error) == null ? void 0 : v.response) == null ? void 0 : g.data) != null && S.message && (ee.value.message = f.error.response.data.message), p("error", f.error);
488
486
  return;
489
487
  }
490
- oe.value = null;
488
+ ee.value = null;
491
489
  });
492
- const ie = R(!1);
493
- return Ze(async () => {
494
- ie.value = await c.canCreate();
495
- }), (f, g) => {
496
- const y = D("KButton"), I = D("KEmptyState"), W = D("KBadge"), O = D("KInputSwitch"), M = D("KDropdownItem"), X = D("KClipboardProvider");
497
- return S(), A("div", $t, [
498
- n(o(nt), {
499
- "cache-identifier": a.cacheIdentifier,
500
- "default-table-preferences": pe,
501
- "disable-sorting": Pe.value,
502
- "empty-state-options": e.value,
490
+ const oe = $(!1);
491
+ return He(async () => {
492
+ oe.value = await c.canCreate();
493
+ }), (f, v) => {
494
+ const g = B("KButton"), S = B("KEmptyState"), j = B("KBadge"), x = B("KInputSwitch"), K = B("KDropdownItem"), re = B("KClipboardProvider");
495
+ return C(), A("div", Ft, [
496
+ n(r(at), {
497
+ "cache-identifier": s.cacheIdentifier,
498
+ "default-table-preferences": ue,
499
+ "disable-sorting": Ce.value,
500
+ "empty-state-options": t.value,
503
501
  "enable-entity-actions": "",
504
- "error-message": oe.value,
505
- fetcher: o(Fe),
506
- "fetcher-cache-key": o(C),
502
+ "error-message": ee.value,
503
+ fetcher: r(Ee),
504
+ "fetcher-cache-key": r(V),
507
505
  "pagination-type": "offset",
508
506
  "preferences-storage-key": "kong-ui-entities-gateway-services-list",
509
- query: j.value,
510
- "table-headers": o(me),
511
- onClearSearchInput: ae,
512
- "onClick:row": g[4] || (g[4] = (m) => be(m)),
513
- onSort: ne,
514
- onState: o(K)
515
- }, Ee({
507
+ query: W.value,
508
+ "table-headers": r(fe),
509
+ onClearSearchInput: se,
510
+ "onClick:row": v[4] || (v[4] = (e) => _e(e)),
511
+ onSort: ae,
512
+ onState: r(D)
513
+ }, ke({
516
514
  "toolbar-filter": d(() => [
517
- n(o(dt), {
518
- modelValue: j.value,
519
- "onUpdate:modelValue": g[0] || (g[0] = (m) => j.value = m),
520
- config: H.value
515
+ n(r(ct), {
516
+ modelValue: W.value,
517
+ "onUpdate:modelValue": v[0] || (v[0] = (e) => W.value = e),
518
+ config: z.value
521
519
  }, null, 8, ["modelValue", "config"])
522
520
  ]),
523
521
  "toolbar-button": d(() => [
524
- (S(), ue(Je, {
525
- disabled: !a.useActionOutside,
522
+ (C(), de(Ze, {
523
+ disabled: !s.useActionOutside,
526
524
  to: "#kong-ui-app-page-header-action-button"
527
525
  }, [
528
- P("div", At, [
529
- E.value ? (S(), ue(y, {
526
+ E("div", At, [
527
+ P.value ? (C(), de(g, {
530
528
  key: 0,
531
529
  appearance: "secondary",
532
530
  class: "open-learning-hub",
533
531
  "data-testid": "gateway-services-learn-more-button",
534
532
  icon: "",
535
- onClick: g[1] || (g[1] = (m) => f.$emit("click:learn-more"))
533
+ onClick: v[1] || (v[1] = (e) => f.$emit("click:learn-more"))
536
534
  }, {
537
535
  default: d(() => [
538
- n(o(Le), { decorative: "" })
536
+ n(r(Ke), { decorative: "" })
539
537
  ]),
540
538
  _: 1
541
- })) : B("", !0),
542
- n(o(de), {
543
- "auth-function": () => a.canCreate()
539
+ })) : M("", !0),
540
+ n(r(ce), {
541
+ "auth-function": () => s.canCreate()
544
542
  }, {
545
543
  default: d(() => [
546
- n(y, {
544
+ n(g, {
547
545
  appearance: "primary",
548
546
  "data-testid": "toolbar-add-gateway-service",
549
- size: a.useActionOutside ? "medium" : "large",
550
- to: a.config.createRoute
547
+ size: s.useActionOutside ? "medium" : "large",
548
+ to: s.config.createRoute
551
549
  }, {
552
550
  default: d(() => [
553
- n(o(qe)),
554
- U(" " + b(o(s)("gateway_services.list.toolbar_actions.new_gateway_service")), 1)
551
+ n(r(Le)),
552
+ U(" " + h(r(a)("gateway_services.list.toolbar_actions.new_gateway_service")), 1)
555
553
  ]),
556
554
  _: 1
557
555
  }, 8, ["size", "to"])
@@ -561,120 +559,120 @@ const ee = {
561
559
  ])
562
560
  ], 8, ["disabled"]))
563
561
  ]),
564
- name: d(({ rowValue: m }) => [
565
- P("b", null, b(m ?? "-"), 1)
562
+ name: d(({ rowValue: e }) => [
563
+ E("b", null, h(e ?? "-"), 1)
566
564
  ]),
567
- control_plane: d(({ row: m }) => {
568
- var t;
565
+ control_plane: d(({ row: e }) => {
566
+ var o;
569
567
  return [
570
- (t = m.x_meta) != null && t.cluster_id ? (S(), ue(W, {
568
+ (o = e.x_meta) != null && o.cluster_id ? (C(), de(j, {
571
569
  key: 0,
572
- tooltip: m.x_meta.cluster_id,
570
+ tooltip: e.x_meta.cluster_id,
573
571
  "truncation-tooltip": "",
574
- onClick: xe((r) => ye(m.x_meta.cluster_id), ["stop"])
572
+ onClick: Ue((y) => ve(e.x_meta.cluster_id), ["stop"])
575
573
  }, {
576
574
  default: d(() => [
577
- U(b(m.x_meta.cluster_id), 1)
575
+ U(h(e.x_meta.cluster_id), 1)
578
576
  ]),
579
577
  _: 2
580
- }, 1032, ["tooltip", "onClick"])) : (S(), A("b", Tt, "-"))
578
+ }, 1032, ["tooltip", "onClick"])) : (C(), A("b", Tt, "-"))
581
579
  ];
582
580
  }),
583
- enabled: d(({ row: m }) => [
584
- n(o(de), {
585
- "auth-function": () => a.canEdit(m),
581
+ enabled: d(({ row: e }) => [
582
+ n(r(ce), {
583
+ "auth-function": () => s.canEdit(e),
586
584
  "force-show": ""
587
585
  }, {
588
- default: d(({ isAllowed: t }) => [
589
- P("div", {
590
- onClick: g[3] || (g[3] = xe(() => {
586
+ default: d(({ isAllowed: o }) => [
587
+ E("div", {
588
+ onClick: v[3] || (v[3] = Ue(() => {
591
589
  }, ["stop"]))
592
590
  }, [
593
- n(O, {
594
- modelValue: m.enabled,
595
- "onUpdate:modelValue": (r) => m.enabled = r,
596
- "data-testid": `row-${m.id}-toggle-input`,
597
- disabled: !t,
598
- onClick: xe((r) => ve(m), ["prevent"])
591
+ n(x, {
592
+ modelValue: e.enabled,
593
+ "onUpdate:modelValue": (y) => e.enabled = y,
594
+ "data-testid": `row-${e.id}-toggle-input`,
595
+ disabled: !o,
596
+ onClick: Ue((y) => pe(e), ["prevent"])
599
597
  }, null, 8, ["modelValue", "onUpdate:modelValue", "data-testid", "disabled", "onClick"])
600
598
  ])
601
599
  ]),
602
600
  _: 2
603
601
  }, 1032, ["auth-function"])
604
602
  ]),
605
- tags: d(({ rowValue: m }) => [
606
- n(o(ct), { tags: m }, null, 8, ["tags"])
603
+ tags: d(({ rowValue: e }) => [
604
+ n(r(nt), { tags: e }, null, 8, ["tags"])
607
605
  ]),
608
- created_at: d(({ rowValue: m }) => [
609
- U(b(o(v)(m)), 1)
606
+ created_at: d(({ rowValue: e }) => [
607
+ U(h(r(m)(e)), 1)
610
608
  ]),
611
- updated_at: d(({ row: m, rowValue: t }) => [
612
- U(b(o(v)(t ?? m.created_at)), 1)
609
+ updated_at: d(({ row: e, rowValue: o }) => [
610
+ U(h(r(m)(o ?? e.created_at)), 1)
613
611
  ]),
614
- actions: d(({ row: m }) => [
615
- n(X, null, {
616
- default: d(({ copyToClipboard: t }) => [
617
- n(M, {
612
+ actions: d(({ row: e }) => [
613
+ n(re, null, {
614
+ default: d(({ copyToClipboard: o }) => [
615
+ n(K, {
618
616
  "data-testid": "action-entity-copy-id",
619
- onClick: (r) => _e(m, t)
617
+ onClick: (y) => ge(e, o)
620
618
  }, {
621
619
  default: d(() => [
622
- U(b(o(s)("actions.copy_id")), 1)
620
+ U(h(r(a)("actions.copy_id")), 1)
623
621
  ]),
624
622
  _: 2
625
623
  }, 1032, ["onClick"])
626
624
  ]),
627
625
  _: 2
628
626
  }, 1024),
629
- n(X, null, {
630
- default: d(({ copyToClipboard: t }) => [
631
- n(M, {
627
+ n(re, null, {
628
+ default: d(({ copyToClipboard: o }) => [
629
+ n(K, {
632
630
  "data-testid": "action-entity-copy-json",
633
- onClick: (r) => he(m, t)
631
+ onClick: (y) => ye(e, o)
634
632
  }, {
635
633
  default: d(() => [
636
- U(b(o(s)("actions.copy_json")), 1)
634
+ U(h(r(a)("actions.copy_json")), 1)
637
635
  ]),
638
636
  _: 2
639
637
  }, 1032, ["onClick"])
640
638
  ]),
641
639
  _: 2
642
640
  }, 1024),
643
- n(o(de), {
644
- "auth-function": () => a.canRetrieve(m)
641
+ n(r(ce), {
642
+ "auth-function": () => s.canRetrieve(e)
645
643
  }, {
646
644
  default: d(() => [
647
- n(M, {
645
+ n(K, {
648
646
  "data-testid": "action-entity-view",
649
647
  "has-divider": "",
650
- item: we(m.id)
648
+ item: he(e.id)
651
649
  }, null, 8, ["item"])
652
650
  ]),
653
651
  _: 2
654
652
  }, 1032, ["auth-function"]),
655
- n(o(de), {
656
- "auth-function": () => a.canEdit(m)
653
+ n(r(ce), {
654
+ "auth-function": () => s.canEdit(e)
657
655
  }, {
658
656
  default: d(() => [
659
- n(M, {
657
+ n(K, {
660
658
  "data-testid": "action-entity-edit",
661
- item: $e(m.id)
659
+ item: Pe(e.id)
662
660
  }, null, 8, ["item"])
663
661
  ]),
664
662
  _: 2
665
663
  }, 1032, ["auth-function"]),
666
- n(o(de), {
667
- "auth-function": () => a.canDelete(m)
664
+ n(r(ce), {
665
+ "auth-function": () => s.canDelete(e)
668
666
  }, {
669
667
  default: d(() => [
670
- n(M, {
668
+ n(K, {
671
669
  danger: "",
672
670
  "data-testid": "action-entity-delete",
673
671
  "has-divider": "",
674
- onClick: (t) => Te(m)
672
+ onClick: (o) => Fe(e)
675
673
  }, {
676
674
  default: d(() => [
677
- U(b(o(s)("actions.delete.menu_label")), 1)
675
+ U(h(r(a)("actions.delete.menu_label")), 1)
678
676
  ]),
679
677
  _: 2
680
678
  }, 1032, ["onClick"])
@@ -684,50 +682,50 @@ const ee = {
684
682
  ]),
685
683
  _: 2
686
684
  }, [
687
- !j.value && a.config.app === "konnect" ? {
685
+ !W.value && s.config.app === "konnect" ? {
688
686
  name: "empty-state",
689
687
  fn: d(() => {
690
- var m;
688
+ var e;
691
689
  return [
692
- n(I, {
690
+ n(S, {
693
691
  "data-testid": "gateway-services-entity-empty-state",
694
692
  "icon-background": "",
695
- message: o(s)("gateway_services.empty_state_v2.description"),
696
- title: o(s)("gateway_services.empty_state_v2.title")
697
- }, Ee({
693
+ message: r(a)("gateway_services.empty_state_v2.description"),
694
+ title: r(a)("gateway_services.empty_state_v2.title")
695
+ }, ke({
698
696
  icon: d(() => [
699
- n(o(tt), { decorative: "" })
697
+ n(r(et), { decorative: "" })
700
698
  ]),
701
699
  action: d(() => [
702
- ie.value ? (S(), ue(y, {
700
+ oe.value ? (C(), de(g, {
703
701
  key: 0,
704
702
  "data-testid": "entity-create-button",
705
- onClick: Re
703
+ onClick: Te
706
704
  }, {
707
705
  default: d(() => [
708
- n(o(qe), { decorative: "" }),
709
- U(" " + b(o(s)("gateway_services.empty_state_v2.create")), 1)
706
+ n(r(Le), { decorative: "" }),
707
+ U(" " + h(r(a)("gateway_services.empty_state_v2.create")), 1)
710
708
  ]),
711
709
  _: 1
712
- })) : B("", !0),
713
- n(y, {
710
+ })) : M("", !0),
711
+ n(g, {
714
712
  appearance: "secondary",
715
713
  "data-testid": "entity-learn-more-button",
716
- onClick: g[2] || (g[2] = (t) => f.$emit("click:learn-more"))
714
+ onClick: v[2] || (v[2] = (o) => f.$emit("click:learn-more"))
717
715
  }, {
718
716
  default: d(() => [
719
- n(o(Le), { decorative: "" }),
720
- U(" " + b(o(s)("gateway_services.empty_state_v2.learn_more")), 1)
717
+ n(r(Ke), { decorative: "" }),
718
+ U(" " + h(r(a)("gateway_services.empty_state_v2.learn_more")), 1)
721
719
  ]),
722
720
  _: 1
723
721
  })
724
722
  ]),
725
723
  _: 2
726
724
  }, [
727
- (m = a.config) != null && m.isControlPlaneGroup ? {
725
+ (e = s.config) != null && e.isControlPlaneGroup ? {
728
726
  name: "default",
729
727
  fn: d(() => [
730
- U(b(o(s)("gateway_services.empty_state_v2.group")), 1)
728
+ U(h(r(a)("gateway_services.empty_state_v2.group")), 1)
731
729
  ]),
732
730
  key: "0"
733
731
  } : void 0
@@ -737,43 +735,43 @@ const ee = {
737
735
  key: "0"
738
736
  } : void 0
739
737
  ]), 1032, ["cache-identifier", "disable-sorting", "empty-state-options", "error-message", "fetcher", "fetcher-cache-key", "query", "table-headers", "onState"]),
740
- n(o(ut), {
741
- action: re.value.action,
742
- "entity-id": re.value.id,
743
- "entity-name": re.value.name,
744
- "entity-type": o(s)("glossary.gateway_services"),
745
- "on-confirm": J,
746
- visible: k.value,
747
- onCancel: ge,
748
- onProceed: ge
738
+ n(r(dt), {
739
+ action: te.value.action,
740
+ "entity-id": te.value.id,
741
+ "entity-name": te.value.name,
742
+ "entity-type": r(a)("glossary.gateway_services"),
743
+ "on-confirm": Z,
744
+ visible: b.value,
745
+ onCancel: me,
746
+ onProceed: me
749
747
  }, null, 8, ["action", "entity-id", "entity-name", "entity-type", "visible"]),
750
- n(o(ft), {
748
+ n(r(ut), {
751
749
  "action-pending": N.value,
752
- description: o(s)("actions.delete.description"),
750
+ description: r(a)("actions.delete.description"),
753
751
  "entity-name": T.value && (T.value.name || T.value.id),
754
- "entity-type": o(pt).GatewayService,
755
- error: Q.value,
756
- title: o(s)("actions.delete.title"),
757
- visible: z.value,
758
- onCancel: ce,
759
- onProceed: Ue
752
+ "entity-type": r(ft).GatewayService,
753
+ error: J.value,
754
+ title: r(a)("actions.delete.title"),
755
+ visible: O.value,
756
+ onCancel: ne,
757
+ onProceed: Ae
760
758
  }, null, 8, ["action-pending", "description", "entity-name", "entity-type", "error", "title", "visible"])
761
759
  ]);
762
760
  };
763
761
  }
764
- }), He = (a, q) => {
765
- const p = a.__vccOpts || a;
766
- for (const [c, s] of q)
767
- p[c] = s;
762
+ }), ze = (s, q) => {
763
+ const p = s.__vccOpts || s;
764
+ for (const [c, a] of q)
765
+ p[c] = a;
768
766
  return p;
769
- }, co = /* @__PURE__ */ He(Ut, [["__scopeId", "data-v-0ab33d23"]]), Rt = { class: "kong-ui-gateway-service-entity-config-card" }, uo = /* @__PURE__ */ De({
767
+ }, no = /* @__PURE__ */ ze(Ut, [["__scopeId", "data-v-0ab33d23"]]), $t = { class: "kong-ui-gateway-service-entity-config-card" }, co = /* @__PURE__ */ Be({
770
768
  __name: "GatewayServiceConfigCard",
771
769
  props: {
772
770
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
773
771
  config: {
774
772
  type: Object,
775
773
  required: !0,
776
- validator: (a) => !(!a || !["konnect", "kongManager"].includes(a == null ? void 0 : a.app) || a.app === "konnect" && !a.controlPlaneId || a.app === "kongManager" && typeof a.workspace != "string" || !a.entityId)
774
+ validator: (s) => !(!s || !["konnect", "kongManager"].includes(s == null ? void 0 : s.app) || s.app === "konnect" && !s.controlPlaneId || s.app === "kongManager" && typeof s.workspace != "string" || !s.entityId)
777
775
  },
778
776
  /**
779
777
  * External link for documentation that determines visibility of Documentation button
@@ -792,8 +790,8 @@ const ee = {
792
790
  }
793
791
  },
794
792
  emits: ["loading", "fetch:error", "fetch:success"],
795
- setup(a) {
796
- const q = a, { i18n: { t: p }, i18nT: c } = ee.useI18n(), s = w(() => fe.form[q.config.app].edit), { getPropValue: v } = je(), $ = (l, K) => v(l, K) === !0 ? p("gateway_services.form.fields.tls_verify_option.true.display") : p("gateway_services.form.fields.tls_verify_option.false.display"), G = R({
793
+ setup(s) {
794
+ const q = s, { i18n: { t: p }, i18nT: c } = X.useI18n(), a = k(() => Ve.form[q.config.app].edit), { getPropValue: m } = Oe(), F = (l, D) => m(l, D) === !0 ? p("gateway_services.form.fields.tls_verify_option.true.display") : p("gateway_services.form.fields.tls_verify_option.false.display"), G = $({
797
795
  id: {},
798
796
  name: {
799
797
  tooltip: p("gateway_services.form.fields.name.tooltip")
@@ -802,19 +800,19 @@ const ee = {
802
800
  updated_at: {},
803
801
  created_at: {},
804
802
  protocol: {
805
- section: Ve.Basic,
803
+ section: we.Basic,
806
804
  tooltip: p("gateway_services.form.fields.protocol.tooltip")
807
805
  },
808
806
  host: {
809
- section: Ve.Basic,
807
+ section: we.Basic,
810
808
  tooltip: p("gateway_services.form.fields.host.tooltip")
811
809
  },
812
810
  path: {
813
- section: Ve.Basic,
811
+ section: we.Basic,
814
812
  tooltip: p("gateway_services.form.fields.path.tooltip")
815
813
  },
816
814
  port: {
817
- section: Ve.Basic,
815
+ section: we.Basic,
818
816
  tooltip: p("gateway_services.form.fields.port.tooltip")
819
817
  },
820
818
  tags: {
@@ -842,7 +840,7 @@ const ee = {
842
840
  tooltip: p("gateway_services.form.fields.client_certificate.tooltip")
843
841
  },
844
842
  ca_certificates: {
845
- type: mt.BadgeTag,
843
+ type: pt.BadgeTag,
846
844
  label: p("gateway_services.form.fields.ca_certificates.label"),
847
845
  order: 6
848
846
  },
@@ -853,62 +851,62 @@ const ee = {
853
851
  hidden: !0
854
852
  }
855
853
  });
856
- return (l, K) => (S(), A("div", Rt, [
857
- n(o(vt), {
858
- config: a.config,
859
- "config-card-doc": a.configCardDoc,
854
+ return (l, D) => (C(), A("div", $t, [
855
+ n(r(mt), {
856
+ config: s.config,
857
+ "config-card-doc": s.configCardDoc,
860
858
  "config-schema": G.value,
861
- "entity-type": o(ze).GatewayService,
862
- "fetch-url": s.value,
863
- "hide-title": a.hideTitle,
864
- "onFetch:error": K[0] || (K[0] = (E) => l.$emit("fetch:error", E)),
865
- "onFetch:success": K[1] || (K[1] = (E) => l.$emit("fetch:success", E)),
866
- onLoading: K[2] || (K[2] = (E) => l.$emit("loading", E))
859
+ "entity-type": r(je).GatewayService,
860
+ "fetch-url": a.value,
861
+ "hide-title": s.hideTitle,
862
+ "onFetch:error": D[0] || (D[0] = (P) => l.$emit("fetch:error", P)),
863
+ "onFetch:success": D[1] || (D[1] = (P) => l.$emit("fetch:success", P)),
864
+ onLoading: D[2] || (D[2] = (P) => l.$emit("loading", P))
867
865
  }, {
868
866
  "enabled-label-tooltip": d(() => [
869
- n(o(c), {
867
+ n(r(c), {
870
868
  keypath: "gateway_services.form.fields.enabled.tooltip",
871
869
  scope: "global"
872
870
  }, {
873
871
  false: d(() => [
874
- P("code", null, b(o(p)("gateway_services.form.fields.enabled.false")), 1)
872
+ E("code", null, h(r(p)("gateway_services.form.fields.enabled.false")), 1)
875
873
  ]),
876
874
  true: d(() => [
877
- P("code", null, b(o(p)("gateway_services.form.fields.enabled.true")), 1)
875
+ E("code", null, h(r(p)("gateway_services.form.fields.enabled.true")), 1)
878
876
  ]),
879
877
  _: 1
880
878
  })
881
879
  ]),
882
880
  "ca_certificates-label-tooltip": d(() => [
883
- n(o(c), {
881
+ n(r(c), {
884
882
  keypath: "gateway_services.form.fields.ca_certificates.tooltip",
885
883
  scope: "global"
886
884
  }, {
887
885
  code1: d(() => [
888
- P("code", null, b(o(p)("gateway_services.form.fields.ca_certificates.code1")), 1)
886
+ E("code", null, h(r(p)("gateway_services.form.fields.ca_certificates.code1")), 1)
889
887
  ]),
890
888
  code2: d(() => [
891
- P("code", null, b(o(p)("gateway_services.form.fields.ca_certificates.code2")), 1)
889
+ E("code", null, h(r(p)("gateway_services.form.fields.ca_certificates.code2")), 1)
892
890
  ]),
893
891
  _: 1
894
892
  })
895
893
  ]),
896
894
  "tls_verify-label-tooltip": d(() => [
897
- n(o(c), {
895
+ n(r(c), {
898
896
  keypath: "gateway_services.form.fields.tls_verify_enabled.tooltip",
899
897
  scope: "global"
900
898
  }, {
901
899
  code1: d(() => [
902
- P("code", null, b(o(p)("gateway_services.form.fields.tls_verify_enabled.code1")), 1)
900
+ E("code", null, h(r(p)("gateway_services.form.fields.tls_verify_enabled.code1")), 1)
903
901
  ]),
904
902
  _: 1
905
903
  })
906
904
  ]),
907
- tls_verify: d((E) => [
908
- U(b(typeof o(v)("rowValue", E) == "boolean" ? $("rowValue", E) : o(p)("gateway_services.form.fields.tls_verify_option.unset.display")), 1)
905
+ tls_verify: d((P) => [
906
+ U(h(typeof r(m)("rowValue", P) == "boolean" ? F("rowValue", P) : r(p)("gateway_services.form.fields.tls_verify_option.unset.display")), 1)
909
907
  ]),
910
- client_certificate: d((E) => [
911
- U(b(o(v)("rowValue", E) ? o(v)("rowValue", E).id : "–"), 1)
908
+ client_certificate: d((P) => [
909
+ U(h(r(m)("rowValue", P) ? r(m)("rowValue", P).id : "–"), 1)
912
910
  ]),
913
911
  _: 1
914
912
  }, 8, ["config", "config-card-doc", "config-schema", "entity-type", "fetch-url", "hide-title"])
@@ -920,41 +918,41 @@ const ee = {
920
918
  path: "/flights",
921
919
  host: "api.kong-air.com",
922
920
  port: 443
923
- }, xt = { class: "kong-ui-entities-gateway-service-form" }, Mt = {
921
+ }, Rt = { class: "kong-ui-entities-gateway-service-form" }, xt = {
924
922
  key: 0,
925
923
  class: "gateway-service-form-general-info"
926
- }, Bt = { class: "gateway-service-form-group-selection-wrapper" }, Dt = {
924
+ }, Mt = { class: "gateway-service-form-group-selection-wrapper" }, Bt = {
927
925
  key: 0,
928
926
  class: "gateway-service-form-group-fields"
929
- }, Kt = {
927
+ }, Dt = {
930
928
  key: 0,
931
929
  class: "gateway-service-form-group-fields"
932
- }, Lt = { key: 0 }, qt = {
930
+ }, Kt = { key: 0 }, Lt = {
933
931
  key: 0,
934
932
  class: "gateway-service-form-advanced-fields"
935
- }, Gt = { class: "gateway-service-form-margin-bottom" }, Nt = { class: "gateway-service-form-margin-bottom" }, Wt = { class: "gateway-service-form-margin-bottom" }, Ot = { class: "gateway-service-form-margin-bottom" }, jt = {
933
+ }, qt = { class: "gateway-service-form-margin-bottom" }, Gt = { class: "gateway-service-form-margin-bottom" }, Nt = { class: "gateway-service-form-margin-bottom" }, Wt = { class: "gateway-service-form-margin-bottom" }, Ot = {
936
934
  key: 0,
937
935
  class: "gateway-service-form-margin-bottom"
938
- }, zt = {
936
+ }, jt = {
939
937
  key: 1,
940
938
  class: "gateway-service-form-margin-bottom"
941
- }, Ht = {
939
+ }, zt = {
942
940
  key: 2,
943
941
  class: "gateway-service-form-margin-bottom"
944
- }, Zt = {
942
+ }, Ht = {
945
943
  key: 0,
946
944
  class: "checkbox-aligned-radio"
947
- }, Jt = {
945
+ }, Zt = {
948
946
  key: 1,
949
947
  class: "checkbox-aligned-radio"
950
- }, Qt = { class: "gateway-service-form-tags" }, Xt = { class: "form-error-list" }, Yt = /* @__PURE__ */ De({
948
+ }, Jt = { class: "gateway-service-form-tags" }, Qt = { class: "form-error-list" }, Xt = /* @__PURE__ */ Be({
951
949
  __name: "GatewayServiceForm",
952
950
  props: {
953
951
  /** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
954
952
  config: {
955
953
  type: Object,
956
954
  required: !0,
957
- validator: (a) => !(!a || !["konnect", "kongManager"].includes(a == null ? void 0 : a.app) || a.app === "konnect" && !a.controlPlaneId || a.app === "kongManager" && typeof a.workspace != "string" || !a.cancelRoute)
955
+ validator: (s) => !(!s || !["konnect", "kongManager"].includes(s == null ? void 0 : s.app) || s.app === "konnect" && !s.controlPlaneId || s.app === "kongManager" && typeof s.workspace != "string" || !s.cancelRoute)
958
956
  },
959
957
  /** If a valid Gateway Service ID is provided, it will put the form in Edit mode instead of Create */
960
958
  gatewayServiceId: {
@@ -976,9 +974,9 @@ const ee = {
976
974
  }
977
975
  },
978
976
  emits: ["update", "error", "url-valid:success", "url-valid:error", "loading", "model-updated", "try-sample-api"],
979
- setup(a, { expose: q, emit: p }) {
980
- var m;
981
- const c = p, s = a, v = R(!0), $ = We(), { i18nT: G, i18n: { t: l } } = ee.useI18n(), { getErrorFieldsFromError: K } = gt(), { axiosInstance: E } = Oe((m = s.config) == null ? void 0 : m.axiosRequestConfig), Pe = yt(), { validateHost: se, validatePath: pe, validatePort: me, validateProtocol: te } = ee.useUrlValidators(), { objectsAreEqual: Ie } = je(), j = w(() => fe.form[s.config.app].edit), H = w(() => s.gatewayServiceId ? Ge.Edit : Ge.Create), Fe = R(!1), Z = w(() => !!s.gatewayServiceId), C = R(Z.value ? "protocol" : "url"), ae = ee.usePortFromProtocol(), ne = R(""), oe = w(() => !!ne.value || !!T("name")), e = Ke({
977
+ setup(s, { expose: q, emit: p }) {
978
+ var re;
979
+ const c = p, a = s, m = $(!0), F = Ne(), { i18nT: G, i18n: { t: l } } = X.useI18n(), { getErrorFieldsFromError: D } = vt(), { axiosInstance: P } = We((re = a.config) == null ? void 0 : re.axiosRequestConfig), Ce = gt(), { validateHost: le, validatePath: ue, validatePort: fe, validateProtocol: Y } = X.useUrlValidators(), { objectsAreEqual: Se } = Oe(), W = k(() => Ve.form[a.config.app].edit), z = k(() => a.gatewayServiceId ? qe.Edit : qe.Create), Ee = $(!1), H = k(() => !!a.gatewayServiceId), V = $(H.value ? "protocol" : "url"), se = X.usePortFromProtocol(), ae = $(""), ee = k(() => !!ae.value || !!T("name")), t = De({
982
980
  fields: {
983
981
  name: "",
984
982
  protocol: "http",
@@ -1015,7 +1013,7 @@ const ee = {
1015
1013
  tls_verify_enabled: "",
1016
1014
  tls_verify_value: ""
1017
1015
  }
1018
- }), k = Ke({
1016
+ }), b = De({
1019
1017
  name: "",
1020
1018
  protocol: "http",
1021
1019
  host: "",
@@ -1032,13 +1030,13 @@ const ee = {
1032
1030
  tls_verify_value: !1,
1033
1031
  tags: "",
1034
1032
  enabled: !0
1035
- }), x = s.config.app === "konnect" || _t({
1036
- gatewayInfo: s.config.gatewayInfo,
1033
+ }), R = a.config.app === "konnect" || yt({
1034
+ gatewayInfo: a.config.gatewayInfo,
1037
1035
  // 'ws' and 'wss' are not valid values for the protocol field in Gateway Community Edition or before Gateway Enterprise Edition 3.0
1038
1036
  supportedRange: {
1039
1037
  enterprise: ["3.0"]
1040
1038
  }
1041
- }), re = [
1039
+ }), te = [
1042
1040
  {
1043
1041
  label: l("gateway_services.form.fields.protocol.options.http"),
1044
1042
  value: "http",
@@ -1074,7 +1072,7 @@ const ee = {
1074
1072
  value: "grpcs",
1075
1073
  group: "grpc"
1076
1074
  },
1077
- ...x ? [
1075
+ ...R ? [
1078
1076
  {
1079
1077
  label: l("gateway_services.form.fields.protocol.options.ws"),
1080
1078
  value: "ws",
@@ -1091,253 +1089,249 @@ const ee = {
1091
1089
  value: "udp",
1092
1090
  group: "udp"
1093
1091
  }
1094
- ], ve = { url: "url", protocol: "protocol" }, ge = (t, r) => {
1095
- r.value;
1096
- }, J = (t) => t ? parseFloat(t) : 0, ye = () => {
1097
- e.fields.host = k.host, e.fields.path = k.path, e.fields.port = k.port, e.fields.protocol = k.protocol, e.fields.url = k.url, e.fields.retries = k.retries, e.fields.connect_timeout = k.connect_timeout, e.fields.write_timeout = k.write_timeout, e.fields.read_timeout = k.read_timeout, e.fields.client_certificate = k.client_certificate, e.fields.ca_certificates = k.ca_certificates, e.fields.tls_verify_enabled = k.tls_verify_enabled, e.fields.tls_verify_value = k.tls_verify_value, e.fields.enabled = k.enabled;
1098
- }, _e = () => {
1099
- v.value = !0, N(), e.errorMessages = [], ye();
1100
- }, he = () => {
1101
- switch (ye(), e.fields.name = `${L.name}-${(/* @__PURE__ */ new Date()).toISOString().replace(/\D/g, "").slice(0, 17)}`, C.value) {
1092
+ ], pe = { url: "url", protocol: "protocol" }, me = (e, o) => {
1093
+ o.value;
1094
+ }, Z = (e) => e ? parseFloat(e) : 0, ve = () => {
1095
+ t.fields.host = b.host, t.fields.path = b.path, t.fields.port = b.port, t.fields.protocol = b.protocol, t.fields.url = b.url, t.fields.retries = b.retries, t.fields.connect_timeout = b.connect_timeout, t.fields.write_timeout = b.write_timeout, t.fields.read_timeout = b.read_timeout, t.fields.client_certificate = b.client_certificate, t.fields.ca_certificates = b.ca_certificates, t.fields.tls_verify_enabled = b.tls_verify_enabled, t.fields.tls_verify_value = b.tls_verify_value, t.fields.enabled = b.enabled;
1096
+ }, ge = () => {
1097
+ m.value = !0, N(), t.errorMessages = [], ve();
1098
+ }, ye = () => {
1099
+ switch (ve(), t.fields.name = `${L.name}-${(/* @__PURE__ */ new Date()).toISOString().replace(/\D/g, "").slice(0, 17)}`, V.value) {
1102
1100
  case "url":
1103
- e.fields.url = `${L.protocol}://${L.host}${L.path}`;
1101
+ t.fields.url = `${L.protocol}://${L.host}${L.path}`;
1104
1102
  break;
1105
1103
  case "protocol":
1106
- e.fields.host = L.host, e.fields.path = L.path, e.fields.protocol = L.protocol, e.fields.port = L.port;
1104
+ t.fields.host = L.host, t.fields.path = L.path, t.fields.protocol = L.protocol, t.fields.port = L.port;
1107
1105
  break;
1108
1106
  default:
1109
- e.fields.url = `${L.protocol}://${L.host}${L.path}`;
1107
+ t.fields.url = `${L.protocol}://${L.host}${L.path}`;
1110
1108
  }
1111
- }, be = () => {
1112
- if (N(), e.fields.url.length)
1109
+ }, _e = () => {
1110
+ if (N(), t.fields.url.length)
1113
1111
  try {
1114
- const t = new URL(e.fields.url), r = te(t.protocol, re);
1115
- if (r) throw new Error(r);
1116
- e.fields.protocol = t.protocol.slice(0, -1);
1117
- const _ = se(t.hostname);
1112
+ const e = new URL(t.fields.url), o = Y(e.protocol, te);
1113
+ if (o) throw new Error(o);
1114
+ t.fields.protocol = e.protocol.slice(0, -1);
1115
+ const y = le(e.hostname);
1116
+ if (y) throw new Error(y);
1117
+ t.fields.host = e.hostname;
1118
+ const I = ue(e.pathname);
1119
+ if (I) throw new Error(I);
1120
+ t.fields.path = e.pathname;
1121
+ const _ = fe(e.port);
1118
1122
  if (_) throw new Error(_);
1119
- e.fields.host = t.hostname;
1120
- const F = pe(t.pathname);
1121
- if (F) throw new Error(F);
1122
- e.fields.path = t.pathname;
1123
- const h = me(t.port);
1124
- if (h) throw new Error(h);
1125
- const V = Number(t.port);
1126
- Fe.value = !!V, e.fields.port = V || ae.getPortFromProtocol(e.fields.protocol), c("url-valid:success");
1123
+ const w = Number(e.port);
1124
+ Ee.value = !!w, t.fields.port = w || se.getPortFromProtocol(t.fields.protocol), c("url-valid:success");
1127
1125
  } catch {
1128
- c("url-valid:error", l("gateway_services.form.errors.url.invalid")), e.formFieldErrors.url = l("gateway_services.form.errors.url.invalid");
1126
+ c("url-valid:error", l("gateway_services.form.errors.url.invalid")), t.formFieldErrors.url = l("gateway_services.form.errors.url.invalid");
1129
1127
  }
1130
- }, we = (t) => {
1131
- N(t);
1132
- }, $e = w(() => !!e.formFieldErrors.url || !!e.formFieldErrors.host || !!e.formFieldErrors.port), T = (t) => {
1133
- if (e.errorMessages.length) return "";
1134
- const r = e.formFieldErrors;
1135
- return r[t] ? r[t] : "";
1136
- }, z = (t) => {
1137
- N(t ?? void 0);
1138
- const r = se(e.fields.host);
1139
- r && (e.formFieldErrors.host = r);
1140
- const _ = pe(e.fields.path);
1141
- _ && (e.formFieldErrors.path = _);
1142
- const F = me(e.fields.port);
1143
- F && (e.formFieldErrors.port = F), Q.value ? c("url-valid:success") : c("url-valid:error", e.errorMessages.join(",") || l("gateway_services.form.errors.url.invalid"));
1144
- }, N = (t) => {
1145
- if (t)
1146
- e.formFieldErrors[t] = "";
1128
+ }, he = (e) => {
1129
+ N(e);
1130
+ }, Pe = k(() => !!t.formFieldErrors.url || !!t.formFieldErrors.host || !!t.formFieldErrors.port), T = (e) => {
1131
+ if (t.errorMessages.length) return "";
1132
+ const o = t.formFieldErrors;
1133
+ return o[e] ? o[e] : "";
1134
+ }, O = (e) => {
1135
+ N(e ?? void 0);
1136
+ const o = le(t.fields.host);
1137
+ o && (t.formFieldErrors.host = o);
1138
+ const y = ue(t.fields.path);
1139
+ y && (t.formFieldErrors.path = y);
1140
+ const I = fe(t.fields.port);
1141
+ I && (t.formFieldErrors.port = I), J.value ? c("url-valid:success") : c("url-valid:error", t.errorMessages.join(",") || l("gateway_services.form.errors.url.invalid"));
1142
+ }, N = (e) => {
1143
+ if (e)
1144
+ t.formFieldErrors[e] = "";
1147
1145
  else
1148
- for (let r in e.formFieldErrors)
1149
- e.formFieldErrors[r] = "";
1150
- e.errorMessages = [];
1151
- }, Q = w(() => {
1152
- for (let t in e.formFieldErrors)
1153
- if (e.formFieldErrors[t].length)
1146
+ for (let o in t.formFieldErrors)
1147
+ t.formFieldErrors[o] = "";
1148
+ t.errorMessages = [];
1149
+ }, J = k(() => {
1150
+ for (let e in t.formFieldErrors)
1151
+ if (t.formFieldErrors[e].length)
1154
1152
  return !1;
1155
1153
  return !0;
1156
- }), Ae = () => {
1157
- e.fields.url && C.value === "url" ? be() : z();
1158
- }, Te = () => `new-service-${(/* @__PURE__ */ new Date()).toISOString().replace(/\D/g, "").slice(0, 17)}`, ce = w(() => !["tcp", "tls", "tls_passthrough", "grpc", "grpcs", "udp"].includes(e.fields.protocol)), Ue = w(() => {
1159
- if (C.value === "url")
1154
+ }), Ie = () => {
1155
+ t.fields.url && V.value === "url" ? _e() : O();
1156
+ }, Fe = () => `new-service-${(/* @__PURE__ */ new Date()).toISOString().replace(/\D/g, "").slice(0, 17)}`, ne = k(() => !["tcp", "tls", "tls_passthrough", "grpc", "grpcs", "udp"].includes(t.fields.protocol)), Ae = k(() => {
1157
+ if (V.value === "url")
1160
1158
  return !0;
1161
- const t = ["https", "wss", "tls"].includes(e.fields.protocol);
1162
- return C.value === "protocol" && t;
1163
- }), Re = w(() => {
1164
- if (C.value === "url")
1159
+ const e = ["https", "wss", "tls"].includes(t.fields.protocol);
1160
+ return V.value === "protocol" && e;
1161
+ }), Te = k(() => {
1162
+ if (V.value === "url")
1165
1163
  return !0;
1166
- const t = ["https", "tls"].includes(e.fields.protocol);
1167
- return C.value === "protocol" && t;
1168
- }), ie = w(() => {
1169
- if (C.value === "url")
1164
+ const e = ["https", "tls"].includes(t.fields.protocol);
1165
+ return V.value === "protocol" && e;
1166
+ }), oe = k(() => {
1167
+ if (V.value === "url")
1170
1168
  return !0;
1171
- const t = ["https", "wss", "tls"].includes(e.fields.protocol);
1172
- return C.value === "protocol" && t;
1173
- }), ke = (t) => {
1174
- N("name"), ne.value = Pe.utf8Name(t);
1175
- }, f = w(() => {
1176
- const t = !Z.value || !Ie(e.fields, k), r = C.value === "url" && !!e.fields.url && Q.value, _ = C.value === "protocol" && !!e.fields.host && Q.value;
1177
- return t && (r || _);
1178
- }), g = (t) => {
1179
- var r, _, F;
1180
- e.fields.name = (t == null ? void 0 : t.name) || "", e.fields.tags = ((r = t == null ? void 0 : t.tags) == null ? void 0 : r.join(", ")) || "", e.fields.protocol = (t == null ? void 0 : t.protocol) || "http", e.fields.path = (t == null ? void 0 : t.path) || "", e.fields.read_timeout = t != null && t.read_timeout || (t == null ? void 0 : t.read_timeout) === 0 ? t == null ? void 0 : t.read_timeout : 6e4, e.fields.retries = t != null && t.retries || (t == null ? void 0 : t.retries) === 0 ? t == null ? void 0 : t.retries : 5, e.fields.host = (t == null ? void 0 : t.host) || "", e.fields.connect_timeout = t != null && t.connect_timeout || (t == null ? void 0 : t.connect_timeout) === 0 ? t == null ? void 0 : t.connect_timeout : 6e4, e.fields.tls_verify_enabled = (t == null ? void 0 : t.tls_verify) !== "" && (t == null ? void 0 : t.tls_verify) !== null && (t == null ? void 0 : t.tls_verify) !== void 0, e.fields.tls_verify_value = t != null && t.tls_verify ? t == null ? void 0 : t.tls_verify : !1, e.fields.ca_certificates = ((_ = t == null ? void 0 : t.ca_certificates) == null ? void 0 : _.join(",")) || "", e.fields.client_certificate = ((F = t == null ? void 0 : t.client_certificate) == null ? void 0 : F.id) || "", e.fields.write_timeout = t != null && t.write_timeout || (t == null ? void 0 : t.write_timeout) === 0 ? t == null ? void 0 : t.write_timeout : 6e4, e.fields.port = t != null && t.port || (t == null ? void 0 : t.port) === 0 ? t == null ? void 0 : t.port : 80, e.fields.enabled = (t == null ? void 0 : t.enabled) ?? !0, Object.assign(k, e.fields);
1181
- }, y = () => {
1182
- $.push(s.config.cancelRoute);
1183
- }, I = w(() => {
1184
- var r, _;
1185
- let t = `${s.config.apiBaseUrl}${fe.form[s.config.app].validate}`;
1186
- return s.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((r = s.config) == null ? void 0 : r.controlPlaneId) || "") : s.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (_ = s.config) != null && _.workspace ? `/${s.config.workspace}` : "")), t = t.replace(/{id}/gi, s.gatewayServiceId), t;
1187
- }), W = w(() => {
1188
- var r, _;
1189
- let t = `${s.config.apiBaseUrl}${fe.form[s.config.app][H.value]}`;
1190
- return s.config.app === "konnect" ? t = t.replace(/{controlPlaneId}/gi, ((r = s.config) == null ? void 0 : r.controlPlaneId) || "") : s.config.app === "kongManager" && (t = t.replace(/\/{workspace}/gi, (_ = s.config) != null && _.workspace ? `/${s.config.workspace}` : "")), t = t.replace(/{id}/gi, s.gatewayServiceId), t;
1191
- }), O = (t) => {
1192
- let r = "";
1193
- t.url && (r = new URL(t.url).protocol), (["https", "wss", "tls"].includes(t.protocol) || ["https", "wss", "tls"].includes(r)) && (t.tls_verify = t.tls_verify_enabled ? t.tls_verify_value : null), delete t.tls_verify_enabled, delete t.tls_verify_value;
1194
- }, M = w(() => {
1195
- var r, _, F, h;
1196
- const t = {
1197
- name: e.fields.name || null,
1198
- tags: e.fields.tags ? (F = (_ = (r = e.fields.tags) == null ? void 0 : r.split(",")) == null ? void 0 : _.map((V) => String(V || "").trim())) == null ? void 0 : F.filter((V) => V !== "") : null,
1199
- protocol: e.fields.protocol,
1200
- path: e.fields.path || null,
1201
- read_timeout: e.fields.read_timeout,
1202
- retries: e.fields.retries,
1203
- host: e.fields.host,
1204
- connect_timeout: e.fields.connect_timeout,
1205
- tls_verify_value: e.fields.tls_verify_value,
1206
- tls_verify_enabled: e.fields.tls_verify_enabled,
1207
- ca_certificates: e.fields.ca_certificates ? (h = e.fields.ca_certificates) == null ? void 0 : h.split(",").filter((V) => V !== "") : null,
1208
- client_certificate: e.fields.client_certificate ? { id: e.fields.client_certificate } : null,
1209
- write_timeout: e.fields.write_timeout,
1210
- port: e.fields.port,
1211
- url: e.fields.url,
1212
- enabled: e.fields.enabled
1169
+ const e = ["https", "wss", "tls"].includes(t.fields.protocol);
1170
+ return V.value === "protocol" && e;
1171
+ }), be = (e) => {
1172
+ N("name"), ae.value = Ce.utf8Name(e);
1173
+ }, f = k(() => {
1174
+ const e = !H.value || !Se(t.fields, b), o = V.value === "url" && !!t.fields.url && J.value, y = V.value === "protocol" && !!t.fields.host && J.value;
1175
+ return e && (o || y);
1176
+ }), v = (e) => {
1177
+ var o, y, I;
1178
+ t.fields.name = (e == null ? void 0 : e.name) || "", t.fields.tags = ((o = e == null ? void 0 : e.tags) == null ? void 0 : o.join(", ")) || "", t.fields.protocol = (e == null ? void 0 : e.protocol) || "http", t.fields.path = (e == null ? void 0 : e.path) || "", t.fields.read_timeout = e != null && e.read_timeout || (e == null ? void 0 : e.read_timeout) === 0 ? e == null ? void 0 : e.read_timeout : 6e4, t.fields.retries = e != null && e.retries || (e == null ? void 0 : e.retries) === 0 ? e == null ? void 0 : e.retries : 5, t.fields.host = (e == null ? void 0 : e.host) || "", t.fields.connect_timeout = e != null && e.connect_timeout || (e == null ? void 0 : e.connect_timeout) === 0 ? e == null ? void 0 : e.connect_timeout : 6e4, t.fields.tls_verify_enabled = (e == null ? void 0 : e.tls_verify) !== "" && (e == null ? void 0 : e.tls_verify) !== null && (e == null ? void 0 : e.tls_verify) !== void 0, t.fields.tls_verify_value = e != null && e.tls_verify ? e == null ? void 0 : e.tls_verify : !1, t.fields.ca_certificates = ((y = e == null ? void 0 : e.ca_certificates) == null ? void 0 : y.join(",")) || "", t.fields.client_certificate = ((I = e == null ? void 0 : e.client_certificate) == null ? void 0 : I.id) || "", t.fields.write_timeout = e != null && e.write_timeout || (e == null ? void 0 : e.write_timeout) === 0 ? e == null ? void 0 : e.write_timeout : 6e4, t.fields.port = e != null && e.port || (e == null ? void 0 : e.port) === 0 ? e == null ? void 0 : e.port : 80, t.fields.enabled = (e == null ? void 0 : e.enabled) ?? !0, Object.assign(b, t.fields);
1179
+ }, g = () => {
1180
+ F.push(a.config.cancelRoute);
1181
+ }, S = k(() => {
1182
+ var o, y;
1183
+ let e = `${a.config.apiBaseUrl}${Ve.form[a.config.app][z.value]}`;
1184
+ return a.config.app === "konnect" ? e = e.replace(/{controlPlaneId}/gi, ((o = a.config) == null ? void 0 : o.controlPlaneId) || "") : a.config.app === "kongManager" && (e = e.replace(/\/{workspace}/gi, (y = a.config) != null && y.workspace ? `/${a.config.workspace}` : "")), e = e.replace(/{id}/gi, a.gatewayServiceId), e;
1185
+ }), j = (e) => {
1186
+ let o = "";
1187
+ e.url && (o = new URL(e.url).protocol), (["https", "wss", "tls"].includes(e.protocol) || ["https", "wss", "tls"].includes(o)) && (e.tls_verify = e.tls_verify_enabled ? e.tls_verify_value : null), delete e.tls_verify_enabled, delete e.tls_verify_value;
1188
+ }, x = k(() => {
1189
+ var o, y, I, _;
1190
+ const e = {
1191
+ name: t.fields.name || null,
1192
+ tags: t.fields.tags ? (I = (y = (o = t.fields.tags) == null ? void 0 : o.split(",")) == null ? void 0 : y.map((w) => String(w || "").trim())) == null ? void 0 : I.filter((w) => w !== "") : null,
1193
+ protocol: t.fields.protocol,
1194
+ path: t.fields.path || null,
1195
+ read_timeout: t.fields.read_timeout,
1196
+ retries: t.fields.retries,
1197
+ host: t.fields.host,
1198
+ connect_timeout: t.fields.connect_timeout,
1199
+ tls_verify_value: t.fields.tls_verify_value,
1200
+ tls_verify_enabled: t.fields.tls_verify_enabled,
1201
+ ca_certificates: t.fields.ca_certificates ? (_ = t.fields.ca_certificates) == null ? void 0 : _.split(",").filter((w) => w !== "") : null,
1202
+ client_certificate: t.fields.client_certificate ? { id: t.fields.client_certificate } : null,
1203
+ write_timeout: t.fields.write_timeout,
1204
+ port: t.fields.port,
1205
+ url: t.fields.url,
1206
+ enabled: t.fields.enabled
1213
1207
  };
1214
- return e.fields.client_certificate && ["https", "wss", "tls"].includes(e.fields.protocol) && (t.client_certificate = { id: e.fields.client_certificate }), e.fields.tls_verify_enabled && ["https", "wss", "tls"].includes(e.fields.protocol) && (t.tls_verify = e.fields.tls_verify_value), ce.value || (t.path = null), H.value === "create" ? C.value === "url" ? (delete t.protocol, delete t.host, delete t.path, s.config.app === "konnect" && delete t.port) : delete t.url : H.value === "edit" && delete t.url, t;
1215
- }), X = async () => {
1216
- var t, r, _, F;
1208
+ return t.fields.client_certificate && ["https", "wss", "tls"].includes(t.fields.protocol) && (e.client_certificate = { id: t.fields.client_certificate }), t.fields.tls_verify_enabled && ["https", "wss", "tls"].includes(t.fields.protocol) && (e.tls_verify = t.fields.tls_verify_value), ne.value || (e.path = null), z.value === "create" ? V.value === "url" ? (delete e.protocol, delete e.host, delete e.path, a.config.app === "konnect" && delete e.port) : delete e.url : z.value === "edit" && delete e.url, e;
1209
+ }), K = async () => {
1210
+ var e, o, y, I;
1217
1211
  try {
1218
- e.isReadonly = !0;
1219
- const h = M.value;
1220
- O(h);
1221
- let V;
1222
- if (await E.post(I.value, h), H.value === "create" ? V = await E.post(W.value, h) : H.value === "edit" && (V = ((t = s.config) == null ? void 0 : t.app) === "konnect" ? await E.put(W.value, h) : await E.patch(W.value, h)), V) {
1223
- const { data: i } = V;
1224
- e.fields.name = (i == null ? void 0 : i.name) || "", e.fields.port = i.port || ae.getPortFromProtocol(i.protocol), e.fields.protocol = (i == null ? void 0 : i.protocol) || "http", e.fields.host = (i == null ? void 0 : i.host) || "", e.fields.path = (i == null ? void 0 : i.path) || "", e.fields.url = (i == null ? void 0 : i.url) || "", e.fields.retries = i != null && i.retries || (i == null ? void 0 : i.retries) === 0 ? i == null ? void 0 : i.retries : 5, e.fields.connect_timeout = i != null && i.connect_timeout || (i == null ? void 0 : i.connect_timeout) === 0 ? i == null ? void 0 : i.connect_timeout : 6e4, e.fields.write_timeout = i != null && i.write_timeout || (i == null ? void 0 : i.write_timeout) === 0 ? i == null ? void 0 : i.write_timeout : 6e4, e.fields.read_timeout = i != null && i.read_timeout || (i == null ? void 0 : i.read_timeout) === 0 ? i == null ? void 0 : i.read_timeout : 6e4, e.fields.client_certificate = ((r = i == null ? void 0 : i.client_certificate) == null ? void 0 : r.id) || "", e.fields.ca_certificates = (_ = i == null ? void 0 : i.ca_certificates) != null && _.length ? i == null ? void 0 : i.ca_certificates.join(",") : "", e.fields.tls_verify_enabled = (i == null ? void 0 : i.tls_verify) !== "" && (i == null ? void 0 : i.tls_verify) !== null && (i == null ? void 0 : i.tls_verify) !== void 0, e.fields.tls_verify_value = e.fields.tls_verify_enabled && (i == null ? void 0 : i.tls_verify), e.fields.tags = (F = i == null ? void 0 : i.tags) != null && F.length ? i.tags.join(", ") : "", e.fields.enabled = (i == null ? void 0 : i.enabled) ?? !0, Object.assign(k, e.fields), c("update", V == null ? void 0 : V.data);
1212
+ t.isReadonly = !0;
1213
+ const _ = x.value;
1214
+ j(_);
1215
+ let w;
1216
+ if (z.value === "create" ? w = await P.post(S.value, _) : z.value === "edit" && (w = ((e = a.config) == null ? void 0 : e.app) === "konnect" ? await P.put(S.value, _) : await P.patch(S.value, _)), w) {
1217
+ const { data: i } = w;
1218
+ t.fields.name = (i == null ? void 0 : i.name) || "", t.fields.port = i.port || se.getPortFromProtocol(i.protocol), t.fields.protocol = (i == null ? void 0 : i.protocol) || "http", t.fields.host = (i == null ? void 0 : i.host) || "", t.fields.path = (i == null ? void 0 : i.path) || "", t.fields.url = (i == null ? void 0 : i.url) || "", t.fields.retries = i != null && i.retries || (i == null ? void 0 : i.retries) === 0 ? i == null ? void 0 : i.retries : 5, t.fields.connect_timeout = i != null && i.connect_timeout || (i == null ? void 0 : i.connect_timeout) === 0 ? i == null ? void 0 : i.connect_timeout : 6e4, t.fields.write_timeout = i != null && i.write_timeout || (i == null ? void 0 : i.write_timeout) === 0 ? i == null ? void 0 : i.write_timeout : 6e4, t.fields.read_timeout = i != null && i.read_timeout || (i == null ? void 0 : i.read_timeout) === 0 ? i == null ? void 0 : i.read_timeout : 6e4, t.fields.client_certificate = ((o = i == null ? void 0 : i.client_certificate) == null ? void 0 : o.id) || "", t.fields.ca_certificates = (y = i == null ? void 0 : i.ca_certificates) != null && y.length ? i == null ? void 0 : i.ca_certificates.join(",") : "", t.fields.tls_verify_enabled = (i == null ? void 0 : i.tls_verify) !== "" && (i == null ? void 0 : i.tls_verify) !== null && (i == null ? void 0 : i.tls_verify) !== void 0, t.fields.tls_verify_value = t.fields.tls_verify_enabled && (i == null ? void 0 : i.tls_verify), t.fields.tags = (I = i == null ? void 0 : i.tags) != null && I.length ? i.tags.join(", ") : "", t.fields.enabled = (i == null ? void 0 : i.enabled) ?? !0, Object.assign(b, t.fields), c("update", w == null ? void 0 : w.data);
1225
1219
  }
1226
- return V;
1227
- } catch (h) {
1228
- const { fields: V, messages: i } = K(h);
1229
- e.errorMessages = i, V.length && V.forEach((Y) => {
1230
- const le = Y.field;
1231
- le === "client_certificate.id" ? e.formFieldErrors.client_certificate = Y.message : le.startsWith("ca_certificates") ? e.formFieldErrors.ca_certificates = Y.message : Object.keys(e.formFieldErrors).includes(le) && (e.formFieldErrors = {
1232
- ...e.formFieldErrors,
1233
- [le]: Y.message
1220
+ return w;
1221
+ } catch (_) {
1222
+ const { fields: w, messages: i } = D(_);
1223
+ t.errorMessages = i, w.length && w.forEach((Q) => {
1224
+ const ie = Q.field;
1225
+ ie === "client_certificate.id" ? t.formFieldErrors.client_certificate = Q.message : ie.startsWith("ca_certificates") ? t.formFieldErrors.ca_certificates = Q.message : Object.keys(t.formFieldErrors).includes(ie) && (t.formFieldErrors = {
1226
+ ...t.formFieldErrors,
1227
+ [ie]: Q.message
1234
1228
  });
1235
- }), c("error", h);
1229
+ }), c("error", _);
1236
1230
  } finally {
1237
- e.isReadonly = !1;
1231
+ t.isReadonly = !1;
1238
1232
  }
1239
1233
  };
1240
- return Be(() => s.gatewayServiceId, () => {
1241
- Object.assign(e.fields, k);
1242
- }), Be(e.fields, (t) => {
1243
- e.fields.port = ae.getPortFromProtocol(t.protocol, String(t.port)), c("model-updated", M.value);
1244
- }), Qe(() => {
1245
- c("model-updated", M.value), Z.value || (e.fields.name = Te());
1234
+ return Me(() => a.gatewayServiceId, () => {
1235
+ Object.assign(t.fields, b);
1236
+ }), Me(t.fields, (e) => {
1237
+ t.fields.port = se.getPortFromProtocol(e.protocol, String(e.port)), c("model-updated", x.value);
1238
+ }), Je(() => {
1239
+ c("model-updated", x.value), H.value || (t.fields.name = Fe());
1246
1240
  }), q({
1247
- validateUrl: Ae,
1248
- getPayload: M,
1249
- saveFormData: X,
1241
+ validateUrl: Ie,
1242
+ getPayload: x,
1243
+ saveFormData: K,
1250
1244
  canSubmit: f,
1251
- initForm: g
1252
- }), (t, r) => {
1253
- const _ = D("KRadio"), F = D("KButton"), h = D("KInput"), V = D("KSelect"), i = D("KCheckbox"), Y = D("KCollapse"), le = D("KAlert");
1254
- return S(), A("div", xt, [
1255
- n(o(ht), {
1245
+ initForm: v
1246
+ }), (e, o) => {
1247
+ const y = B("KRadio"), I = B("KButton"), _ = B("KInput"), w = B("KSelect"), i = B("KCheckbox"), Q = B("KCollapse"), ie = B("KAlert");
1248
+ return C(), A("div", Rt, [
1249
+ n(r(_t), {
1256
1250
  "can-submit": f.value,
1257
- config: a.config,
1258
- "edit-id": a.gatewayServiceId,
1259
- "entity-type": o(ze).GatewayService,
1260
- "fetch-url": j.value,
1261
- "form-fields": M.value,
1262
- "is-readonly": e.isReadonly,
1263
- onCancel: y,
1264
- "onFetch:error": r[31] || (r[31] = (u) => t.$emit("error", u)),
1265
- "onFetch:success": g,
1266
- onLoading: r[32] || (r[32] = (u) => t.$emit("loading", u)),
1267
- onSubmit: X
1251
+ config: s.config,
1252
+ "edit-id": s.gatewayServiceId,
1253
+ "entity-type": r(je).GatewayService,
1254
+ "fetch-url": W.value,
1255
+ "form-fields": x.value,
1256
+ "is-readonly": t.isReadonly,
1257
+ onCancel: g,
1258
+ "onFetch:error": o[31] || (o[31] = (u) => e.$emit("error", u)),
1259
+ "onFetch:success": v,
1260
+ onLoading: o[32] || (o[32] = (u) => e.$emit("loading", u)),
1261
+ onSubmit: K
1268
1262
  }, {
1269
1263
  "form-actions": d(() => [
1270
- et(t.$slots, "form-actions", {
1264
+ Ye(e.$slots, "form-actions", {
1271
1265
  canSubmit: f.value,
1272
- cancel: y,
1273
- submit: X
1266
+ cancel: g,
1267
+ submit: K
1274
1268
  }, void 0, !0)
1275
1269
  ]),
1276
1270
  default: d(() => [
1277
- n(o(Ne), {
1278
- description: o(l)("gateway_services.form.sections.keys.description"),
1279
- "hide-info-header": a.hideSectionsInfo,
1280
- title: o(l)("gateway_services.form.sections.keys.title")
1271
+ n(r(Ge), {
1272
+ description: r(l)("gateway_services.form.sections.keys.description"),
1273
+ "hide-info-header": s.hideSectionsInfo,
1274
+ title: r(l)("gateway_services.form.sections.keys.title")
1281
1275
  }, {
1282
1276
  default: d(() => [
1283
- Z.value ? B("", !0) : (S(), A("div", Mt, [
1284
- P("div", Bt, [
1285
- n(_, {
1286
- modelValue: C.value,
1287
- "onUpdate:modelValue": r[0] || (r[0] = (u) => C.value = u),
1277
+ H.value ? M("", !0) : (C(), A("div", xt, [
1278
+ E("div", Mt, [
1279
+ n(y, {
1280
+ modelValue: V.value,
1281
+ "onUpdate:modelValue": o[0] || (o[0] = (u) => V.value = u),
1288
1282
  card: "",
1289
1283
  "card-orientation": "horizontal",
1290
1284
  "data-testid": "gateway-service-url-radio",
1291
- description: o(l)("gateway_services.form.sections.keys.url.description"),
1292
- label: o(l)("gateway_services.form.sections.keys.url.label"),
1293
- "selected-value": ve.url,
1294
- onChange: _e
1285
+ description: r(l)("gateway_services.form.sections.keys.url.description"),
1286
+ label: r(l)("gateway_services.form.sections.keys.url.label"),
1287
+ "selected-value": pe.url,
1288
+ onChange: ge
1295
1289
  }, null, 8, ["modelValue", "description", "label", "selected-value"]),
1296
- n(_, {
1297
- modelValue: C.value,
1298
- "onUpdate:modelValue": r[1] || (r[1] = (u) => C.value = u),
1290
+ n(y, {
1291
+ modelValue: V.value,
1292
+ "onUpdate:modelValue": o[1] || (o[1] = (u) => V.value = u),
1299
1293
  card: "",
1300
1294
  "card-orientation": "horizontal",
1301
1295
  "checked-group": "protocol",
1302
1296
  "data-testid": "gateway-service-protocol-radio",
1303
- description: o(l)("gateway_services.form.sections.keys.protocol.description"),
1304
- label: o(l)("gateway_services.form.sections.keys.protocol.label"),
1305
- "selected-value": ve.protocol,
1306
- onChange: _e
1297
+ description: r(l)("gateway_services.form.sections.keys.protocol.description"),
1298
+ label: r(l)("gateway_services.form.sections.keys.protocol.label"),
1299
+ "selected-value": pe.protocol,
1300
+ onChange: ge
1307
1301
  }, null, 8, ["modelValue", "description", "label", "selected-value"])
1308
1302
  ]),
1309
- n(Me, { name: "slide-fade" }, {
1303
+ n($e, { name: "slide-fade" }, {
1310
1304
  default: d(() => [
1311
- C.value === "url" ? (S(), A("div", Dt, [
1312
- n(h, {
1313
- modelValue: e.fields.url,
1314
- "onUpdate:modelValue": r[2] || (r[2] = (u) => e.fields.url = u),
1305
+ V.value === "url" ? (C(), A("div", Bt, [
1306
+ n(_, {
1307
+ modelValue: t.fields.url,
1308
+ "onUpdate:modelValue": o[2] || (o[2] = (u) => t.fields.url = u),
1315
1309
  modelModifiers: { trim: !0 },
1316
1310
  class: "gateway-service-url-input gateway-service-form-margin-bottom",
1317
1311
  "data-testid": "gateway-service-url-input",
1318
- error: $e.value,
1312
+ error: Pe.value,
1319
1313
  "error-message": T("url"),
1320
- label: o(l)("gateway_services.form.fields.upstream_url.label"),
1314
+ label: r(l)("gateway_services.form.fields.upstream_url.label"),
1321
1315
  "label-attributes": {
1322
- info: a.config.app === "konnect" ? o(l)("gateway_services.form.fields.upstream_url.tooltip_for_konnect") : o(l)("gateway_services.form.fields.upstream_url.tooltip_for_km"),
1316
+ info: s.config.app === "konnect" ? r(l)("gateway_services.form.fields.upstream_url.tooltip_for_konnect") : r(l)("gateway_services.form.fields.upstream_url.tooltip_for_km"),
1323
1317
  tooltipAttributes: { maxWidth: "400" }
1324
1318
  },
1325
1319
  name: "url",
1326
- placeholder: o(l)("gateway_services.form.fields.upstream_url.placeholder"),
1320
+ placeholder: r(l)("gateway_services.form.fields.upstream_url.placeholder"),
1327
1321
  required: "",
1328
- onInput: be
1329
- }, Ee({ _: 2 }, [
1330
- a.hideTrySampleApiButton ? void 0 : {
1322
+ onInput: _e
1323
+ }, ke({ _: 2 }, [
1324
+ s.hideTrySampleApiButton ? void 0 : {
1331
1325
  name: "after",
1332
1326
  fn: d(() => [
1333
- n(F, {
1327
+ n(I, {
1334
1328
  appearance: "tertiary",
1335
1329
  "data-testid": "try-sample-api",
1336
1330
  size: "small",
1337
- onClick: he
1331
+ onClick: ye
1338
1332
  }, {
1339
1333
  default: d(() => [
1340
- U(b(o(l)("gateway_services.form.buttons.try_sample")), 1)
1334
+ U(h(r(l)("gateway_services.form.buttons.try_sample")), 1)
1341
1335
  ]),
1342
1336
  _: 1
1343
1337
  })
@@ -1345,57 +1339,57 @@ const ee = {
1345
1339
  key: "0"
1346
1340
  }
1347
1341
  ]), 1032, ["modelValue", "error", "error-message", "label", "label-attributes", "placeholder"])
1348
- ])) : B("", !0)
1342
+ ])) : M("", !0)
1349
1343
  ]),
1350
1344
  _: 1
1351
1345
  })
1352
1346
  ])),
1353
- n(Me, { name: "slide-fade" }, {
1347
+ n($e, { name: "slide-fade" }, {
1354
1348
  default: d(() => [
1355
- C.value === "protocol" || Z.value ? (S(), A("div", Kt, [
1356
- n(V, {
1357
- modelValue: e.fields.protocol,
1358
- "onUpdate:modelValue": r[3] || (r[3] = (u) => e.fields.protocol = u),
1349
+ V.value === "protocol" || H.value ? (C(), A("div", Dt, [
1350
+ n(w, {
1351
+ modelValue: t.fields.protocol,
1352
+ "onUpdate:modelValue": o[3] || (o[3] = (u) => t.fields.protocol = u),
1359
1353
  "data-testid": "gateway-service-protocol-select",
1360
- items: re,
1361
- label: o(l)("gateway_services.form.fields.protocol.label"),
1354
+ items: te,
1355
+ label: r(l)("gateway_services.form.fields.protocol.label"),
1362
1356
  "label-attributes": {
1363
- info: o(l)("gateway_services.form.fields.protocol.tooltip"),
1357
+ info: r(l)("gateway_services.form.fields.protocol.tooltip"),
1364
1358
  tooltipAttributes: { maxWidth: "400" }
1365
1359
  },
1366
- readonly: e.isReadonly,
1360
+ readonly: t.isReadonly,
1367
1361
  required: "",
1368
1362
  width: "100%",
1369
- onSelected: r[4] || (r[4] = (u) => ge(e.fields.protocol, u))
1363
+ onSelected: o[4] || (o[4] = (u) => me(t.fields.protocol, u))
1370
1364
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"]),
1371
- n(h, {
1372
- modelValue: e.fields.host,
1373
- "onUpdate:modelValue": r[5] || (r[5] = (u) => e.fields.host = u),
1365
+ n(_, {
1366
+ modelValue: t.fields.host,
1367
+ "onUpdate:modelValue": o[5] || (o[5] = (u) => t.fields.host = u),
1374
1368
  modelModifiers: { trim: !0 },
1375
1369
  class: "gateway-service-form-margin-top",
1376
1370
  "data-testid": "gateway-service-host-input",
1377
- error: !!e.formFieldErrors.host,
1371
+ error: !!t.formFieldErrors.host,
1378
1372
  "error-message": T("host"),
1379
- label: o(l)("gateway_services.form.fields.host.label"),
1373
+ label: r(l)("gateway_services.form.fields.host.label"),
1380
1374
  "label-attributes": {
1381
- info: o(l)("gateway_services.form.fields.host.tooltip"),
1375
+ info: r(l)("gateway_services.form.fields.host.tooltip"),
1382
1376
  tooltipAttributes: { maxWidth: "400" }
1383
1377
  },
1384
1378
  name: "host",
1385
- placeholder: o(l)("gateway_services.form.fields.host.placeholder"),
1379
+ placeholder: r(l)("gateway_services.form.fields.host.placeholder"),
1386
1380
  required: "",
1387
- onInput: r[6] || (r[6] = (u) => z("host"))
1388
- }, Ee({ _: 2 }, [
1389
- a.hideTrySampleApiButton ? void 0 : {
1381
+ onInput: o[6] || (o[6] = (u) => O("host"))
1382
+ }, ke({ _: 2 }, [
1383
+ s.hideTrySampleApiButton ? void 0 : {
1390
1384
  name: "after",
1391
1385
  fn: d(() => [
1392
- n(F, {
1386
+ n(I, {
1393
1387
  appearance: "tertiary",
1394
1388
  size: "small",
1395
- onClick: he
1389
+ onClick: ye
1396
1390
  }, {
1397
1391
  default: d(() => [
1398
- U(b(o(l)("gateway_services.form.buttons.try_sample")), 1)
1392
+ U(h(r(l)("gateway_services.form.buttons.try_sample")), 1)
1399
1393
  ]),
1400
1394
  _: 1
1401
1395
  })
@@ -1403,238 +1397,238 @@ const ee = {
1403
1397
  key: "0"
1404
1398
  }
1405
1399
  ]), 1032, ["modelValue", "error", "error-message", "label", "label-attributes", "placeholder"]),
1406
- ce.value ? (S(), A("div", Lt, [
1407
- n(h, {
1408
- modelValue: e.fields.path,
1409
- "onUpdate:modelValue": r[7] || (r[7] = (u) => e.fields.path = u),
1400
+ ne.value ? (C(), A("div", Kt, [
1401
+ n(_, {
1402
+ modelValue: t.fields.path,
1403
+ "onUpdate:modelValue": o[7] || (o[7] = (u) => t.fields.path = u),
1410
1404
  modelModifiers: { trim: !0 },
1411
1405
  class: "gateway-service-form-margin-top",
1412
1406
  "data-testid": "gateway-service-path-input",
1413
- error: !!e.formFieldErrors.path,
1407
+ error: !!t.formFieldErrors.path,
1414
1408
  "error-message": T("path"),
1415
- label: o(l)("gateway_services.form.fields.path.label"),
1409
+ label: r(l)("gateway_services.form.fields.path.label"),
1416
1410
  "label-attributes": {
1417
- info: o(l)("gateway_services.form.fields.path.tooltip"),
1411
+ info: r(l)("gateway_services.form.fields.path.tooltip"),
1418
1412
  tooltipAttributes: { maxWidth: "400" }
1419
1413
  },
1420
1414
  name: "path",
1421
- placeholder: o(l)("gateway_services.form.fields.path.placeholder"),
1422
- onInput: r[8] || (r[8] = (u) => z("path"))
1415
+ placeholder: r(l)("gateway_services.form.fields.path.placeholder"),
1416
+ onInput: o[8] || (o[8] = (u) => O("path"))
1423
1417
  }, null, 8, ["modelValue", "error", "error-message", "label", "label-attributes", "placeholder"])
1424
- ])) : B("", !0),
1425
- n(h, {
1426
- modelValue: e.fields.port,
1418
+ ])) : M("", !0),
1419
+ n(_, {
1420
+ modelValue: t.fields.port,
1427
1421
  "onUpdate:modelValue": [
1428
- r[9] || (r[9] = (u) => e.fields.port = u),
1429
- r[11] || (r[11] = () => {
1430
- e.fields.port = J(e.fields.port + "");
1422
+ o[9] || (o[9] = (u) => t.fields.port = u),
1423
+ o[11] || (o[11] = () => {
1424
+ t.fields.port = Z(t.fields.port + "");
1431
1425
  })
1432
1426
  ],
1433
1427
  class: "gateway-service-form-margin-top",
1434
1428
  "data-testid": "gateway-service-port-input",
1435
- error: !!e.formFieldErrors.port,
1429
+ error: !!t.formFieldErrors.port,
1436
1430
  "error-message": T("port"),
1437
- label: o(l)("gateway_services.form.fields.port.label"),
1431
+ label: r(l)("gateway_services.form.fields.port.label"),
1438
1432
  "label-attributes": {
1439
- info: o(l)("gateway_services.form.fields.port.tooltip"),
1433
+ info: r(l)("gateway_services.form.fields.port.tooltip"),
1440
1434
  tooltipAttributes: { maxWidth: "400" }
1441
1435
  },
1442
1436
  name: "port",
1443
1437
  type: "number",
1444
- onInput: r[10] || (r[10] = (u) => z("port"))
1438
+ onInput: o[10] || (o[10] = (u) => O("port"))
1445
1439
  }, null, 8, ["modelValue", "error", "error-message", "label", "label-attributes"])
1446
- ])) : B("", !0)
1440
+ ])) : M("", !0)
1447
1441
  ]),
1448
1442
  _: 1
1449
1443
  }),
1450
- n(Y, {
1451
- modelValue: v.value,
1452
- "onUpdate:modelValue": r[27] || (r[27] = (u) => v.value = u),
1444
+ n(Q, {
1445
+ modelValue: m.value,
1446
+ "onUpdate:modelValue": o[27] || (o[27] = (u) => m.value = u),
1453
1447
  "data-testid": "advanced-fields-collapse",
1454
1448
  "trigger-alignment": "leading",
1455
- "trigger-label": o(l)("gateway_services.form.sections.keys.viewAdvancedFields")
1449
+ "trigger-label": r(l)("gateway_services.form.sections.keys.viewAdvancedFields")
1456
1450
  }, {
1457
1451
  default: d(() => [
1458
- n(Me, { name: "slide-fade" }, {
1452
+ n($e, { name: "slide-fade" }, {
1459
1453
  default: d(() => [
1460
- v.value ? B("", !0) : (S(), A("div", qt, [
1461
- P("div", Gt, [
1462
- n(h, {
1463
- modelValue: e.fields.retries,
1454
+ m.value ? M("", !0) : (C(), A("div", Lt, [
1455
+ E("div", qt, [
1456
+ n(_, {
1457
+ modelValue: t.fields.retries,
1464
1458
  "onUpdate:modelValue": [
1465
- r[12] || (r[12] = (u) => e.fields.retries = u),
1466
- r[13] || (r[13] = () => {
1467
- e.fields.retries = J(e.fields.retries + "");
1459
+ o[12] || (o[12] = (u) => t.fields.retries = u),
1460
+ o[13] || (o[13] = () => {
1461
+ t.fields.retries = Z(t.fields.retries + "");
1468
1462
  })
1469
1463
  ],
1470
1464
  autocomplete: "off",
1471
1465
  "data-testid": "gateway-service-retries-input",
1472
- label: o(l)("gateway_services.form.fields.retries.label"),
1466
+ label: r(l)("gateway_services.form.fields.retries.label"),
1473
1467
  "label-attributes": {
1474
- info: o(l)("gateway_services.form.fields.retries.tooltip"),
1468
+ info: r(l)("gateway_services.form.fields.retries.tooltip"),
1475
1469
  tooltipAttributes: { maxWidth: "400" }
1476
1470
  },
1477
1471
  name: "retries",
1478
- readonly: e.isReadonly,
1472
+ readonly: t.isReadonly,
1479
1473
  type: "number"
1480
1474
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1481
1475
  ]),
1482
- P("div", Nt, [
1483
- n(h, {
1484
- modelValue: e.fields.connect_timeout,
1476
+ E("div", Gt, [
1477
+ n(_, {
1478
+ modelValue: t.fields.connect_timeout,
1485
1479
  "onUpdate:modelValue": [
1486
- r[14] || (r[14] = (u) => e.fields.connect_timeout = u),
1487
- r[15] || (r[15] = () => {
1488
- e.fields.connect_timeout = J(e.fields.connect_timeout + "");
1480
+ o[14] || (o[14] = (u) => t.fields.connect_timeout = u),
1481
+ o[15] || (o[15] = () => {
1482
+ t.fields.connect_timeout = Z(t.fields.connect_timeout + "");
1489
1483
  })
1490
1484
  ],
1491
1485
  autocomplete: "off",
1492
1486
  "data-testid": "gateway-service-connTimeout-input",
1493
- label: o(l)("gateway_services.form.fields.connect_timeout.label"),
1487
+ label: r(l)("gateway_services.form.fields.connect_timeout.label"),
1494
1488
  "label-attributes": {
1495
- info: o(l)("gateway_services.form.fields.connect_timeout.tooltip"),
1489
+ info: r(l)("gateway_services.form.fields.connect_timeout.tooltip"),
1496
1490
  tooltipAttributes: { maxWidth: "400" }
1497
1491
  },
1498
1492
  name: "connTimeout",
1499
- readonly: e.isReadonly,
1493
+ readonly: t.isReadonly,
1500
1494
  type: "number"
1501
1495
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1502
1496
  ]),
1503
- P("div", Wt, [
1504
- n(h, {
1505
- modelValue: e.fields.write_timeout,
1497
+ E("div", Nt, [
1498
+ n(_, {
1499
+ modelValue: t.fields.write_timeout,
1506
1500
  "onUpdate:modelValue": [
1507
- r[16] || (r[16] = (u) => e.fields.write_timeout = u),
1508
- r[17] || (r[17] = () => {
1509
- e.fields.write_timeout = J(e.fields.write_timeout + "");
1501
+ o[16] || (o[16] = (u) => t.fields.write_timeout = u),
1502
+ o[17] || (o[17] = () => {
1503
+ t.fields.write_timeout = Z(t.fields.write_timeout + "");
1510
1504
  })
1511
1505
  ],
1512
1506
  autocomplete: "off",
1513
1507
  "data-testid": "gateway-service-writeTimeout-input",
1514
- label: o(l)("gateway_services.form.fields.write_timeout.label"),
1508
+ label: r(l)("gateway_services.form.fields.write_timeout.label"),
1515
1509
  "label-attributes": {
1516
- info: o(l)("gateway_services.form.fields.write_timeout.tooltip"),
1510
+ info: r(l)("gateway_services.form.fields.write_timeout.tooltip"),
1517
1511
  tooltipAttributes: { maxWidth: "400" }
1518
1512
  },
1519
1513
  name: "writeTimeout",
1520
- readonly: e.isReadonly,
1514
+ readonly: t.isReadonly,
1521
1515
  type: "number"
1522
1516
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1523
1517
  ]),
1524
- P("div", Ot, [
1525
- n(h, {
1526
- modelValue: e.fields.read_timeout,
1518
+ E("div", Wt, [
1519
+ n(_, {
1520
+ modelValue: t.fields.read_timeout,
1527
1521
  "onUpdate:modelValue": [
1528
- r[18] || (r[18] = (u) => e.fields.read_timeout = u),
1529
- r[19] || (r[19] = () => {
1530
- e.fields.read_timeout = J(e.fields.read_timeout + "");
1522
+ o[18] || (o[18] = (u) => t.fields.read_timeout = u),
1523
+ o[19] || (o[19] = () => {
1524
+ t.fields.read_timeout = Z(t.fields.read_timeout + "");
1531
1525
  })
1532
1526
  ],
1533
1527
  autocomplete: "off",
1534
1528
  "data-testid": "gateway-service-readTimeout-input",
1535
- label: o(l)("gateway_services.form.fields.read_timeout.label"),
1529
+ label: r(l)("gateway_services.form.fields.read_timeout.label"),
1536
1530
  "label-attributes": {
1537
- info: o(l)("gateway_services.form.fields.read_timeout.tooltip"),
1531
+ info: r(l)("gateway_services.form.fields.read_timeout.tooltip"),
1538
1532
  tooltipAttributes: { maxWidth: "400" }
1539
1533
  },
1540
1534
  name: "readTimeout",
1541
- readonly: e.isReadonly,
1535
+ readonly: t.isReadonly,
1542
1536
  type: "number"
1543
1537
  }, null, 8, ["modelValue", "label", "label-attributes", "readonly"])
1544
1538
  ]),
1545
- Ue.value ? (S(), A("div", jt, [
1546
- n(h, {
1547
- modelValue: e.fields.client_certificate,
1548
- "onUpdate:modelValue": r[20] || (r[20] = (u) => e.fields.client_certificate = u),
1539
+ Ae.value ? (C(), A("div", Ot, [
1540
+ n(_, {
1541
+ modelValue: t.fields.client_certificate,
1542
+ "onUpdate:modelValue": o[20] || (o[20] = (u) => t.fields.client_certificate = u),
1549
1543
  modelModifiers: { trim: !0 },
1550
1544
  autocomplete: "off",
1551
1545
  "data-testid": "gateway-service-clientCert-input",
1552
- error: !!e.formFieldErrors.client_certificate,
1553
- label: o(l)("gateway_services.form.fields.client_certificate.label"),
1546
+ error: !!t.formFieldErrors.client_certificate,
1547
+ label: r(l)("gateway_services.form.fields.client_certificate.label"),
1554
1548
  "label-attributes": {
1555
- info: o(l)("gateway_services.form.fields.client_certificate.tooltip"),
1549
+ info: r(l)("gateway_services.form.fields.client_certificate.tooltip"),
1556
1550
  tooltipAttributes: { maxWidth: "400" }
1557
1551
  },
1558
1552
  name: "clientCert",
1559
- placeholder: o(l)("gateway_services.form.fields.client_certificate.placeholder"),
1560
- readonly: e.isReadonly,
1553
+ placeholder: r(l)("gateway_services.form.fields.client_certificate.placeholder"),
1554
+ readonly: t.isReadonly,
1561
1555
  type: "text",
1562
- onInput: r[21] || (r[21] = (u) => we("client_certificate"))
1556
+ onInput: o[21] || (o[21] = (u) => he("client_certificate"))
1563
1557
  }, null, 8, ["modelValue", "error", "label", "label-attributes", "placeholder", "readonly"])
1564
- ])) : B("", !0),
1565
- Re.value ? (S(), A("div", zt, [
1566
- n(h, {
1567
- modelValue: e.fields.ca_certificates,
1568
- "onUpdate:modelValue": r[22] || (r[22] = (u) => e.fields.ca_certificates = u),
1558
+ ])) : M("", !0),
1559
+ Te.value ? (C(), A("div", jt, [
1560
+ n(_, {
1561
+ modelValue: t.fields.ca_certificates,
1562
+ "onUpdate:modelValue": o[22] || (o[22] = (u) => t.fields.ca_certificates = u),
1569
1563
  modelModifiers: { trim: !0 },
1570
1564
  autocomplete: "off",
1571
1565
  "data-testid": "gateway-service-ca-certs-input",
1572
- error: !!e.formFieldErrors.ca_certificates,
1573
- label: o(l)("gateway_services.form.fields.ca_certificates.label"),
1566
+ error: !!t.formFieldErrors.ca_certificates,
1567
+ label: r(l)("gateway_services.form.fields.ca_certificates.label"),
1574
1568
  "label-attributes": { tooltipAttributes: { maxWidth: "400" } },
1575
- placeholder: o(l)("gateway_services.form.fields.ca_certificates.placeholder"),
1576
- readonly: e.isReadonly,
1569
+ placeholder: r(l)("gateway_services.form.fields.ca_certificates.placeholder"),
1570
+ readonly: t.isReadonly,
1577
1571
  type: "text",
1578
- onInput: r[23] || (r[23] = (u) => we("ca_certificates"))
1572
+ onInput: o[23] || (o[23] = (u) => he("ca_certificates"))
1579
1573
  }, {
1580
1574
  "label-tooltip": d(() => [
1581
- n(o(G), {
1575
+ n(r(G), {
1582
1576
  keypath: "gateway_services.form.fields.ca_certificates.tooltip",
1583
1577
  scope: "global"
1584
1578
  }, {
1585
1579
  code1: d(() => [
1586
- P("code", null, b(o(l)("gateway_services.form.fields.ca_certificates.code1")), 1)
1580
+ E("code", null, h(r(l)("gateway_services.form.fields.ca_certificates.code1")), 1)
1587
1581
  ]),
1588
1582
  code2: d(() => [
1589
- P("code", null, b(o(l)("gateway_services.form.fields.ca_certificates.code2")), 1)
1583
+ E("code", null, h(r(l)("gateway_services.form.fields.ca_certificates.code2")), 1)
1590
1584
  ]),
1591
1585
  _: 1
1592
1586
  })
1593
1587
  ]),
1594
1588
  _: 1
1595
1589
  }, 8, ["modelValue", "error", "label", "placeholder", "readonly"])
1596
- ])) : B("", !0),
1597
- ie.value ? (S(), A("div", Ht, [
1590
+ ])) : M("", !0),
1591
+ oe.value ? (C(), A("div", zt, [
1598
1592
  n(i, {
1599
- modelValue: e.fields.tls_verify_enabled,
1600
- "onUpdate:modelValue": r[24] || (r[24] = (u) => e.fields.tls_verify_enabled = u),
1593
+ modelValue: t.fields.tls_verify_enabled,
1594
+ "onUpdate:modelValue": o[24] || (o[24] = (u) => t.fields.tls_verify_enabled = u),
1601
1595
  "data-testid": "gateway-service-tls-verify-checkbox",
1602
- description: o(l)("gateway_services.form.fields.tls_verify_enabled.help"),
1603
- label: o(l)("gateway_services.form.fields.tls_verify_enabled.label"),
1596
+ description: r(l)("gateway_services.form.fields.tls_verify_enabled.help"),
1597
+ label: r(l)("gateway_services.form.fields.tls_verify_enabled.label"),
1604
1598
  "label-attributes": { tooltipAttributes: { maxWidth: "400" } }
1605
1599
  }, {
1606
1600
  tooltip: d(() => [
1607
- n(o(G), {
1601
+ n(r(G), {
1608
1602
  keypath: "gateway_services.form.fields.tls_verify_enabled.tooltip",
1609
1603
  scope: "global"
1610
1604
  }, {
1611
1605
  code1: d(() => [
1612
- P("code", null, b(o(l)("gateway_services.form.fields.tls_verify_enabled.code1")), 1)
1606
+ E("code", null, h(r(l)("gateway_services.form.fields.tls_verify_enabled.code1")), 1)
1613
1607
  ]),
1614
1608
  _: 1
1615
1609
  })
1616
1610
  ]),
1617
1611
  _: 1
1618
1612
  }, 8, ["modelValue", "description", "label"]),
1619
- e.fields.tls_verify_enabled ? (S(), A("div", Zt, [
1620
- n(_, {
1621
- modelValue: e.fields.tls_verify_value,
1622
- "onUpdate:modelValue": r[25] || (r[25] = (u) => e.fields.tls_verify_value = u),
1613
+ t.fields.tls_verify_enabled ? (C(), A("div", Ht, [
1614
+ n(y, {
1615
+ modelValue: t.fields.tls_verify_value,
1616
+ "onUpdate:modelValue": o[25] || (o[25] = (u) => t.fields.tls_verify_value = u),
1623
1617
  "data-testid": "gateway-service-tls-verify-true-option",
1624
- label: o(l)("gateway_services.form.fields.tls_verify_option.true.label"),
1618
+ label: r(l)("gateway_services.form.fields.tls_verify_option.true.label"),
1625
1619
  "selected-value": !0
1626
1620
  }, null, 8, ["modelValue", "label"])
1627
- ])) : B("", !0),
1628
- e.fields.tls_verify_enabled ? (S(), A("div", Jt, [
1629
- n(_, {
1630
- modelValue: e.fields.tls_verify_value,
1631
- "onUpdate:modelValue": r[26] || (r[26] = (u) => e.fields.tls_verify_value = u),
1621
+ ])) : M("", !0),
1622
+ t.fields.tls_verify_enabled ? (C(), A("div", Zt, [
1623
+ n(y, {
1624
+ modelValue: t.fields.tls_verify_value,
1625
+ "onUpdate:modelValue": o[26] || (o[26] = (u) => t.fields.tls_verify_value = u),
1632
1626
  "data-testid": "gateway-service-tls-verify-false-option",
1633
- label: o(l)("gateway_services.form.fields.tls_verify_option.false.label"),
1627
+ label: r(l)("gateway_services.form.fields.tls_verify_option.false.label"),
1634
1628
  "selected-value": !1
1635
1629
  }, null, 8, ["modelValue", "label"])
1636
- ])) : B("", !0)
1637
- ])) : B("", !0)
1630
+ ])) : M("", !0)
1631
+ ])) : M("", !0)
1638
1632
  ]))
1639
1633
  ]),
1640
1634
  _: 1
@@ -1645,55 +1639,55 @@ const ee = {
1645
1639
  ]),
1646
1640
  _: 1
1647
1641
  }, 8, ["description", "hide-info-header", "title"]),
1648
- n(o(Ne), {
1649
- description: o(l)("gateway_services.form.sections.general.description"),
1650
- "hide-info-header": a.hideSectionsInfo,
1651
- title: o(l)("gateway_services.form.sections.general.title")
1642
+ n(r(Ge), {
1643
+ description: r(l)("gateway_services.form.sections.general.description"),
1644
+ "hide-info-header": s.hideSectionsInfo,
1645
+ title: r(l)("gateway_services.form.sections.general.title")
1652
1646
  }, {
1653
1647
  default: d(() => [
1654
- n(h, {
1655
- modelValue: e.fields.name,
1656
- "onUpdate:modelValue": r[28] || (r[28] = (u) => e.fields.name = u),
1648
+ n(_, {
1649
+ modelValue: t.fields.name,
1650
+ "onUpdate:modelValue": o[28] || (o[28] = (u) => t.fields.name = u),
1657
1651
  modelModifiers: { trim: !0 },
1658
1652
  autocomplete: "off",
1659
1653
  "data-testid": "gateway-service-name-input",
1660
- error: oe.value,
1661
- "error-message": ne.value,
1662
- label: o(l)("gateway_services.form.fields.name.label"),
1654
+ error: ee.value,
1655
+ "error-message": ae.value,
1656
+ label: r(l)("gateway_services.form.fields.name.label"),
1663
1657
  "label-attributes": {
1664
- info: o(l)("gateway_services.form.fields.name.tooltip"),
1658
+ info: r(l)("gateway_services.form.fields.name.tooltip"),
1665
1659
  tooltipAttributes: { maxWidth: "400" }
1666
1660
  },
1667
1661
  name: "name",
1668
- placeholder: o(l)("gateway_services.form.fields.name.placeholder"),
1669
- readonly: e.isReadonly,
1662
+ placeholder: r(l)("gateway_services.form.fields.name.placeholder"),
1663
+ readonly: t.isReadonly,
1670
1664
  type: "text",
1671
- onInput: ke
1665
+ onInput: be
1672
1666
  }, null, 8, ["modelValue", "error", "error-message", "label", "label-attributes", "placeholder", "readonly"]),
1673
- n(Y, {
1667
+ n(Q, {
1674
1668
  "data-testid": "tags-collapse",
1675
1669
  "trigger-alignment": "leading",
1676
- "trigger-label": o(l)("gateway_services.form.fields.tags.collapse")
1670
+ "trigger-label": r(l)("gateway_services.form.fields.tags.collapse")
1677
1671
  }, {
1678
1672
  default: d(() => [
1679
- P("div", Qt, [
1680
- n(h, {
1681
- modelValue: e.fields.tags,
1682
- "onUpdate:modelValue": r[29] || (r[29] = (u) => e.fields.tags = u),
1673
+ E("div", Jt, [
1674
+ n(_, {
1675
+ modelValue: t.fields.tags,
1676
+ "onUpdate:modelValue": o[29] || (o[29] = (u) => t.fields.tags = u),
1683
1677
  modelModifiers: { trim: !0 },
1684
1678
  autocomplete: "off",
1685
1679
  "data-testid": "gateway-service-tags-input",
1686
- help: o(l)("gateway_services.form.fields.tags.help"),
1687
- label: o(l)("gateway_services.form.fields.tags.label"),
1680
+ help: r(l)("gateway_services.form.fields.tags.help"),
1681
+ label: r(l)("gateway_services.form.fields.tags.label"),
1688
1682
  "label-attributes": {
1689
- info: o(l)("gateway_services.form.fields.tags.tooltip"),
1683
+ info: r(l)("gateway_services.form.fields.tags.tooltip"),
1690
1684
  tooltipAttributes: { maxWidth: "400" }
1691
1685
  },
1692
1686
  name: "tags",
1693
- placeholder: o(l)("gateway_services.form.fields.tags.placeholder"),
1694
- readonly: e.isReadonly,
1687
+ placeholder: r(l)("gateway_services.form.fields.tags.placeholder"),
1688
+ readonly: t.isReadonly,
1695
1689
  type: "text",
1696
- onInput: r[30] || (r[30] = (u) => N("tags"))
1690
+ onInput: o[30] || (o[30] = (u) => N("tags"))
1697
1691
  }, null, 8, ["modelValue", "help", "label", "label-attributes", "placeholder", "readonly"])
1698
1692
  ])
1699
1693
  ]),
@@ -1702,33 +1696,33 @@ const ee = {
1702
1696
  ]),
1703
1697
  _: 1
1704
1698
  }, 8, ["description", "hide-info-header", "title"]),
1705
- e.errorMessages.length ? (S(), ue(le, {
1699
+ t.errorMessages.length ? (C(), de(ie, {
1706
1700
  key: 0,
1707
1701
  appearance: "danger",
1708
1702
  "data-testid": "form-error"
1709
1703
  }, {
1710
1704
  default: d(() => [
1711
- P("ul", Xt, [
1712
- (S(!0), A(Xe, null, Ye(e.errorMessages, (u) => (S(), A("li", { key: u }, b(u), 1))), 128))
1705
+ E("ul", Qt, [
1706
+ (C(!0), A(Qe, null, Xe(t.errorMessages, (u) => (C(), A("li", { key: u }, h(u), 1))), 128))
1713
1707
  ])
1714
1708
  ]),
1715
1709
  _: 1
1716
- })) : B("", !0)
1710
+ })) : M("", !0)
1717
1711
  ]),
1718
1712
  _: 3
1719
1713
  }, 8, ["can-submit", "config", "edit-id", "entity-type", "fetch-url", "form-fields", "is-readonly"])
1720
1714
  ]);
1721
1715
  };
1722
1716
  }
1723
- }), fo = /* @__PURE__ */ He(Yt, [["__scopeId", "data-v-84fd56e4"]]), { validateHost: eo, validatePort: to, validateProtocol: oo, validatePath: ro } = ee.useUrlValidators(), po = () => ({
1724
- validateHost: eo,
1725
- validatePort: to,
1726
- validateProtocol: oo,
1727
- validatePath: ro
1717
+ }), uo = /* @__PURE__ */ ze(Xt, [["__scopeId", "data-v-f4bc8c36"]]), { validateHost: Yt, validatePort: eo, validateProtocol: to, validatePath: oo } = X.useUrlValidators(), fo = () => ({
1718
+ validateHost: Yt,
1719
+ validatePort: eo,
1720
+ validateProtocol: to,
1721
+ validatePath: oo
1728
1722
  });
1729
1723
  export {
1730
- uo as GatewayServiceConfigCard,
1731
- fo as GatewayServiceForm,
1732
- co as GatewayServiceList,
1733
- po as useUrlValidator
1724
+ co as GatewayServiceConfigCard,
1725
+ uo as GatewayServiceForm,
1726
+ no as GatewayServiceList,
1727
+ fo as useUrlValidator
1734
1728
  };