@kong-ui-public/entities-gateway-services 3.11.37 → 3.11.39
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,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as De,
|
|
1
|
+
import { defineComponent as De, ref as R, computed as b, watch as Be, onBeforeMount as Ze, resolveComponent as L, createElementBlock as T, openBlock as V, createVNode as c, unref as o, createSlots as Ce, withCtx as d, createTextVNode as K, toDisplayString as k, createElementVNode as I, withModifiers as xe, createBlock as de, Teleport as Ke, createCommentVNode as D, reactive as Le, onMounted as Je, Transition as Me, Fragment as Qe, renderList as Xe, renderSlot as Ye } from "vue";
|
|
2
2
|
import { useRouter as Oe } from "vue-router";
|
|
3
3
|
import { BookIcon as qe, AddIcon as et, ServicesIcon as tt } from "@kong/icons";
|
|
4
4
|
import { createI18n as ot, i18nTComponent as rt } from "@kong-ui-public/i18n";
|
|
5
|
-
import { useAxios as We, useTableState as it, useFetcher as lt, useDeleteUrlBuilder as st, FetcherStatus as at, EntityBaseTable as nt,
|
|
5
|
+
import { useAxios as We, useTableState as it, useFetcher as lt, useDeleteUrlBuilder as st, FetcherStatus as at, EntityBaseTable as nt, PermissionsWrapper as ce, TableTags as ct, EntityFilter as dt, EntityEmptyState as ut, EntityToggleModal as ft, EntityDeleteModal as pt, EntityTypes as mt, useHelpers as je, ConfigurationSchemaType as vt, ConfigurationSchemaSection as we, EntityBaseConfigCard as gt, SupportedEntityType as ze, useErrors as yt, useValidators as _t, EntityBaseFormType as Ge, useGatewayFeatureSupported as ht, EntityBaseForm as bt, EntityFormSection as Ne } from "@kong-ui-public/entities-shared";
|
|
6
6
|
const wt = {
|
|
7
7
|
create: "New gateway service",
|
|
8
8
|
serverless_create: "Add a Service",
|
|
@@ -521,7 +521,7 @@ const Y = {
|
|
|
521
521
|
onState: o(M)
|
|
522
522
|
}, Ce({
|
|
523
523
|
"toolbar-filter": d(() => [
|
|
524
|
-
c(o(
|
|
524
|
+
c(o(dt), {
|
|
525
525
|
modelValue: B.value,
|
|
526
526
|
"onUpdate:modelValue": v[0] || (v[0] = (p) => B.value = p),
|
|
527
527
|
config: Pe.value
|
|
@@ -610,7 +610,7 @@ const Y = {
|
|
|
610
610
|
}, 1032, ["auth-function"])
|
|
611
611
|
]),
|
|
612
612
|
tags: d(({ rowValue: p }) => [
|
|
613
|
-
c(o(
|
|
613
|
+
c(o(ct), { tags: p }, null, 8, ["tags"])
|
|
614
614
|
]),
|
|
615
615
|
created_at: d(({ rowValue: p }) => [
|
|
616
616
|
K(k(o(g)(p)), 1)
|
|
@@ -932,16 +932,9 @@ const Y = {
|
|
|
932
932
|
}
|
|
933
933
|
}), q = {
|
|
934
934
|
name: "Kong-Air-Flights-API",
|
|
935
|
-
tags: [],
|
|
936
935
|
protocol: "https",
|
|
937
936
|
path: "/flights",
|
|
938
|
-
read_timeout: 6e4,
|
|
939
|
-
retries: 5,
|
|
940
937
|
host: "api.kong-air.com",
|
|
941
|
-
connect_timeout: 6e4,
|
|
942
|
-
ca_certificates: null,
|
|
943
|
-
client_certificate: null,
|
|
944
|
-
write_timeout: 6e4,
|
|
945
938
|
port: 443
|
|
946
939
|
}, Kt = { class: "kong-ui-entities-gateway-service-form" }, Lt = {
|
|
947
940
|
key: 0,
|
|
@@ -1290,7 +1283,7 @@ const Y = {
|
|
|
1290
1283
|
onSubmit: z
|
|
1291
1284
|
}, {
|
|
1292
1285
|
"form-actions": d(() => [
|
|
1293
|
-
|
|
1286
|
+
Ye(t.$slots, "form-actions", {
|
|
1294
1287
|
canSubmit: oe.value,
|
|
1295
1288
|
cancel: v,
|
|
1296
1289
|
submit: z
|
|
@@ -1732,7 +1725,7 @@ const Y = {
|
|
|
1732
1725
|
}, {
|
|
1733
1726
|
default: d(() => [
|
|
1734
1727
|
I("ul", oo, [
|
|
1735
|
-
(V(!0), T(
|
|
1728
|
+
(V(!0), T(Qe, null, Xe(e.errorMessages, (u) => (V(), T("li", { key: u }, k(u), 1))), 128))
|
|
1736
1729
|
])
|
|
1737
1730
|
]),
|
|
1738
1731
|
_: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x["kong-ui-public-entities-gateway-services"]={},x.Vue,x.VueRouter,x.KongIcons,x["kong-ui-public-i18n"],x["kong-ui-public-entities-shared"]))})(this,function(x,e,ke,te,Ce,u){"use strict";const Ne={actions:{create:"New gateway service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New gateway service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},empty_state_v2:{create:"New gateway service",title:"Configure your first gateway service",group:"Services created in gateways within this group will automatically appear here.",description:"Gateway services represent backend APIs or microservices that receive traffic routed through the gateway."},form:{buttons:{try_sample:"Try sample API"},errors:{host:{empty:"Host cannot be empty",invalid:"Invalid host"},port:{type:"Port must be a number",invalid:"Port must be between 0 and 65535"},path:{prefix:"Path must begin with /",invalid:"Path should not include characters outside of the reserved list of RFC 3986"},protocol:{empty:"Protocol cannot be empty",invalid:"Protocol - value must be one of http, https, grpc, grpcs, tcp, udp, tls, tls_passthrough, ws, wss"},url:{invalid:"The URL must follow a valid format. Example: https://api.kong-air.com/flights"}},sections:{general:{title:"General Information",description:"Provide a name and tags to help identify and manage this service."},keys:{title:"Service endpoint",description:"Define where this service should send requests.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, host, port and path",url:{label:"Full URL",description:"Define the service using a single, complete API URL for simple setup."},protocol:{label:"Protocol, host, port, and path",description:"Manually specify each component of the API’s URL for advanced configurations."},viewAdvancedFields:"View advanced fields"}},fields:{upstream_url:{label:"Full URL",placeholder:"e.g. https://api.kong-air.com/flights",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"e.g. api.kong-air.com",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"e.g. /sample",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",collapse:"Add tags"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function xe(){const s=Ce.createI18n("en-us",Ne);return{i18n:s,i18nT:Ce.i18nTComponent(s)}}function Se(){return{getPortFromProtocol:(F,p)=>{const n=[80,443],a=Number(p);if((a||a===0)&&!n.includes(a))return a;switch(F){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}function Ie(){const{i18n:{t:s}}=M.useI18n();return{validateHost:g=>{if(!g||g.trim()==="")return s("gateway_services.form.errors.host.empty");const N=/^(?!:\/\/)([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})?$/;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(g)||N.test(g)?"":s("gateway_services.form.errors.host.invalid")},validateProtocol:(g,N)=>!g||g.trim()===""?s("gateway_services.form.errors.protocol.empty"):(g=g.slice(0,-1),N.find(l=>{if(l.value===g)return l})===void 0?s("gateway_services.form.errors.protocol.invalid"):""),validatePath:g=>!g||g===""?"":g.startsWith("/")?/[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]/.test(g)?s("gateway_services.form.errors.path.invalid"):"":s("gateway_services.form.errors.path.prefix"),validatePort:g=>{if(g==null||g==="")return"";const N=typeof g=="string"?parseInt(g,10):g;return isNaN(N)?s("gateway_services.form.errors.port.type"):N<0||N>65535?s("gateway_services.form.errors.port.invalid"):""}}}const M={useI18n:xe,usePortFromProtocol:Se,useUrlValidators:Ie},oe="/v2/control-planes/{controlPlaneId}/core-entities",re="/{workspace}",Z={list:{konnect:{all:`${oe}/services`},kongManager:{all:`${re}/services`}},form:{konnect:{create:`${oe}/services`,validate:`${oe}/v1/schemas/json/service/validate`,edit:`${oe}/services/{id}`},kongManager:{create:`${re}/services`,validate:`${re}/schemas/services/validate`,edit:`${re}/services/{id}`}}},Pe="#00abd2",Te="24px",Be={class:"kong-ui-entities-gateway-services-list"},Fe={class:"button-row"},Ae={class:"empty-state-icon-gateway"},$e={key:1},Ue=e.defineComponent({__name:"GatewayServiceList",props:{config:{type:Object,required:!0,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)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},isServerless:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle:success"],setup(s,{emit:F}){var z;const p=F,n=s,{i18n:{t:a,formatUnixTimeStamp:g}}=M.useI18n(),N=ke.useRouter(),{axiosInstance:A}=u.useAxios((z=n.config)==null?void 0:z.axiosRequestConfig),{hasRecords:l,handleStateChange:P}=u.useTableState(()=>T.value),k=e.computed(()=>l.value&&n.config.app==="konnect"),ue=e.computed(()=>!n.enableV2EmptyStates&&n.config.app==="konnect"),ie=e.computed(()=>n.config.app!=="kongManager"||!!n.config.disableSorting),J={name:{label:a("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...n.config.showControlPlaneColumn?{control_plane:{label:a("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:a("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:a("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:a("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:a("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:a("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:a("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:a("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:a("gateway_services.list.table_headers.created_at"),sortable:!0}},le={columnVisibility:{created_at:!1}},me=J,W=e.computed(()=>{var m,y;let d=`${n.config.apiBaseUrl}${Z.list[n.config.app].all}`;return n.config.app==="konnect"?d=d.replace(/{controlPlaneId}/gi,((m=n.config)==null?void 0:m.controlPlaneId)||""):n.config.app==="kongManager"&&(d=d.replace(/\/{workspace}/gi,(y=n.config)!=null&&y.workspace?`/${n.config.workspace}`:"")),d}),ge=e.computed(()=>n.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${W.value}`):new URL(W.value)),T=e.ref(""),ye=e.computed(()=>{const d=n.config.app==="konnect"||n.config.isExactMatch;if(d)return{isExactMatch:d,placeholder:a(`search.placeholder.${n.config.app}`)};const{name:m,enabled:y,protocol:V,host:R,port:C,path:D}=J;return{isExactMatch:d,fields:{name:m,enabled:y,protocol:V,host:R,port:C,path:D},schema:n.config.filterSchema}}),{fetcher:K,fetcherState:v,fetcherCacheKey:L}=u.useFetcher(e.computed(()=>({...n.config,cacheIdentifier:n.cacheIdentifier})),W),Q=()=>{T.value=""},_e=()=>{L.value++},t=e.ref(null),b=e.computed(()=>({ctaPath:n.config.createRoute,ctaText:ee.value?n.isServerless?a("actions.serverless_create"):a("actions.create"):void 0,message:`${a("gateway_services.list.empty_state.description")}${n.config.additionMessageForEmptyState?` ${n.config.additionMessageForEmptyState}`:""}`,title:ee.value?n.isServerless?a("gateway_services.list.empty_state.serverless_title"):a("gateway_services.list.empty_state.title"):a("gateway_services.title")})),X=e.ref(!1),S=e.ref(null),j=e.computed(()=>{const d={action:"disable",id:"",name:""};if(S.value){const{enabled:m,id:y,name:V}=S.value;d.action=m?"disable":"enable",d.id=y,d.name=V||y}return d}),he=d=>{X.value=!0,S.value=d},U=()=>{X.value=!1,S.value=null},se=async()=>{var V,R;if(!await((V=n.canEdit)==null?void 0:V.call(n,S.value))||!S.value)return;const m=`${ge.value.href}/${S.value.id}`,y=!S.value.enabled;try{const{data:C}=((R=n.config)==null?void 0:R.app)==="konnect"?await A.put(m,{...S.value,enabled:y}):await A.patch(m,{...S.value,enabled:y});p("toggle:success",C),S.value.enabled=y}catch(C){p("error",C)}},ae=d=>{n.config.getControlPlaneRoute&&N.push(n.config.getControlPlaneRoute(d))},ne=async(d,m)=>{const y=d.id;if(!await m(y)){p("copy:error",{entity:d,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:d,field:"id",message:a("copy.success",{val:y})})},ce=async(d,m)=>{const y=JSON.stringify(d);if(!await m(y)){p("copy:error",{entity:d,message:a("errors.copy")});return}p("copy:success",{entity:d,message:a("copy.success_brief")})},de=async d=>{var y;await((y=n.canRetrieve)==null?void 0:y.call(n,d))&&N.push(n.config.getViewRoute(d.id))},we=d=>({label:a("actions.view"),to:n.config.getViewRoute(d)}),q=d=>({label:a("actions.edit"),to:n.config.getEditRoute(d)}),I=e.ref(void 0),$=e.ref(!1),G=e.ref(!1),Y=e.ref(""),be=u.useDeleteUrlBuilder(n.config,W.value),fe=d=>{I.value=d,$.value=!0,Y.value=""},pe=()=>{$.value=!1,I.value=void 0},ve=async()=>{var d,m,y;if((d=I.value)!=null&&d.id){G.value=!0;try{await A.delete(be(I.value.id)),p("delete:success",I.value),pe(),L.value++}catch(V){Y.value=((y=(m=V.response)==null?void 0:m.data)==null?void 0:y.message)||V.message||a("errors.delete"),p("error",V)}finally{G.value=!1}}},Ve=()=>{N.push(n.config.createRoute)};e.watch(v,d=>{var m,y,V;if(d.status===u.FetcherStatus.Error){t.value={title:a("errors.general")},(V=(y=(m=d.error)==null?void 0:m.response)==null?void 0:y.data)!=null&&V.message&&(t.value.message=d.error.response.data.message),p("error",d.error);return}t.value=null});const ee=e.ref(!1);return e.onBeforeMount(async()=>{ee.value=await n.canCreate()}),(d,m)=>{const y=e.resolveComponent("KButton"),V=e.resolveComponent("KBadge"),R=e.resolveComponent("KInputSwitch"),C=e.resolveComponent("KDropdownItem"),D=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Be,[e.createVNode(e.unref(u.EntityBaseTable),{"cache-identifier":s.cacheIdentifier,"default-table-preferences":le,"disable-sorting":ie.value,"empty-state-options":b.value,"enable-entity-actions":"","error-message":t.value,fetcher:e.unref(K),"fetcher-cache-key":e.unref(L),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:T.value,"table-headers":e.unref(me),onClearSearchInput:Q,"onClick:row":m[5]||(m[5]=f=>de(f)),onSort:_e,onState:e.unref(P)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(u.EntityFilter),{modelValue:T.value,"onUpdate:modelValue":m[0]||(m[0]=f=>T.value=f),config:ye.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",Fe,[k.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-learn-more-button",icon:"",onClick:m[1]||(m[1]=f=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(te.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:s.useActionOutside?"medium":"large",to:s.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(te.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:f})=>[e.createElementVNode("b",null,e.toDisplayString(f??"-"),1)]),control_plane:e.withCtx(({row:f})=>{var o;return[(o=f.x_meta)!=null&&o.cluster_id?(e.openBlock(),e.createBlock(V,{key:0,tooltip:f.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(r=>ae(f.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",$e,"-"))]}),enabled:e.withCtx(({row:f})=>[e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canEdit(f),"force-show":""},{default:e.withCtx(({isAllowed:o})=>[e.createElementVNode("div",{onClick:m[4]||(m[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(R,{modelValue:f.enabled,"onUpdate:modelValue":r=>f.enabled=r,"data-testid":`row-${f.id}-toggle-input`,disabled:!o,onClick:e.withModifiers(r=>he(f),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:f})=>[e.createVNode(e.unref(u.TableTags),{tags:f},null,8,["tags"])]),created_at:e.withCtx(({rowValue:f})=>[e.createTextVNode(e.toDisplayString(e.unref(g)(f)),1)]),updated_at:e.withCtx(({row:f,rowValue:o})=>[e.createTextVNode(e.toDisplayString(e.unref(g)(o??f.created_at)),1)]),actions:e.withCtx(({row:f})=>[e.createVNode(D,null,{default:e.withCtx(({copyToClipboard:o})=>[e.createVNode(C,{"data-testid":"action-entity-copy-id",onClick:r=>ne(f,o)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(D,null,{default:e.withCtx(({copyToClipboard:o})=>[e.createVNode(C,{"data-testid":"action-entity-copy-json",onClick:r=>ce(f,o)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canRetrieve(f)},{default:e.withCtx(()=>[e.createVNode(C,{"data-testid":"action-entity-view","has-divider":"",item:we(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canEdit(f)},{default:e.withCtx(()=>[e.createVNode(C,{"data-testid":"action-entity-edit",item:q(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canDelete(f)},{default:e.withCtx(()=>[e.createVNode(C,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:o=>fe(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!e.unref(l)&&ue.value?{name:"outside-actions",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(y,{appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-more-button",icon:"",onClick:m[2]||(m[2]=f=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(te.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!T.value&&s.enableV2EmptyStates&&s.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(u.EntityEmptyState),{"action-button-text":e.unref(a)("gateway_services.empty_state_v2.create"),appearance:"secondary","can-create":()=>s.canCreate(),"data-testid":"gateway-services-entity-empty-state",description:e.unref(a)("gateway_services.empty_state_v2.description"),"learn-more":s.config.app==="konnect",title:e.unref(a)("gateway_services.empty_state_v2.title"),"onClick:create":Ve,"onClick:learnMore":m[3]||(m[3]=o=>d.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ae,[e.createVNode(e.unref(te.ServicesIcon),{color:e.unref(Pe),size:e.unref(Te)},null,8,["color","size"])])]),_:2},[(f=s.config)!=null&&f.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(u.EntityToggleModal),{action:j.value.action,"entity-id":j.value.id,"entity-name":j.value.name,"entity-type":e.unref(a)("glossary.gateway_services"),"on-confirm":se,visible:X.value,onCancel:U,onProceed:U},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(u.EntityDeleteModal),{"action-pending":G.value,description:e.unref(a)("actions.delete.description"),"entity-name":I.value&&(I.value.name||I.value.id),"entity-type":e.unref(u.EntityTypes).GatewayService,error:Y.value,title:e.unref(a)("actions.delete.title"),visible:$.value,onCancel:pe,onProceed:ve},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),Ee=(s,F)=>{const p=s.__vccOpts||s;for(const[n,a]of F)p[n]=a;return p},Re=Ee(Ue,[["__scopeId","data-v-210f19c5"]]),De={class:"kong-ui-gateway-service-entity-config-card"},Me=e.defineComponent({__name:"GatewayServiceConfigCard",props:{config:{type:Object,required:!0,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)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(s){const F=s,{i18n:{t:p},i18nT:n}=M.useI18n(),a=e.computed(()=>Z.form[F.config.app].edit),{getPropValue:g}=u.useHelpers(),N=(l,P)=>g(l,P)===!0?p("gateway_services.form.fields.tls_verify_option.true.display"):p("gateway_services.form.fields.tls_verify_option.false.display"),A=e.ref({id:{},name:{tooltip:p("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.protocol.tooltip")},host:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.host.tooltip")},path:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.path.tooltip")},port:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.port.tooltip")},tags:{tooltip:p("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:p("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:p("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:p("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:p("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:p("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:u.ConfigurationSchemaType.BadgeTag,label:p("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:p("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(l,P)=>(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(e.unref(u.EntityBaseConfigCard),{config:s.config,"config-card-doc":s.configCardDoc,"config-schema":A.value,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":a.value,"hide-title":s.hideTitle,"onFetch:error":P[0]||(P[0]=k=>l.$emit("fetch:error",k)),"onFetch:success":P[1]||(P[1]=k=>l.$emit("fetch:success",k)),onLoading:P[2]||(P[2]=k=>l.$emit("loading",k))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(k=>[e.createTextVNode(e.toDisplayString(typeof e.unref(g)("rowValue",k)=="boolean"?N("rowValue",k):e.unref(p)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(k=>[e.createTextVNode(e.toDisplayString(e.unref(g)("rowValue",k)?e.unref(g)("rowValue",k).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}}),B={name:"Kong-Air-Flights-API",tags:[],protocol:"https",path:"/flights",read_timeout:6e4,retries:5,host:"api.kong-air.com",connect_timeout:6e4,ca_certificates:null,client_certificate:null,write_timeout:6e4,port:443},Ke={class:"kong-ui-entities-gateway-service-form"},Le={key:0,class:"gateway-service-form-general-info"},qe={class:"gateway-service-form-group-selection-wrapper"},Ge={key:0,class:"gateway-service-form-group-fields"},Oe={key:0,class:"gateway-service-form-group-fields"},We={key:0},je={key:0,class:"gateway-service-form-advanced-fields"},ze={class:"gateway-service-form-margin-bottom"},He={class:"gateway-service-form-margin-bottom"},Ze={class:"gateway-service-form-margin-bottom"},Je={class:"gateway-service-form-margin-bottom"},Qe={key:0,class:"gateway-service-form-margin-bottom"},Xe={key:1,class:"gateway-service-form-margin-bottom"},Ye={key:2,class:"gateway-service-form-margin-bottom"},et={key:0,class:"checkbox-aligned-radio"},tt={key:1,class:"checkbox-aligned-radio"},ot={class:"gateway-service-form-tags"},rt={class:"form-error-list"},it=Ee(e.defineComponent({__name:"GatewayServiceForm",props:{config:{type:Object,required:!0,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)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1},hideTrySampleApiButton:{type:Boolean,required:!1,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated","try-sample-api"],setup(s,{expose:F,emit:p}){var f;const n=p,a=s,g=e.ref(!0),N=ke.useRouter(),{i18nT:A,i18n:{t:l}}=M.useI18n(),{getErrorFieldsFromError:P}=u.useErrors(),{axiosInstance:k}=u.useAxios((f=a.config)==null?void 0:f.axiosRequestConfig),ue=u.useValidators(),{validateHost:ie,validatePath:J,validatePort:le,validateProtocol:me}=M.useUrlValidators(),{objectsAreEqual:W}=u.useHelpers(),ge=e.computed(()=>Z.form[a.config.app].edit),T=e.computed(()=>a.gatewayServiceId?u.EntityBaseFormType.Edit:u.EntityBaseFormType.Create),ye=e.ref(!1),K=e.computed(()=>!!a.gatewayServiceId),v=e.ref(K.value?"protocol":"url"),L=M.usePortFromProtocol(),Q=e.ref(""),_e=e.computed(()=>!!Q.value||!!q("name")),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:"",enabled:!0},isReadonly:!1,errorMessages:[],formFieldErrors:{host:"",port:"",path:"",name:"",url:"",tags:"",retries:"",connect_timeout:"",write_timeout:"",read_timeout:"",client_certificate:"",ca_certificates:"",tls_verify_enabled:"",tls_verify_value:""}}),b=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:"",enabled:!0}),X=a.config.app==="konnect"||u.useGatewayFeatureSupported({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),S=[{label:l("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:l("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:l("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:l("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...X?[{label:l("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:l("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:l("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],j={url:"url",protocol:"protocol"},he=(o,r)=>{r.value},U=o=>o?parseFloat(o):0,se=()=>{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},ae=()=>{g.value=!0,$(),t.errorMessages=[],se()},ne=()=>{switch(se(),t.fields.name=`${B.name}-${new Date().toISOString().replace(/\D/g,"").slice(0,17)}`,v.value){case"url":t.fields.url=`${B.protocol}://${B.host}${B.path}`;break;case"protocol":t.fields.host=B.host,t.fields.path=B.path,t.fields.protocol=B.protocol,t.fields.port=B.port;break;default:t.fields.url=`${B.protocol}://${B.host}${B.path}`}},ce=()=>{if($(),t.fields.url.length)try{const o=new URL(t.fields.url),r=me(o.protocol,S);if(r)throw new Error(r);t.fields.protocol=o.protocol.slice(0,-1);const _=ie(o.hostname);if(_)throw new Error(_);t.fields.host=o.hostname;const E=J(o.pathname);if(E)throw new Error(E);t.fields.path=o.pathname;const h=le(o.port);if(h)throw new Error(h);const w=Number(o.port);ye.value=!!w,t.fields.port=w||L.getPortFromProtocol(t.fields.protocol),n("url-valid:success")}catch{n("url-valid:error",l("gateway_services.form.errors.url.invalid")),t.formFieldErrors.url=l("gateway_services.form.errors.url.invalid")}},de=o=>{$(o)},we=e.computed(()=>!!t.formFieldErrors.url||!!t.formFieldErrors.host||!!t.formFieldErrors.port),q=o=>{if(t.errorMessages.length)return"";const r=t.formFieldErrors;return r[o]?r[o]:""},I=o=>{$(o??void 0);const r=ie(t.fields.host);r&&(t.formFieldErrors.host=r);const _=J(t.fields.path);_&&(t.formFieldErrors.path=_);const E=le(t.fields.port);E&&(t.formFieldErrors.port=E),G.value?n("url-valid:success"):n("url-valid:error",t.errorMessages.join(",")||l("gateway_services.form.errors.url.invalid"))},$=o=>{if(o)t.formFieldErrors[o]="";else for(let r in t.formFieldErrors)t.formFieldErrors[r]="";t.errorMessages=[]},G=e.computed(()=>{for(let o in t.formFieldErrors)if(t.formFieldErrors[o].length)return!1;return!0}),Y=()=>{t.fields.url&&v.value==="url"?ce():I()},be=()=>`new-service-${new Date().toISOString().replace(/\D/g,"").slice(0,17)}`,fe=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),pe=e.computed(()=>{if(v.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return v.value==="protocol"&&o}),ve=e.computed(()=>{if(v.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return v.value==="protocol"&&o}),Ve=e.computed(()=>{if(v.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return v.value==="protocol"&&o}),ee=o=>{$("name"),Q.value=ue.utf8Name(o)},z=e.computed(()=>{const o=!K.value||!W(t.fields,b),r=v.value==="url"&&!!t.fields.url&&G.value,_=v.value==="protocol"&&!!t.fields.host&&G.value;return o&&(r||_)}),d=o=>{var r,_,E;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((r=o==null?void 0:o.tags)==null?void 0:r.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((_=o==null?void 0:o.ca_certificates)==null?void 0:_.join(","))||"",t.fields.client_certificate=((E=o==null?void 0:o.client_certificate)==null?void 0:E.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,t.fields.enabled=(o==null?void 0:o.enabled)??!0,Object.assign(b,t.fields)},m=()=>{N.push(a.config.cancelRoute)},y=e.computed(()=>{var r,_;let o=`${a.config.apiBaseUrl}${Z.form[a.config.app].validate}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((r=a.config)==null?void 0:r.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(_=a.config)!=null&&_.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.gatewayServiceId),o}),V=e.computed(()=>{var r,_;let o=`${a.config.apiBaseUrl}${Z.form[a.config.app][T.value]}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((r=a.config)==null?void 0:r.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(_=a.config)!=null&&_.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.gatewayServiceId),o}),R=o=>{let r="";o.url&&(r=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(r))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},C=e.computed(()=>{var r,_,E,h;const o={name:t.fields.name||null,tags:t.fields.tags?(E=(_=(r=t.fields.tags)==null?void 0:r.split(","))==null?void 0:_.map(w=>String(w||"").trim()))==null?void 0:E.filter(w=>w!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(h=t.fields.ca_certificates)==null?void 0:h.split(",").filter(w=>w!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url,enabled:t.fields.enabled};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),fe.value||(o.path=null),T.value==="create"?v.value==="url"?(delete o.protocol,delete o.host,delete o.path,a.config.app==="konnect"&&delete o.port):delete o.url:T.value==="edit"&&delete o.url,o}),D=async()=>{var o,r,_,E;try{t.isReadonly=!0;const h=C.value;R(h);let w;if(await k.post(y.value,h),T.value==="create"?w=await k.post(V.value,h):T.value==="edit"&&(w=((o=a.config)==null?void 0:o.app)==="konnect"?await k.put(V.value,h):await k.patch(V.value,h)),w){const{data:i}=w;t.fields.name=(i==null?void 0:i.name)||"",t.fields.port=i.port||L.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=((r=i==null?void 0:i.client_certificate)==null?void 0:r.id)||"",t.fields.ca_certificates=(_=i==null?void 0:i.ca_certificates)!=null&&_.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=(E=i==null?void 0:i.tags)!=null&&E.length?i.tags.join(", "):"",t.fields.enabled=(i==null?void 0:i.enabled)??!0,Object.assign(b,t.fields),n("update",w==null?void 0:w.data)}return w}catch(h){const{fields:w,messages:i}=P(h);t.errorMessages=i,w.length&&w.forEach(O=>{const H=O.field;H==="client_certificate.id"?t.formFieldErrors.client_certificate=O.message:H.startsWith("ca_certificates")?t.formFieldErrors.ca_certificates=O.message:Object.keys(t.formFieldErrors).includes(H)&&(t.formFieldErrors={...t.formFieldErrors,[H]:O.message})}),n("error",h)}finally{t.isReadonly=!1}};return e.watch(()=>a.gatewayServiceId,()=>{Object.assign(t.fields,b)}),e.watch(t.fields,o=>{t.fields.port=L.getPortFromProtocol(o.protocol,String(o.port)),n("model-updated",C.value)}),e.onMounted(()=>{n("model-updated",C.value),K.value||(t.fields.name=be())}),F({validateUrl:Y,getPayload:C,saveFormData:D,canSubmit:z,initForm:d}),(o,r)=>{const _=e.resolveComponent("KRadio"),E=e.resolveComponent("KButton"),h=e.resolveComponent("KInput"),w=e.resolveComponent("KSelect"),i=e.resolveComponent("KCheckbox"),O=e.resolveComponent("KCollapse"),H=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(e.unref(u.EntityBaseForm),{"can-submit":z.value,config:s.config,"edit-id":s.gatewayServiceId,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":ge.value,"form-fields":C.value,"is-readonly":t.isReadonly,onCancel:m,"onFetch:error":r[31]||(r[31]=c=>o.$emit("error",c)),"onFetch:success":d,onLoading:r[32]||(r[32]=c=>o.$emit("loading",c)),onSubmit:D},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:z.value,cancel:m,submit:D},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(l)("gateway_services.form.sections.keys.description"),"hide-info-header":s.hideSectionsInfo,title:e.unref(l)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[K.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",qe,[e.createVNode(_,{modelValue:v.value,"onUpdate:modelValue":r[0]||(r[0]=c=>v.value=c),card:"","card-orientation":"horizontal","data-testid":"gateway-service-url-radio",description:e.unref(l)("gateway_services.form.sections.keys.url.description"),label:e.unref(l)("gateway_services.form.sections.keys.url.label"),"selected-value":j.url,onChange:ae},null,8,["modelValue","description","label","selected-value"]),e.createVNode(_,{modelValue:v.value,"onUpdate:modelValue":r[1]||(r[1]=c=>v.value=c),card:"","card-orientation":"horizontal","checked-group":"protocol","data-testid":"gateway-service-protocol-radio",description:e.unref(l)("gateway_services.form.sections.keys.protocol.description"),label:e.unref(l)("gateway_services.form.sections.keys.protocol.label"),"selected-value":j.protocol,onChange:ae},null,8,["modelValue","description","label","selected-value"])]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[v.value==="url"?(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(h,{modelValue:t.fields.url,"onUpdate:modelValue":r[2]||(r[2]=c=>t.fields.url=c),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",error:we.value,"error-message":q("url"),label:e.unref(l)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:s.config.app==="konnect"?e.unref(l)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(l)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(l)("gateway_services.form.fields.upstream_url.placeholder"),required:"",onInput:ce},e.createSlots({_:2},[s.hideTrySampleApiButton?void 0:{name:"after",fn:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary","data-testid":"try-sample-api",size:"small",onClick:ne},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("gateway_services.form.buttons.try_sample")),1)]),_:1})]),key:"0"}]),1032,["modelValue","error","error-message","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0)]),_:1})])),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[v.value==="protocol"||K.value?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(w,{modelValue:t.fields.protocol,"onUpdate:modelValue":r[3]||(r[3]=c=>t.fields.protocol=c),"data-testid":"gateway-service-protocol-select",items:S,label:e.unref(l)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:r[4]||(r[4]=c=>he(t.fields.protocol,c))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(h,{modelValue:t.fields.host,"onUpdate:modelValue":r[5]||(r[5]=c=>t.fields.host=c),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",error:!!t.formFieldErrors.host,"error-message":q("host"),label:e.unref(l)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(l)("gateway_services.form.fields.host.placeholder"),required:"",onInput:r[6]||(r[6]=c=>I("host"))},e.createSlots({_:2},[s.hideTrySampleApiButton?void 0:{name:"after",fn:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",size:"small",onClick:ne},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("gateway_services.form.buttons.try_sample")),1)]),_:1})]),key:"0"}]),1032,["modelValue","error","error-message","label","label-attributes","placeholder"]),fe.value?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(h,{modelValue:t.fields.path,"onUpdate:modelValue":r[7]||(r[7]=c=>t.fields.path=c),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",error:!!t.formFieldErrors.path,"error-message":q("path"),label:e.unref(l)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(l)("gateway_services.form.fields.path.placeholder"),onInput:r[8]||(r[8]=c=>I("path"))},null,8,["modelValue","error","error-message","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(h,{modelValue:t.fields.port,"onUpdate:modelValue":[r[9]||(r[9]=c=>t.fields.port=c),r[11]||(r[11]=()=>{t.fields.port=U(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",error:!!t.formFieldErrors.port,"error-message":q("port"),label:e.unref(l)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number",onInput:r[10]||(r[10]=c=>I("port"))},null,8,["modelValue","error","error-message","label","label-attributes"])])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(O,{modelValue:g.value,"onUpdate:modelValue":r[27]||(r[27]=c=>g.value=c),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(l)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",ze,[e.createVNode(h,{modelValue:t.fields.retries,"onUpdate:modelValue":[r[12]||(r[12]=c=>t.fields.retries=c),r[13]||(r[13]=()=>{t.fields.retries=U(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(l)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",He,[e.createVNode(h,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[r[14]||(r[14]=c=>t.fields.connect_timeout=c),r[15]||(r[15]=()=>{t.fields.connect_timeout=U(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(l)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ze,[e.createVNode(h,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[r[16]||(r[16]=c=>t.fields.write_timeout=c),r[17]||(r[17]=()=>{t.fields.write_timeout=U(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(l)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Je,[e.createVNode(h,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[r[18]||(r[18]=c=>t.fields.read_timeout=c),r[19]||(r[19]=()=>{t.fields.read_timeout=U(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(l)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),pe.value?(e.openBlock(),e.createElementBlock("div",Qe,[e.createVNode(h,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":r[20]||(r[20]=c=>t.fields.client_certificate=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",error:!!t.formFieldErrors.client_certificate,label:e.unref(l)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(l)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[21]||(r[21]=c=>de("client_certificate"))},null,8,["modelValue","error","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),ve.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.createVNode(h,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":r[22]||(r[22]=c=>t.fields.ca_certificates=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",error:!!t.formFieldErrors.ca_certificates,label:e.unref(l)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(l)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[23]||(r[23]=c=>de("ca_certificates"))},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(A),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","error","label","placeholder","readonly"])])):e.createCommentVNode("",!0),Ve.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.createVNode(i,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":r[24]||(r[24]=c=>t.fields.tls_verify_enabled=c),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(l)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(l)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(A),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",et,[e.createVNode(_,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":r[25]||(r[25]=c=>t.fields.tls_verify_value=c),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(l)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(_,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":r[26]||(r[26]=c=>t.fields.tls_verify_value=c),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(l)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))]),_:1})]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(l)("gateway_services.form.sections.general.description"),"hide-info-header":s.hideSectionsInfo,title:e.unref(l)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:t.fields.name,"onUpdate:modelValue":r[28]||(r[28]=c=>t.fields.name=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:_e.value,"error-message":Q.value,label:e.unref(l)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(l)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:ee},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(O,{"data-testid":"tags-collapse","trigger-alignment":"leading","trigger-label":e.unref(l)("gateway_services.form.fields.tags.collapse")},{default:e.withCtx(()=>[e.createElementVNode("div",ot,[e.createVNode(h,{modelValue:t.fields.tags,"onUpdate:modelValue":r[29]||(r[29]=c=>t.fields.tags=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(l)("gateway_services.form.fields.tags.help"),label:e.unref(l)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(l)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[30]||(r[30]=c=>$("tags"))},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])])]),_:1},8,["trigger-label"])]),_:1},8,["description","hide-info-header","title"]),t.errorMessages.length?(e.openBlock(),e.createBlock(H,{key:0,appearance:"danger","data-testid":"form-error"},{default:e.withCtx(()=>[e.createElementVNode("ul",rt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.errorMessages,c=>(e.openBlock(),e.createElementBlock("li",{key:c},e.toDisplayString(c),1))),128))])]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["can-submit","config","edit-id","entity-type","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-2ef1cab4"]]),{validateHost:lt,validatePort:st,validateProtocol:at,validatePath:nt}=M.useUrlValidators(),ct=()=>({validateHost:lt,validatePort:st,validateProtocol:at,validatePath:nt});x.GatewayServiceConfigCard=Me,x.GatewayServiceForm=it,x.GatewayServiceList=Re,x.useUrlValidator=ct,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x["kong-ui-public-entities-gateway-services"]={},x.Vue,x.VueRouter,x.KongIcons,x["kong-ui-public-i18n"],x["kong-ui-public-entities-shared"]))})(this,function(x,e,ke,te,Ce,u){"use strict";const Ne={actions:{create:"New gateway service",serverless_create:"Add a Service",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",clear:"Clear",view:"View Details",delete:{title:"Delete a Gateway Service",description:"Deleting this Gateway Service will also remove any associated plugins. This action cannot be reversed.",menu_label:"Delete"}},search:{placeholder:{konnect:"Filter by name",kongManager:"Filter by exact name or ID"}},gateway_services:{title:"Gateway Services",list:{toolbar_actions:{new_gateway_service:"New gateway service"},table_headers:{name:"Name",control_plane:"Control Plane",protocol:"Protocol",host:"Host",port:"Port",path:"Path",enabled:"Enabled",tags:"Tags",id:"ID",created_at:"Created At",updated_at:"Last Modified"},empty_state:{title:"Configure a New Gateway Service",description:"Gateway services are used to proxy traffic.",serverless_title:"Configure your first Gateway Service"}},empty_state_v2:{create:"New gateway service",title:"Configure your first gateway service",group:"Services created in gateways within this group will automatically appear here.",description:"Gateway services represent backend APIs or microservices that receive traffic routed through the gateway."},form:{buttons:{try_sample:"Try sample API"},errors:{host:{empty:"Host cannot be empty",invalid:"Invalid host"},port:{type:"Port must be a number",invalid:"Port must be between 0 and 65535"},path:{prefix:"Path must begin with /",invalid:"Path should not include characters outside of the reserved list of RFC 3986"},protocol:{empty:"Protocol cannot be empty",invalid:"Protocol - value must be one of http, https, grpc, grpcs, tcp, udp, tls, tls_passthrough, ws, wss"},url:{invalid:"The URL must follow a valid format. Example: https://api.kong-air.com/flights"}},sections:{general:{title:"General Information",description:"Provide a name and tags to help identify and manage this service."},keys:{title:"Service endpoint",description:"Define where this service should send requests.",checkedGroupLabel:"Choose how and where to send traffic",urlLabel:"Full URL",checkedGroupAltLabel:"Protocol, host, port and path",url:{label:"Full URL",description:"Define the service using a single, complete API URL for simple setup."},protocol:{label:"Protocol, host, port, and path",description:"Manually specify each component of the API’s URL for advanced configurations."},viewAdvancedFields:"View advanced fields"}},fields:{upstream_url:{label:"Full URL",placeholder:"e.g. https://api.kong-air.com/flights",tooltip_for_konnect:"This is the URL of the API you will manage in Konnect.",tooltip_for_km:"This is the URL of the API you will manage in Kong Gateway."},name:{label:"Name",placeholder:"Enter a unique name",tooltip:"The Service name."},protocol:{label:"Protocol",tooltip:"The protocol used to communicate with the upstream.",options:{http:"http",https:"https",tcp:"tcp",tls:"tls",tls_passthrough:"tls_passthrough",grpc:"grpc",grpcs:"grpcs",ws:"ws",wss:"wss",udp:"udp"}},host:{label:"Host",placeholder:"e.g. api.kong-air.com",tooltip:"The host of the upstream server. Note that the host value is case sensitive."},path:{label:"Path",placeholder:"e.g. /sample",tooltip:"The path to be used in request to the upstream server."},port:{label:"Port",tooltip:"The upstream server port."},retries:{label:"Retries",tooltip:"The number of retries to execute upon failure to proxy."},connect_timeout:{label:"Connection timeout",tooltip:"The timeout in milliseconds for establishing a connection to the upstream server."},write_timeout:{label:"Write timeout",tooltip:"The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server."},read_timeout:{label:"Read timeout",tooltip:"The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server."},client_certificate:{label:"Client certificate",placeholder:"Enter a Certificate ID",tooltip:"Certificate to be used as client certificate while TLS handshaking to the upstream server."},ca_certificates:{label:"CA certificates",placeholder:"Enter a comma separated list of CA Certificate IDs",tooltip:"Array of {code1} object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to {code2} when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).",code1:"CA Certificate",code2:"null"},tls_verify_enabled:{label:"TLS verify",help:"If unchecked, use default system setting",tooltip:"Whether to enable verification of upstream server TLS certificate. If set to {code1}, then the Nginx default is respected.",code1:"null"},tls_verify_option:{unset:{display:"Use default system setting"},true:{label:"True",display:"On"},false:{label:"False",display:"Off"}},tags:{label:"Tags",tooltip:"An optional set of strings associated with the Service for grouping and filtering.",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",collapse:"Add tags"},enabled:{label:"Enabled",tooltip:"Whether the Service is active. If set to {false}, the proxy behavior will be as if any routes attached to it do not exist (404). Default: {true}.",false:"false",true:"true"}}}},errors:{general:"Gateway Services could not be retrieved",delete:"The gateway service could not be deleted at this time.",copy:"Failed to copy to clipboard",urlErrorMessage:"Error: invalid URL"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},glossary:{gateway_services:"gateway services"}};function xe(){const s=Ce.createI18n("en-us",Ne);return{i18n:s,i18nT:Ce.i18nTComponent(s)}}function Se(){return{getPortFromProtocol:(F,p)=>{const n=[80,443],a=Number(p);if((a||a===0)&&!n.includes(a))return a;switch(F){case"grpcs":case"tls":case"https":case"wss":return 443;case"grpc":case"tcp":case"http":case"ws":default:return 80}}}}function Ie(){const{i18n:{t:s}}=M.useI18n();return{validateHost:g=>{if(!g||g.trim()==="")return s("gateway_services.form.errors.host.empty");const N=/^(?!:\/\/)([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})?$/;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(g)||N.test(g)?"":s("gateway_services.form.errors.host.invalid")},validateProtocol:(g,N)=>!g||g.trim()===""?s("gateway_services.form.errors.protocol.empty"):(g=g.slice(0,-1),N.find(l=>{if(l.value===g)return l})===void 0?s("gateway_services.form.errors.protocol.invalid"):""),validatePath:g=>!g||g===""?"":g.startsWith("/")?/[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]/.test(g)?s("gateway_services.form.errors.path.invalid"):"":s("gateway_services.form.errors.path.prefix"),validatePort:g=>{if(g==null||g==="")return"";const N=typeof g=="string"?parseInt(g,10):g;return isNaN(N)?s("gateway_services.form.errors.port.type"):N<0||N>65535?s("gateway_services.form.errors.port.invalid"):""}}}const M={useI18n:xe,usePortFromProtocol:Se,useUrlValidators:Ie},oe="/v2/control-planes/{controlPlaneId}/core-entities",re="/{workspace}",Z={list:{konnect:{all:`${oe}/services`},kongManager:{all:`${re}/services`}},form:{konnect:{create:`${oe}/services`,validate:`${oe}/v1/schemas/json/service/validate`,edit:`${oe}/services/{id}`},kongManager:{create:`${re}/services`,validate:`${re}/schemas/services/validate`,edit:`${re}/services/{id}`}}},Pe="#00abd2",Te="24px",Be={class:"kong-ui-entities-gateway-services-list"},Fe={class:"button-row"},Ae={class:"empty-state-icon-gateway"},$e={key:1},Ue=e.defineComponent({__name:"GatewayServiceList",props:{config:{type:Object,required:!0,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)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},isServerless:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle:success"],setup(s,{emit:F}){var z;const p=F,n=s,{i18n:{t:a,formatUnixTimeStamp:g}}=M.useI18n(),N=ke.useRouter(),{axiosInstance:A}=u.useAxios((z=n.config)==null?void 0:z.axiosRequestConfig),{hasRecords:l,handleStateChange:P}=u.useTableState(()=>T.value),k=e.computed(()=>l.value&&n.config.app==="konnect"),ue=e.computed(()=>!n.enableV2EmptyStates&&n.config.app==="konnect"),ie=e.computed(()=>n.config.app!=="kongManager"||!!n.config.disableSorting),J={name:{label:a("gateway_services.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},...n.config.showControlPlaneColumn?{control_plane:{label:a("gateway_services.list.table_headers.control_plane")}}:{},protocol:{label:a("gateway_services.list.table_headers.protocol"),searchable:!0,sortable:!0},host:{label:a("gateway_services.list.table_headers.host"),searchable:!0,sortable:!0},port:{label:a("gateway_services.list.table_headers.port"),searchable:!0,sortable:!0},path:{label:a("gateway_services.list.table_headers.path"),searchable:!0,sortable:!0},enabled:{label:a("gateway_services.list.table_headers.enabled"),searchable:!0,sortable:!0},tags:{label:a("gateway_services.list.table_headers.tags"),sortable:!1},updated_at:{label:a("gateway_services.list.table_headers.updated_at"),sortable:!0},created_at:{label:a("gateway_services.list.table_headers.created_at"),sortable:!0}},le={columnVisibility:{created_at:!1}},me=J,W=e.computed(()=>{var m,y;let d=`${n.config.apiBaseUrl}${Z.list[n.config.app].all}`;return n.config.app==="konnect"?d=d.replace(/{controlPlaneId}/gi,((m=n.config)==null?void 0:m.controlPlaneId)||""):n.config.app==="kongManager"&&(d=d.replace(/\/{workspace}/gi,(y=n.config)!=null&&y.workspace?`/${n.config.workspace}`:"")),d}),ge=e.computed(()=>n.config.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${W.value}`):new URL(W.value)),T=e.ref(""),ye=e.computed(()=>{const d=n.config.app==="konnect"||n.config.isExactMatch;if(d)return{isExactMatch:d,placeholder:a(`search.placeholder.${n.config.app}`)};const{name:m,enabled:y,protocol:V,host:R,port:C,path:D}=J;return{isExactMatch:d,fields:{name:m,enabled:y,protocol:V,host:R,port:C,path:D},schema:n.config.filterSchema}}),{fetcher:K,fetcherState:v,fetcherCacheKey:L}=u.useFetcher(e.computed(()=>({...n.config,cacheIdentifier:n.cacheIdentifier})),W),Q=()=>{T.value=""},_e=()=>{L.value++},t=e.ref(null),b=e.computed(()=>({ctaPath:n.config.createRoute,ctaText:ee.value?n.isServerless?a("actions.serverless_create"):a("actions.create"):void 0,message:`${a("gateway_services.list.empty_state.description")}${n.config.additionMessageForEmptyState?` ${n.config.additionMessageForEmptyState}`:""}`,title:ee.value?n.isServerless?a("gateway_services.list.empty_state.serverless_title"):a("gateway_services.list.empty_state.title"):a("gateway_services.title")})),X=e.ref(!1),S=e.ref(null),j=e.computed(()=>{const d={action:"disable",id:"",name:""};if(S.value){const{enabled:m,id:y,name:V}=S.value;d.action=m?"disable":"enable",d.id=y,d.name=V||y}return d}),he=d=>{X.value=!0,S.value=d},U=()=>{X.value=!1,S.value=null},se=async()=>{var V,R;if(!await((V=n.canEdit)==null?void 0:V.call(n,S.value))||!S.value)return;const m=`${ge.value.href}/${S.value.id}`,y=!S.value.enabled;try{const{data:C}=((R=n.config)==null?void 0:R.app)==="konnect"?await A.put(m,{...S.value,enabled:y}):await A.patch(m,{...S.value,enabled:y});p("toggle:success",C),S.value.enabled=y}catch(C){p("error",C)}},ae=d=>{n.config.getControlPlaneRoute&&N.push(n.config.getControlPlaneRoute(d))},ne=async(d,m)=>{const y=d.id;if(!await m(y)){p("copy:error",{entity:d,field:"id",message:a("errors.copy")});return}p("copy:success",{entity:d,field:"id",message:a("copy.success",{val:y})})},ce=async(d,m)=>{const y=JSON.stringify(d);if(!await m(y)){p("copy:error",{entity:d,message:a("errors.copy")});return}p("copy:success",{entity:d,message:a("copy.success_brief")})},de=async d=>{var y;await((y=n.canRetrieve)==null?void 0:y.call(n,d))&&N.push(n.config.getViewRoute(d.id))},we=d=>({label:a("actions.view"),to:n.config.getViewRoute(d)}),q=d=>({label:a("actions.edit"),to:n.config.getEditRoute(d)}),I=e.ref(void 0),$=e.ref(!1),G=e.ref(!1),Y=e.ref(""),be=u.useDeleteUrlBuilder(n.config,W.value),fe=d=>{I.value=d,$.value=!0,Y.value=""},pe=()=>{$.value=!1,I.value=void 0},ve=async()=>{var d,m,y;if((d=I.value)!=null&&d.id){G.value=!0;try{await A.delete(be(I.value.id)),p("delete:success",I.value),pe(),L.value++}catch(V){Y.value=((y=(m=V.response)==null?void 0:m.data)==null?void 0:y.message)||V.message||a("errors.delete"),p("error",V)}finally{G.value=!1}}},Ve=()=>{N.push(n.config.createRoute)};e.watch(v,d=>{var m,y,V;if(d.status===u.FetcherStatus.Error){t.value={title:a("errors.general")},(V=(y=(m=d.error)==null?void 0:m.response)==null?void 0:y.data)!=null&&V.message&&(t.value.message=d.error.response.data.message),p("error",d.error);return}t.value=null});const ee=e.ref(!1);return e.onBeforeMount(async()=>{ee.value=await n.canCreate()}),(d,m)=>{const y=e.resolveComponent("KButton"),V=e.resolveComponent("KBadge"),R=e.resolveComponent("KInputSwitch"),C=e.resolveComponent("KDropdownItem"),D=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Be,[e.createVNode(e.unref(u.EntityBaseTable),{"cache-identifier":s.cacheIdentifier,"default-table-preferences":le,"disable-sorting":ie.value,"empty-state-options":b.value,"enable-entity-actions":"","error-message":t.value,fetcher:e.unref(K),"fetcher-cache-key":e.unref(L),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-gateway-services-list",query:T.value,"table-headers":e.unref(me),onClearSearchInput:Q,"onClick:row":m[5]||(m[5]=f=>de(f)),onSort:_e,onState:e.unref(P)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(u.EntityFilter),{modelValue:T.value,"onUpdate:modelValue":m[0]||(m[0]=f=>T.value=f),config:ye.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",Fe,[k.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-learn-more-button",icon:"",onClick:m[1]||(m[1]=f=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(te.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-gateway-service",size:s.useActionOutside?"medium":"large",to:s.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(te.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("gateway_services.list.toolbar_actions.new_gateway_service")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:f})=>[e.createElementVNode("b",null,e.toDisplayString(f??"-"),1)]),control_plane:e.withCtx(({row:f})=>{var o;return[(o=f.x_meta)!=null&&o.cluster_id?(e.openBlock(),e.createBlock(V,{key:0,tooltip:f.x_meta.cluster_id,"truncation-tooltip":"",onClick:e.withModifiers(r=>ae(f.x_meta.cluster_id),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.x_meta.cluster_id),1)]),_:2},1032,["tooltip","onClick"])):(e.openBlock(),e.createElementBlock("b",$e,"-"))]}),enabled:e.withCtx(({row:f})=>[e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canEdit(f),"force-show":""},{default:e.withCtx(({isAllowed:o})=>[e.createElementVNode("div",{onClick:m[4]||(m[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(R,{modelValue:f.enabled,"onUpdate:modelValue":r=>f.enabled=r,"data-testid":`row-${f.id}-toggle-input`,disabled:!o,onClick:e.withModifiers(r=>he(f),["prevent"])},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","onClick"])])]),_:2},1032,["auth-function"])]),tags:e.withCtx(({rowValue:f})=>[e.createVNode(e.unref(u.TableTags),{tags:f},null,8,["tags"])]),created_at:e.withCtx(({rowValue:f})=>[e.createTextVNode(e.toDisplayString(e.unref(g)(f)),1)]),updated_at:e.withCtx(({row:f,rowValue:o})=>[e.createTextVNode(e.toDisplayString(e.unref(g)(o??f.created_at)),1)]),actions:e.withCtx(({row:f})=>[e.createVNode(D,null,{default:e.withCtx(({copyToClipboard:o})=>[e.createVNode(C,{"data-testid":"action-entity-copy-id",onClick:r=>ne(f,o)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(D,null,{default:e.withCtx(({copyToClipboard:o})=>[e.createVNode(C,{"data-testid":"action-entity-copy-json",onClick:r=>ce(f,o)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canRetrieve(f)},{default:e.withCtx(()=>[e.createVNode(C,{"data-testid":"action-entity-view","has-divider":"",item:we(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canEdit(f)},{default:e.withCtx(()=>[e.createVNode(C,{"data-testid":"action-entity-edit",item:q(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(u.PermissionsWrapper),{"auth-function":()=>s.canDelete(f)},{default:e.withCtx(()=>[e.createVNode(C,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:o=>fe(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete.menu_label")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!e.unref(l)&&ue.value?{name:"outside-actions",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(y,{appearance:"secondary",class:"open-learning-hub","data-testid":"gateway-services-more-button",icon:"",onClick:m[2]||(m[2]=f=>d.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(te.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!T.value&&s.enableV2EmptyStates&&s.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(u.EntityEmptyState),{"action-button-text":e.unref(a)("gateway_services.empty_state_v2.create"),appearance:"secondary","can-create":()=>s.canCreate(),"data-testid":"gateway-services-entity-empty-state",description:e.unref(a)("gateway_services.empty_state_v2.description"),"learn-more":s.config.app==="konnect",title:e.unref(a)("gateway_services.empty_state_v2.title"),"onClick:create":Ve,"onClick:learnMore":m[3]||(m[3]=o=>d.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",Ae,[e.createVNode(e.unref(te.ServicesIcon),{color:e.unref(Pe),size:e.unref(Te)},null,8,["color","size"])])]),_:2},[(f=s.config)!=null&&f.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("gateway_services.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(u.EntityToggleModal),{action:j.value.action,"entity-id":j.value.id,"entity-name":j.value.name,"entity-type":e.unref(a)("glossary.gateway_services"),"on-confirm":se,visible:X.value,onCancel:U,onProceed:U},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(u.EntityDeleteModal),{"action-pending":G.value,description:e.unref(a)("actions.delete.description"),"entity-name":I.value&&(I.value.name||I.value.id),"entity-type":e.unref(u.EntityTypes).GatewayService,error:Y.value,title:e.unref(a)("actions.delete.title"),visible:$.value,onCancel:pe,onProceed:ve},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),Ee=(s,F)=>{const p=s.__vccOpts||s;for(const[n,a]of F)p[n]=a;return p},Re=Ee(Ue,[["__scopeId","data-v-210f19c5"]]),De={class:"kong-ui-gateway-service-entity-config-card"},Me=e.defineComponent({__name:"GatewayServiceConfigCard",props:{config:{type:Object,required:!0,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)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(s){const F=s,{i18n:{t:p},i18nT:n}=M.useI18n(),a=e.computed(()=>Z.form[F.config.app].edit),{getPropValue:g}=u.useHelpers(),N=(l,P)=>g(l,P)===!0?p("gateway_services.form.fields.tls_verify_option.true.display"):p("gateway_services.form.fields.tls_verify_option.false.display"),A=e.ref({id:{},name:{tooltip:p("gateway_services.form.fields.name.tooltip")},enabled:{},updated_at:{},created_at:{},protocol:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.protocol.tooltip")},host:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.host.tooltip")},path:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.path.tooltip")},port:{section:u.ConfigurationSchemaSection.Basic,tooltip:p("gateway_services.form.fields.port.tooltip")},tags:{tooltip:p("gateway_services.form.fields.tags.tooltip")},retries:{order:1,tooltip:p("gateway_services.form.fields.retries.tooltip")},connect_timeout:{order:2,tooltip:p("gateway_services.form.fields.connect_timeout.tooltip")},write_timeout:{order:3,tooltip:p("gateway_services.form.fields.write_timeout.tooltip")},read_timeout:{order:4,tooltip:p("gateway_services.form.fields.read_timeout.tooltip")},client_certificate:{order:5,tooltip:p("gateway_services.form.fields.client_certificate.tooltip")},ca_certificates:{type:u.ConfigurationSchemaType.BadgeTag,label:p("gateway_services.form.fields.ca_certificates.label"),order:6},tls_verify:{label:p("gateway_services.form.fields.tls_verify_enabled.label")},tls_verify_depth:{hidden:!0}});return(l,P)=>(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(e.unref(u.EntityBaseConfigCard),{config:s.config,"config-card-doc":s.configCardDoc,"config-schema":A.value,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":a.value,"hide-title":s.hideTitle,"onFetch:error":P[0]||(P[0]=k=>l.$emit("fetch:error",k)),"onFetch:success":P[1]||(P[1]=k=>l.$emit("fetch:success",k)),onLoading:P[2]||(P[2]=k=>l.$emit("loading",k))},{"enabled-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.enabled.tooltip",scope:"global"},{false:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.enabled.false")),1)]),true:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.enabled.true")),1)]),_:1})]),"ca_certificates-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),"tls_verify-label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(n),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(p)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),tls_verify:e.withCtx(k=>[e.createTextVNode(e.toDisplayString(typeof e.unref(g)("rowValue",k)=="boolean"?N("rowValue",k):e.unref(p)("gateway_services.form.fields.tls_verify_option.unset.display")),1)]),client_certificate:e.withCtx(k=>[e.createTextVNode(e.toDisplayString(e.unref(g)("rowValue",k)?e.unref(g)("rowValue",k).id:"–"),1)]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}}),B={name:"Kong-Air-Flights-API",protocol:"https",path:"/flights",host:"api.kong-air.com",port:443},Ke={class:"kong-ui-entities-gateway-service-form"},Le={key:0,class:"gateway-service-form-general-info"},qe={class:"gateway-service-form-group-selection-wrapper"},Ge={key:0,class:"gateway-service-form-group-fields"},Oe={key:0,class:"gateway-service-form-group-fields"},We={key:0},je={key:0,class:"gateway-service-form-advanced-fields"},ze={class:"gateway-service-form-margin-bottom"},He={class:"gateway-service-form-margin-bottom"},Ze={class:"gateway-service-form-margin-bottom"},Je={class:"gateway-service-form-margin-bottom"},Qe={key:0,class:"gateway-service-form-margin-bottom"},Xe={key:1,class:"gateway-service-form-margin-bottom"},Ye={key:2,class:"gateway-service-form-margin-bottom"},et={key:0,class:"checkbox-aligned-radio"},tt={key:1,class:"checkbox-aligned-radio"},ot={class:"gateway-service-form-tags"},rt={class:"form-error-list"},it=Ee(e.defineComponent({__name:"GatewayServiceForm",props:{config:{type:Object,required:!0,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)},gatewayServiceId:{type:String,required:!1,default:""},hideSectionsInfo:{type:Boolean,required:!1,default:!1},hideTrySampleApiButton:{type:Boolean,required:!1,default:!1}},emits:["update","error","url-valid:success","url-valid:error","loading","model-updated","try-sample-api"],setup(s,{expose:F,emit:p}){var f;const n=p,a=s,g=e.ref(!0),N=ke.useRouter(),{i18nT:A,i18n:{t:l}}=M.useI18n(),{getErrorFieldsFromError:P}=u.useErrors(),{axiosInstance:k}=u.useAxios((f=a.config)==null?void 0:f.axiosRequestConfig),ue=u.useValidators(),{validateHost:ie,validatePath:J,validatePort:le,validateProtocol:me}=M.useUrlValidators(),{objectsAreEqual:W}=u.useHelpers(),ge=e.computed(()=>Z.form[a.config.app].edit),T=e.computed(()=>a.gatewayServiceId?u.EntityBaseFormType.Edit:u.EntityBaseFormType.Create),ye=e.ref(!1),K=e.computed(()=>!!a.gatewayServiceId),v=e.ref(K.value?"protocol":"url"),L=M.usePortFromProtocol(),Q=e.ref(""),_e=e.computed(()=>!!Q.value||!!q("name")),t=e.reactive({fields:{name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:"",enabled:!0},isReadonly:!1,errorMessages:[],formFieldErrors:{host:"",port:"",path:"",name:"",url:"",tags:"",retries:"",connect_timeout:"",write_timeout:"",read_timeout:"",client_certificate:"",ca_certificates:"",tls_verify_enabled:"",tls_verify_value:""}}),b=e.reactive({name:"",protocol:"http",host:"",path:"",port:80,url:"",retries:5,connect_timeout:6e4,write_timeout:6e4,read_timeout:6e4,client_certificate:"",ca_certificates:"",tls_verify_enabled:!1,tls_verify_value:!1,tags:"",enabled:!0}),X=a.config.app==="konnect"||u.useGatewayFeatureSupported({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),S=[{label:l("gateway_services.form.fields.protocol.options.http"),value:"http",group:"http"},{label:l("gateway_services.form.fields.protocol.options.https"),value:"https",group:"http"},{label:l("gateway_services.form.fields.protocol.options.tcp"),value:"tcp",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.tls"),value:"tls",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.tls_passthrough"),value:"tls_passthrough",group:"tcp"},{label:l("gateway_services.form.fields.protocol.options.grpc"),value:"grpc",group:"grpc"},{label:l("gateway_services.form.fields.protocol.options.grpcs"),value:"grpcs",group:"grpc"},...X?[{label:l("gateway_services.form.fields.protocol.options.ws"),value:"ws",group:"websocket"},{label:l("gateway_services.form.fields.protocol.options.wss"),value:"wss",group:"websocket"}]:[],{label:l("gateway_services.form.fields.protocol.options.udp"),value:"udp",group:"udp"}],j={url:"url",protocol:"protocol"},he=(o,r)=>{r.value},U=o=>o?parseFloat(o):0,se=()=>{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},ae=()=>{g.value=!0,$(),t.errorMessages=[],se()},ne=()=>{switch(se(),t.fields.name=`${B.name}-${new Date().toISOString().replace(/\D/g,"").slice(0,17)}`,v.value){case"url":t.fields.url=`${B.protocol}://${B.host}${B.path}`;break;case"protocol":t.fields.host=B.host,t.fields.path=B.path,t.fields.protocol=B.protocol,t.fields.port=B.port;break;default:t.fields.url=`${B.protocol}://${B.host}${B.path}`}},ce=()=>{if($(),t.fields.url.length)try{const o=new URL(t.fields.url),r=me(o.protocol,S);if(r)throw new Error(r);t.fields.protocol=o.protocol.slice(0,-1);const _=ie(o.hostname);if(_)throw new Error(_);t.fields.host=o.hostname;const E=J(o.pathname);if(E)throw new Error(E);t.fields.path=o.pathname;const h=le(o.port);if(h)throw new Error(h);const w=Number(o.port);ye.value=!!w,t.fields.port=w||L.getPortFromProtocol(t.fields.protocol),n("url-valid:success")}catch{n("url-valid:error",l("gateway_services.form.errors.url.invalid")),t.formFieldErrors.url=l("gateway_services.form.errors.url.invalid")}},de=o=>{$(o)},we=e.computed(()=>!!t.formFieldErrors.url||!!t.formFieldErrors.host||!!t.formFieldErrors.port),q=o=>{if(t.errorMessages.length)return"";const r=t.formFieldErrors;return r[o]?r[o]:""},I=o=>{$(o??void 0);const r=ie(t.fields.host);r&&(t.formFieldErrors.host=r);const _=J(t.fields.path);_&&(t.formFieldErrors.path=_);const E=le(t.fields.port);E&&(t.formFieldErrors.port=E),G.value?n("url-valid:success"):n("url-valid:error",t.errorMessages.join(",")||l("gateway_services.form.errors.url.invalid"))},$=o=>{if(o)t.formFieldErrors[o]="";else for(let r in t.formFieldErrors)t.formFieldErrors[r]="";t.errorMessages=[]},G=e.computed(()=>{for(let o in t.formFieldErrors)if(t.formFieldErrors[o].length)return!1;return!0}),Y=()=>{t.fields.url&&v.value==="url"?ce():I()},be=()=>`new-service-${new Date().toISOString().replace(/\D/g,"").slice(0,17)}`,fe=e.computed(()=>!["tcp","tls","tls_passthrough","grpc","grpcs","udp"].includes(t.fields.protocol)),pe=e.computed(()=>{if(v.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return v.value==="protocol"&&o}),ve=e.computed(()=>{if(v.value==="url")return!0;const o=["https","tls"].includes(t.fields.protocol);return v.value==="protocol"&&o}),Ve=e.computed(()=>{if(v.value==="url")return!0;const o=["https","wss","tls"].includes(t.fields.protocol);return v.value==="protocol"&&o}),ee=o=>{$("name"),Q.value=ue.utf8Name(o)},z=e.computed(()=>{const o=!K.value||!W(t.fields,b),r=v.value==="url"&&!!t.fields.url&&G.value,_=v.value==="protocol"&&!!t.fields.host&&G.value;return o&&(r||_)}),d=o=>{var r,_,E;t.fields.name=(o==null?void 0:o.name)||"",t.fields.tags=((r=o==null?void 0:o.tags)==null?void 0:r.join(", "))||"",t.fields.protocol=(o==null?void 0:o.protocol)||"http",t.fields.path=(o==null?void 0:o.path)||"",t.fields.read_timeout=o!=null&&o.read_timeout||(o==null?void 0:o.read_timeout)===0?o==null?void 0:o.read_timeout:6e4,t.fields.retries=o!=null&&o.retries||(o==null?void 0:o.retries)===0?o==null?void 0:o.retries:5,t.fields.host=(o==null?void 0:o.host)||"",t.fields.connect_timeout=o!=null&&o.connect_timeout||(o==null?void 0:o.connect_timeout)===0?o==null?void 0:o.connect_timeout:6e4,t.fields.tls_verify_enabled=(o==null?void 0:o.tls_verify)!==""&&(o==null?void 0:o.tls_verify)!==null&&(o==null?void 0:o.tls_verify)!==void 0,t.fields.tls_verify_value=o!=null&&o.tls_verify?o==null?void 0:o.tls_verify:!1,t.fields.ca_certificates=((_=o==null?void 0:o.ca_certificates)==null?void 0:_.join(","))||"",t.fields.client_certificate=((E=o==null?void 0:o.client_certificate)==null?void 0:E.id)||"",t.fields.write_timeout=o!=null&&o.write_timeout||(o==null?void 0:o.write_timeout)===0?o==null?void 0:o.write_timeout:6e4,t.fields.port=o!=null&&o.port||(o==null?void 0:o.port)===0?o==null?void 0:o.port:80,t.fields.enabled=(o==null?void 0:o.enabled)??!0,Object.assign(b,t.fields)},m=()=>{N.push(a.config.cancelRoute)},y=e.computed(()=>{var r,_;let o=`${a.config.apiBaseUrl}${Z.form[a.config.app].validate}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((r=a.config)==null?void 0:r.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(_=a.config)!=null&&_.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.gatewayServiceId),o}),V=e.computed(()=>{var r,_;let o=`${a.config.apiBaseUrl}${Z.form[a.config.app][T.value]}`;return a.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((r=a.config)==null?void 0:r.controlPlaneId)||""):a.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(_=a.config)!=null&&_.workspace?`/${a.config.workspace}`:"")),o=o.replace(/{id}/gi,a.gatewayServiceId),o}),R=o=>{let r="";o.url&&(r=new URL(o.url).protocol),(["https","wss","tls"].includes(o.protocol)||["https","wss","tls"].includes(r))&&(o.tls_verify=o.tls_verify_enabled?o.tls_verify_value:null),delete o.tls_verify_enabled,delete o.tls_verify_value},C=e.computed(()=>{var r,_,E,h;const o={name:t.fields.name||null,tags:t.fields.tags?(E=(_=(r=t.fields.tags)==null?void 0:r.split(","))==null?void 0:_.map(w=>String(w||"").trim()))==null?void 0:E.filter(w=>w!==""):null,protocol:t.fields.protocol,path:t.fields.path||null,read_timeout:t.fields.read_timeout,retries:t.fields.retries,host:t.fields.host,connect_timeout:t.fields.connect_timeout,tls_verify_value:t.fields.tls_verify_value,tls_verify_enabled:t.fields.tls_verify_enabled,ca_certificates:t.fields.ca_certificates?(h=t.fields.ca_certificates)==null?void 0:h.split(",").filter(w=>w!==""):null,client_certificate:t.fields.client_certificate?{id:t.fields.client_certificate}:null,write_timeout:t.fields.write_timeout,port:t.fields.port,url:t.fields.url,enabled:t.fields.enabled};return t.fields.client_certificate&&["https","wss","tls"].includes(t.fields.protocol)&&(o.client_certificate={id:t.fields.client_certificate}),t.fields.tls_verify_enabled&&["https","wss","tls"].includes(t.fields.protocol)&&(o.tls_verify=t.fields.tls_verify_value),fe.value||(o.path=null),T.value==="create"?v.value==="url"?(delete o.protocol,delete o.host,delete o.path,a.config.app==="konnect"&&delete o.port):delete o.url:T.value==="edit"&&delete o.url,o}),D=async()=>{var o,r,_,E;try{t.isReadonly=!0;const h=C.value;R(h);let w;if(await k.post(y.value,h),T.value==="create"?w=await k.post(V.value,h):T.value==="edit"&&(w=((o=a.config)==null?void 0:o.app)==="konnect"?await k.put(V.value,h):await k.patch(V.value,h)),w){const{data:i}=w;t.fields.name=(i==null?void 0:i.name)||"",t.fields.port=i.port||L.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=((r=i==null?void 0:i.client_certificate)==null?void 0:r.id)||"",t.fields.ca_certificates=(_=i==null?void 0:i.ca_certificates)!=null&&_.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=(E=i==null?void 0:i.tags)!=null&&E.length?i.tags.join(", "):"",t.fields.enabled=(i==null?void 0:i.enabled)??!0,Object.assign(b,t.fields),n("update",w==null?void 0:w.data)}return w}catch(h){const{fields:w,messages:i}=P(h);t.errorMessages=i,w.length&&w.forEach(O=>{const H=O.field;H==="client_certificate.id"?t.formFieldErrors.client_certificate=O.message:H.startsWith("ca_certificates")?t.formFieldErrors.ca_certificates=O.message:Object.keys(t.formFieldErrors).includes(H)&&(t.formFieldErrors={...t.formFieldErrors,[H]:O.message})}),n("error",h)}finally{t.isReadonly=!1}};return e.watch(()=>a.gatewayServiceId,()=>{Object.assign(t.fields,b)}),e.watch(t.fields,o=>{t.fields.port=L.getPortFromProtocol(o.protocol,String(o.port)),n("model-updated",C.value)}),e.onMounted(()=>{n("model-updated",C.value),K.value||(t.fields.name=be())}),F({validateUrl:Y,getPayload:C,saveFormData:D,canSubmit:z,initForm:d}),(o,r)=>{const _=e.resolveComponent("KRadio"),E=e.resolveComponent("KButton"),h=e.resolveComponent("KInput"),w=e.resolveComponent("KSelect"),i=e.resolveComponent("KCheckbox"),O=e.resolveComponent("KCollapse"),H=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(e.unref(u.EntityBaseForm),{"can-submit":z.value,config:s.config,"edit-id":s.gatewayServiceId,"entity-type":e.unref(u.SupportedEntityType).GatewayService,"fetch-url":ge.value,"form-fields":C.value,"is-readonly":t.isReadonly,onCancel:m,"onFetch:error":r[31]||(r[31]=c=>o.$emit("error",c)),"onFetch:success":d,onLoading:r[32]||(r[32]=c=>o.$emit("loading",c)),onSubmit:D},{"form-actions":e.withCtx(()=>[e.renderSlot(o.$slots,"form-actions",{canSubmit:z.value,cancel:m,submit:D},void 0,!0)]),default:e.withCtx(()=>[e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(l)("gateway_services.form.sections.keys.description"),"hide-info-header":s.hideSectionsInfo,title:e.unref(l)("gateway_services.form.sections.keys.title")},{default:e.withCtx(()=>[K.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",qe,[e.createVNode(_,{modelValue:v.value,"onUpdate:modelValue":r[0]||(r[0]=c=>v.value=c),card:"","card-orientation":"horizontal","data-testid":"gateway-service-url-radio",description:e.unref(l)("gateway_services.form.sections.keys.url.description"),label:e.unref(l)("gateway_services.form.sections.keys.url.label"),"selected-value":j.url,onChange:ae},null,8,["modelValue","description","label","selected-value"]),e.createVNode(_,{modelValue:v.value,"onUpdate:modelValue":r[1]||(r[1]=c=>v.value=c),card:"","card-orientation":"horizontal","checked-group":"protocol","data-testid":"gateway-service-protocol-radio",description:e.unref(l)("gateway_services.form.sections.keys.protocol.description"),label:e.unref(l)("gateway_services.form.sections.keys.protocol.label"),"selected-value":j.protocol,onChange:ae},null,8,["modelValue","description","label","selected-value"])]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[v.value==="url"?(e.openBlock(),e.createElementBlock("div",Ge,[e.createVNode(h,{modelValue:t.fields.url,"onUpdate:modelValue":r[2]||(r[2]=c=>t.fields.url=c),modelModifiers:{trim:!0},class:"gateway-service-url-input gateway-service-form-margin-bottom","data-testid":"gateway-service-url-input",error:we.value,"error-message":q("url"),label:e.unref(l)("gateway_services.form.fields.upstream_url.label"),"label-attributes":{info:s.config.app==="konnect"?e.unref(l)("gateway_services.form.fields.upstream_url.tooltip_for_konnect"):e.unref(l)("gateway_services.form.fields.upstream_url.tooltip_for_km"),tooltipAttributes:{maxWidth:"400"}},name:"url",placeholder:e.unref(l)("gateway_services.form.fields.upstream_url.placeholder"),required:"",onInput:ce},e.createSlots({_:2},[s.hideTrySampleApiButton?void 0:{name:"after",fn:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary","data-testid":"try-sample-api",size:"small",onClick:ne},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("gateway_services.form.buttons.try_sample")),1)]),_:1})]),key:"0"}]),1032,["modelValue","error","error-message","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0)]),_:1})])),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[v.value==="protocol"||K.value?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(w,{modelValue:t.fields.protocol,"onUpdate:modelValue":r[3]||(r[3]=c=>t.fields.protocol=c),"data-testid":"gateway-service-protocol-select",items:S,label:e.unref(l)("gateway_services.form.fields.protocol.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.protocol.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:t.isReadonly,required:"",width:"100%",onSelected:r[4]||(r[4]=c=>he(t.fields.protocol,c))},null,8,["modelValue","label","label-attributes","readonly"]),e.createVNode(h,{modelValue:t.fields.host,"onUpdate:modelValue":r[5]||(r[5]=c=>t.fields.host=c),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-host-input",error:!!t.formFieldErrors.host,"error-message":q("host"),label:e.unref(l)("gateway_services.form.fields.host.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.host.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"host",placeholder:e.unref(l)("gateway_services.form.fields.host.placeholder"),required:"",onInput:r[6]||(r[6]=c=>I("host"))},e.createSlots({_:2},[s.hideTrySampleApiButton?void 0:{name:"after",fn:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",size:"small",onClick:ne},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("gateway_services.form.buttons.try_sample")),1)]),_:1})]),key:"0"}]),1032,["modelValue","error","error-message","label","label-attributes","placeholder"]),fe.value?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(h,{modelValue:t.fields.path,"onUpdate:modelValue":r[7]||(r[7]=c=>t.fields.path=c),modelModifiers:{trim:!0},class:"gateway-service-form-margin-top","data-testid":"gateway-service-path-input",error:!!t.formFieldErrors.path,"error-message":q("path"),label:e.unref(l)("gateway_services.form.fields.path.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.path.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"path",placeholder:e.unref(l)("gateway_services.form.fields.path.placeholder"),onInput:r[8]||(r[8]=c=>I("path"))},null,8,["modelValue","error","error-message","label","label-attributes","placeholder"])])):e.createCommentVNode("",!0),e.createVNode(h,{modelValue:t.fields.port,"onUpdate:modelValue":[r[9]||(r[9]=c=>t.fields.port=c),r[11]||(r[11]=()=>{t.fields.port=U(t.fields.port+"")})],class:"gateway-service-form-margin-top","data-testid":"gateway-service-port-input",error:!!t.formFieldErrors.port,"error-message":q("port"),label:e.unref(l)("gateway_services.form.fields.port.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.port.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"port",type:"number",onInput:r[10]||(r[10]=c=>I("port"))},null,8,["modelValue","error","error-message","label","label-attributes"])])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(O,{modelValue:g.value,"onUpdate:modelValue":r[27]||(r[27]=c=>g.value=c),"data-testid":"advanced-fields-collapse","trigger-alignment":"leading","trigger-label":e.unref(l)("gateway_services.form.sections.keys.viewAdvancedFields")},{default:e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",ze,[e.createVNode(h,{modelValue:t.fields.retries,"onUpdate:modelValue":[r[12]||(r[12]=c=>t.fields.retries=c),r[13]||(r[13]=()=>{t.fields.retries=U(t.fields.retries+"")})],autocomplete:"off","data-testid":"gateway-service-retries-input",label:e.unref(l)("gateway_services.form.fields.retries.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.retries.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"retries",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",He,[e.createVNode(h,{modelValue:t.fields.connect_timeout,"onUpdate:modelValue":[r[14]||(r[14]=c=>t.fields.connect_timeout=c),r[15]||(r[15]=()=>{t.fields.connect_timeout=U(t.fields.connect_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-connTimeout-input",label:e.unref(l)("gateway_services.form.fields.connect_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.connect_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"connTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Ze,[e.createVNode(h,{modelValue:t.fields.write_timeout,"onUpdate:modelValue":[r[16]||(r[16]=c=>t.fields.write_timeout=c),r[17]||(r[17]=()=>{t.fields.write_timeout=U(t.fields.write_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-writeTimeout-input",label:e.unref(l)("gateway_services.form.fields.write_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.write_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"writeTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),e.createElementVNode("div",Je,[e.createVNode(h,{modelValue:t.fields.read_timeout,"onUpdate:modelValue":[r[18]||(r[18]=c=>t.fields.read_timeout=c),r[19]||(r[19]=()=>{t.fields.read_timeout=U(t.fields.read_timeout+"")})],autocomplete:"off","data-testid":"gateway-service-readTimeout-input",label:e.unref(l)("gateway_services.form.fields.read_timeout.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.read_timeout.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"readTimeout",readonly:t.isReadonly,type:"number"},null,8,["modelValue","label","label-attributes","readonly"])]),pe.value?(e.openBlock(),e.createElementBlock("div",Qe,[e.createVNode(h,{modelValue:t.fields.client_certificate,"onUpdate:modelValue":r[20]||(r[20]=c=>t.fields.client_certificate=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-clientCert-input",error:!!t.formFieldErrors.client_certificate,label:e.unref(l)("gateway_services.form.fields.client_certificate.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.client_certificate.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"clientCert",placeholder:e.unref(l)("gateway_services.form.fields.client_certificate.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[21]||(r[21]=c=>de("client_certificate"))},null,8,["modelValue","error","label","label-attributes","placeholder","readonly"])])):e.createCommentVNode("",!0),ve.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.createVNode(h,{modelValue:t.fields.ca_certificates,"onUpdate:modelValue":r[22]||(r[22]=c=>t.fields.ca_certificates=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-ca-certs-input",error:!!t.formFieldErrors.ca_certificates,label:e.unref(l)("gateway_services.form.fields.ca_certificates.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(l)("gateway_services.form.fields.ca_certificates.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[23]||(r[23]=c=>de("ca_certificates"))},{"label-tooltip":e.withCtx(()=>[e.createVNode(e.unref(A),{keypath:"gateway_services.form.fields.ca_certificates.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.ca_certificates.code1")),1)]),code2:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.ca_certificates.code2")),1)]),_:1})]),_:1},8,["modelValue","error","label","placeholder","readonly"])])):e.createCommentVNode("",!0),Ve.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.createVNode(i,{modelValue:t.fields.tls_verify_enabled,"onUpdate:modelValue":r[24]||(r[24]=c=>t.fields.tls_verify_enabled=c),"data-testid":"gateway-service-tls-verify-checkbox",description:e.unref(l)("gateway_services.form.fields.tls_verify_enabled.help"),label:e.unref(l)("gateway_services.form.fields.tls_verify_enabled.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}}},{tooltip:e.withCtx(()=>[e.createVNode(e.unref(A),{keypath:"gateway_services.form.fields.tls_verify_enabled.tooltip",scope:"global"},{code1:e.withCtx(()=>[e.createElementVNode("code",null,e.toDisplayString(e.unref(l)("gateway_services.form.fields.tls_verify_enabled.code1")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",et,[e.createVNode(_,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":r[25]||(r[25]=c=>t.fields.tls_verify_value=c),"data-testid":"gateway-service-tls-verify-true-option",label:e.unref(l)("gateway_services.form.fields.tls_verify_option.true.label"),"selected-value":!0},null,8,["modelValue","label"])])):e.createCommentVNode("",!0),t.fields.tls_verify_enabled?(e.openBlock(),e.createElementBlock("div",tt,[e.createVNode(_,{modelValue:t.fields.tls_verify_value,"onUpdate:modelValue":r[26]||(r[26]=c=>t.fields.tls_verify_value=c),"data-testid":"gateway-service-tls-verify-false-option",label:e.unref(l)("gateway_services.form.fields.tls_verify_option.false.label"),"selected-value":!1},null,8,["modelValue","label"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))]),_:1})]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["description","hide-info-header","title"]),e.createVNode(e.unref(u.EntityFormSection),{description:e.unref(l)("gateway_services.form.sections.general.description"),"hide-info-header":s.hideSectionsInfo,title:e.unref(l)("gateway_services.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:t.fields.name,"onUpdate:modelValue":r[28]||(r[28]=c=>t.fields.name=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-name-input",error:_e.value,"error-message":Q.value,label:e.unref(l)("gateway_services.form.fields.name.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.name.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"name",placeholder:e.unref(l)("gateway_services.form.fields.name.placeholder"),readonly:t.isReadonly,type:"text",onInput:ee},null,8,["modelValue","error","error-message","label","label-attributes","placeholder","readonly"]),e.createVNode(O,{"data-testid":"tags-collapse","trigger-alignment":"leading","trigger-label":e.unref(l)("gateway_services.form.fields.tags.collapse")},{default:e.withCtx(()=>[e.createElementVNode("div",ot,[e.createVNode(h,{modelValue:t.fields.tags,"onUpdate:modelValue":r[29]||(r[29]=c=>t.fields.tags=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"gateway-service-tags-input",help:e.unref(l)("gateway_services.form.fields.tags.help"),label:e.unref(l)("gateway_services.form.fields.tags.label"),"label-attributes":{info:e.unref(l)("gateway_services.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},name:"tags",placeholder:e.unref(l)("gateway_services.form.fields.tags.placeholder"),readonly:t.isReadonly,type:"text",onInput:r[30]||(r[30]=c=>$("tags"))},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])])]),_:1},8,["trigger-label"])]),_:1},8,["description","hide-info-header","title"]),t.errorMessages.length?(e.openBlock(),e.createBlock(H,{key:0,appearance:"danger","data-testid":"form-error"},{default:e.withCtx(()=>[e.createElementVNode("ul",rt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.errorMessages,c=>(e.openBlock(),e.createElementBlock("li",{key:c},e.toDisplayString(c),1))),128))])]),_:1})):e.createCommentVNode("",!0)]),_:3},8,["can-submit","config","edit-id","entity-type","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-2ef1cab4"]]),{validateHost:lt,validatePort:st,validateProtocol:at,validatePath:nt}=M.useUrlValidators(),ct=()=>({validateHost:lt,validatePort:st,validateProtocol:at,validatePath:nt});x.GatewayServiceConfigCard=Me,x.GatewayServiceForm=it,x.GatewayServiceList=Re,x.useUrlValidator=ct,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/entities-gateway-services",
|
|
3
|
-
"version": "3.11.
|
|
3
|
+
"version": "3.11.39",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/entities-gateway-services.umd.js",
|
|
6
6
|
"module": "./dist/entities-gateway-services.es.js",
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"@kong/icons": "^1.31.0",
|
|
25
25
|
"@kong/kongponents": "^9.34.2",
|
|
26
|
-
"axios": "^1.
|
|
26
|
+
"axios": "^1.11.0",
|
|
27
27
|
"vue": ">= 3.3.13 < 4",
|
|
28
28
|
"vue-router": "^4.4.5",
|
|
29
|
-
"@kong-ui-public/entities-shared": "^3.26.
|
|
29
|
+
"@kong-ui-public/entities-shared": "^3.26.3",
|
|
30
30
|
"@kong-ui-public/i18n": "^2.3.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"axios": "^1.7.7",
|
|
37
37
|
"vue": "^3.5.13",
|
|
38
38
|
"vue-router": "^4.4.5",
|
|
39
|
-
"@kong-ui-public/entities-shared": "^3.26.
|
|
39
|
+
"@kong-ui-public/entities-shared": "^3.26.3",
|
|
40
40
|
"@kong-ui-public/i18n": "^2.3.2"
|
|
41
41
|
},
|
|
42
42
|
"repository": {
|