UNPKG

azion

Version:

Azion Packages for Edge Computing.

2 lines (1 loc) 10.8 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var a=r=>_nullishCoalesce(_nullishCoalesce(r, () => (process.env.AZION_TOKEN)), () => ("")),l=r=>{let i=process.env.AZION_DEBUG&&process.env.AZION_DEBUG==="true";return typeof r>"u"||r===null?!!i:!!r};async function m(r,i,t,e=!0){let n=await fetch(r,i);if(!n.ok){let s=`HTTP error! Status: ${n.status} - ${n.statusText}`;throw t&&console.log(`Error in fetch: ${s}`),new Error(s)}if(e){let s=n.headers.get("content-type");if(!s||!s.includes("application/json")){let g=`Expected JSON response, but got: ${await n.text()}`;throw t&&console.log(`Error in fetch: ${g}`),new Error(g)}return await n.json()}else return await n.text()}var d=process.env.AZION_ENV==="stage"?"https://stage-api.azion.net/domains":"https://api.azionapi.net/domains",u=(r,i)=>{let t;return r.forEach(e=>{i[e]&&(t=Array.isArray(i[e])?i[e].join(", "):i[e])}),_nullishCoalesce(t, () => (JSON.stringify(i)))},p=r=>({Authorization:`Token ${r}`,Accept:"application/json; version=3","Content-Type":"application/json"}),A=async(r,i,{debug:t})=>{try{let e={name:i.name,cnames:_nullishCoalesce(_optionalChain([i, 'optionalAccess', _2 => _2.cnames]), () => ([])),cname_access_only:_nullishCoalesce(_optionalChain([i, 'optionalAccess', _3 => _3.cnameAccessOnly]), () => (!1)),digital_certificate_id:_nullishCoalesce(_optionalChain([i, 'optionalAccess', _4 => _4.digitalCertificateId]), () => (void 0)),edge_application_id:i.edgeApplicationId,edge_firewall_id:_nullishCoalesce(_optionalChain([i, 'optionalAccess', _5 => _5.edgeFirewallId]), () => (void 0)),is_active:!0};if(_optionalChain([i, 'optionalAccess', _6 => _6.mtls])){if(i.mtls.verification!=="enforce"&&i.mtls.verification!=="permissive")throw new Error("mtls.verification must be enforce or permissive");e={...e,is_mtls_enabled:!0,mtls_verification:i.mtls.verification,mtls_trusted_ca_certificate_id:i.mtls.trustedCaCertificateId,crl_list:i.mtls.crlList}}let n=await m(d,{method:"POST",headers:p(r),body:JSON.stringify(e)},t);return n.results?n:{error:{message:u(["detail","edge_application_id"],n),operation:"create domain"}}}catch(e){return t&&console.error("Error creating Domain:",e),{error:{message:e.toString(),operation:"create domain"}}}},f=async(r,i,t)=>{try{let{page_size:e=10,page:n=1}=t||{},s=new URLSearchParams({page_size:String(e),page:String(n)}),c=await m(`${d}?${s.toString()}`,{method:"GET",headers:p(r)},_optionalChain([i, 'optionalAccess', _7 => _7.debug]));return c.results?{...c,results:c.results.map(o=>({id:o.id,name:o.name,url:o.domain_name,environment:o.environment,active:o.is_active,edgeApplicationId:o.edge_application_id,cnameAccessOnly:o.cname_access_only,digitalCertificateId:o.digital_certificate_id,edgeFirewallId:_optionalChain([o, 'optionalAccess', _8 => _8.edge_firewall_id]),cnames:o.cnames,mtls:o.is_mtls_enabled?{verification:o.mtls_verification,trustedCaCertificateId:o.mtls_trusted_ca_certificate_id,crlList:o.crl_list}:void 0}))}:{error:{message:u(["detail","edge_application_id"],c),operation:"list domains"}}}catch(e){return _optionalChain([i, 'optionalAccess', _9 => _9.debug])&&console.error("Error listing Domains:",e),{error:{message:e.toString(),operation:"list domains"}}}},_=async(r,i,t)=>{try{let e=await m(`${d}/${i}`,{method:"GET",headers:p(r)},_optionalChain([t, 'optionalAccess', _10 => _10.debug]));return e.results?e:{error:{message:u(["detail","edge_application_id"],e),operation:"get domain"}}}catch(e){return _optionalChain([t, 'optionalAccess', _11 => _11.debug])&&console.error("Error getting Domain:",e),{error:{message:e.toString(),operation:"get domain"}}}},D=async(r,i,t,e)=>{try{let n={name:t.name,cnames:_nullishCoalesce(_optionalChain([t, 'optionalAccess', _12 => _12.cnames]), () => ([])),cname_access_only:_nullishCoalesce(_optionalChain([t, 'optionalAccess', _13 => _13.cnameAccessOnly]), () => (!1)),digital_certificate_id:_nullishCoalesce(_optionalChain([t, 'optionalAccess', _14 => _14.digitalCertificateId]), () => (void 0)),edge_application_id:t.edgeApplicationId,edge_firewall_id:_nullishCoalesce(_optionalChain([t, 'optionalAccess', _15 => _15.edgeFirewallId]), () => (void 0)),is_active:_nullishCoalesce(t.active, () => (!0))};if(_optionalChain([t, 'optionalAccess', _16 => _16.mtls])){if(t.mtls.verification!=="enforce"&&t.mtls.verification!=="permissive")throw new Error("mtls.verification must be enforce or permissive");n={...n,is_mtls_enabled:!0,mtls_verification:t.mtls.verification,mtls_trusted_ca_certificate_id:t.mtls.trustedCaCertificateId,crl_list:t.mtls.crlList}}let s=await m(`${d}/${i}`,{method:"PUT",headers:p(r),body:JSON.stringify(n)},_optionalChain([e, 'optionalAccess', _17 => _17.debug]));return s.results?s:{error:{message:u(["detail","edge_application_id"],s),operation:"update domain"}}}catch(n){return _optionalChain([e, 'optionalAccess', _18 => _18.debug])&&console.error("Error updating Domain:",n),{error:{message:n.toString(),operation:"update domain"}}}},z=async(r,i,t)=>{try{return await m(`${d}/${i}`,{method:"DELETE",headers:p(r)},_optionalChain([t, 'optionalAccess', _19 => _19.debug]),!1),{results:void 0}}catch(e){return _optionalChain([t, 'optionalAccess', _20 => _20.debug])&&console.error("Error deleting Domain:",e),{error:{message:e.toString(),operation:"delete domain"}}}};var y=async(r,i,t)=>{if(i.name===void 0||i.edgeApplicationId===void 0)return{error:{message:"Domain name and Edge Application ID are required",operation:"create domain"}};let{results:e,error:n}=await A(a(r),i,{...t,debug:l(_optionalChain([t, 'optionalAccess', _21 => _21.debug]))});return e&&e.id?{data:{state:"executed",id:e.id,name:_optionalChain([e, 'optionalAccess', _22 => _22.name]),url:_optionalChain([e, 'optionalAccess', _23 => _23.domain_name]),environment:_optionalChain([e, 'optionalAccess', _24 => _24.environment]),active:_optionalChain([e, 'optionalAccess', _25 => _25.is_active])}}:{error:n}},b=async(r,i,t)=>{let e=await f(a(r),t,i);return e.results?{data:{count:_nullishCoalesce(e.count, () => (e.results.length)),state:"executed",results:e.results,pages:_nullishCoalesce(e.total_pages, () => (1))}}:{error:e.error}},C=async(r,i,t)=>{let{results:e,error:n}=await _(a(r),i,{...t,debug:l(_optionalChain([t, 'optionalAccess', _26 => _26.debug]))});return e&&e.id?{data:{state:"executed",id:e.id,name:_optionalChain([e, 'optionalAccess', _27 => _27.name]),url:_optionalChain([e, 'optionalAccess', _28 => _28.domain_name]),environment:_optionalChain([e, 'optionalAccess', _29 => _29.environment]),active:_optionalChain([e, 'optionalAccess', _30 => _30.is_active]),cnameAccessOnly:_optionalChain([e, 'optionalAccess', _31 => _31.cname_access_only]),digitalCertificateId:_optionalChain([e, 'optionalAccess', _32 => _32.digital_certificate_id]),cnames:_optionalChain([e, 'optionalAccess', _33 => _33.cnames]),edgeApplicationId:_optionalChain([e, 'optionalAccess', _34 => _34.edge_application_id]),edgeFirewallId:_optionalChain([e, 'optionalAccess', _35 => _35.edge_firewall_id]),mtls:_optionalChain([e, 'optionalAccess', _36 => _36.is_mtls_enabled])?{verification:e.mtls_verification,trustedCaCertificateId:e.mtls_trusted_ca_certificate_id,crlList:e.crl_list}:void 0}}:{error:n}},v=async(r,i,t,e)=>{if(_optionalChain([t, 'optionalAccess', _37 => _37.edgeApplicationId])===void 0)return{error:{message:"Edge Application ID is required",operation:"update domain"}};let n=await D(a(r),i,t,{...e,debug:l(_optionalChain([e, 'optionalAccess', _38 => _38.debug]))});return _optionalChain([n, 'optionalAccess', _39 => _39.results, 'optionalAccess', _40 => _40.id])?{data:{state:"executed",name:_optionalChain([n, 'optionalAccess', _41 => _41.results, 'optionalAccess', _42 => _42.name]),id:_optionalChain([n, 'optionalAccess', _43 => _43.results, 'optionalAccess', _44 => _44.id]),environment:_optionalChain([n, 'optionalAccess', _45 => _45.results, 'optionalAccess', _46 => _46.environment]),cnames:_optionalChain([n, 'optionalAccess', _47 => _47.results, 'optionalAccess', _48 => _48.cnames]),url:_optionalChain([n, 'optionalAccess', _49 => _49.results, 'optionalAccess', _50 => _50.domain_name]),active:_optionalChain([n, 'optionalAccess', _51 => _51.results, 'optionalAccess', _52 => _52.is_active]),cnameAccessOnly:_optionalChain([n, 'optionalAccess', _53 => _53.results, 'optionalAccess', _54 => _54.cname_access_only]),digitalCertificateId:_optionalChain([n, 'optionalAccess', _55 => _55.results, 'optionalAccess', _56 => _56.digital_certificate_id]),edgeApplicationId:_optionalChain([n, 'optionalAccess', _57 => _57.results, 'optionalAccess', _58 => _58.edge_application_id]),edgeFirewallId:_optionalChain([n, 'optionalAccess', _59 => _59.results, 'optionalAccess', _60 => _60.edge_firewall_id]),mtls:_optionalChain([n, 'optionalAccess', _61 => _61.results, 'optionalAccess', _62 => _62.is_mtls_enabled])?{verification:_optionalChain([n, 'optionalAccess', _63 => _63.results, 'access', _64 => _64.mtls_verification]),trustedCaCertificateId:_optionalChain([n, 'optionalAccess', _65 => _65.results, 'access', _66 => _66.mtls_trusted_ca_certificate_id]),crlList:_optionalChain([n, 'optionalAccess', _67 => _67.results, 'access', _68 => _68.crl_list])}:void 0}}:{error:_optionalChain([n, 'optionalAccess', _69 => _69.error])}},h=async(r,i,t)=>{let{error:e}=await z(a(r),i,{...t,debug:l(_optionalChain([t, 'optionalAccess', _70 => _70.debug]))});return e?{error:e}:{data:{state:"executed",id:i}}},S= exports.createDomain =async(r,i)=>y(a(),r,i),x= exports.getDomains =async(r,i)=>b(a(),i,r),T= exports.getDomain =async(r,i)=>C(a(),r,i),$= exports.updateDomain =async(r,i,t)=>v(a(),r,i,t),L= exports.deleteDomain =async(r,i)=>h(a(),r,i),O= exports.createClient =r=>{let i=a(_optionalChain([r, 'optionalAccess', _71 => _71.token])),t=l(_optionalChain([r, 'optionalAccess', _72 => _72.options, 'optionalAccess', _73 => _73.debug]));return{createDomain:(n,s)=>y(i,n,{...s,debug:t}),getDomains:(n,s)=>b(i,s,{...n,debug:t}),getDomain:(n,s)=>C(i,n,{...s,debug:t}),updateDomain:(n,s,c)=>v(i,n,s,{...c,debug:t}),deleteDomain:(n,s)=>h(i,n,{...s,debug:t})}};var N=O;exports.createClient = O; exports.createDomain = S; exports.default = N; exports.deleteDomain = L; exports.getDomain = T; exports.getDomains = x; exports.updateDomain = $;