liferay-headless-rest-client
Version:
A collection of Headless Clients used in Liferay Portal
2 lines (1 loc) • 9.63 kB
JavaScript
var m=async(F,X)=>{let G=typeof X=="function"?await X(F):X;if(G)return F.scheme==="bearer"?`Bearer ${G}`:F.scheme==="basic"?`Basic ${btoa(G)}`:G},U=(F,X,G)=>{typeof G=="string"||G instanceof Blob?F.append(X,G):F.append(X,JSON.stringify(G))};var D={bodySerializer:(F)=>{let X=new FormData;return Object.entries(F).forEach(([G,E])=>{E!=null&&(Array.isArray(E)?E.forEach((k)=>U(X,G,k)):U(X,G,E))}),X}},w={bodySerializer:(F)=>JSON.stringify(F,(X,G)=>typeof G=="bigint"?G.toString():G)};var b=(F)=>{switch(F){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},g=(F)=>{switch(F){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},f=(F)=>{switch(F){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},R=({allowReserved:F,explode:X,name:G,style:E,value:k})=>{if(!X){let V=(F?k:k.map((K)=>encodeURIComponent(K))).join(g(E));switch(E){case"label":return`.${V}`;case"matrix":return`;${G}=${V}`;case"simple":return V;default:return`${G}=${V}`}}let H=b(E),Z=k.map((V)=>E==="label"||E==="simple"?F?V:encodeURIComponent(V):I({allowReserved:F,name:G,value:V})).join(H);return E==="label"||E==="matrix"?H+Z:Z},I=({allowReserved:F,name:X,value:G})=>{if(G==null)return"";if(typeof G=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${X}=${F?G:encodeURIComponent(G)}`},T=({allowReserved:F,explode:X,name:G,style:E,value:k})=>{if(k instanceof Date)return`${G}=${k.toISOString()}`;if(E!=="deepObject"&&!X){let V=[];Object.entries(k).forEach(([Q,P])=>{V=[...V,Q,F?P:encodeURIComponent(P)]});let K=V.join(",");switch(E){case"form":return`${G}=${K}`;case"label":return`.${K}`;case"matrix":return`;${G}=${K}`;default:return K}}let H=f(E),Z=Object.entries(k).map(([V,K])=>I({allowReserved:F,name:E==="deepObject"?`${G}[${V}]`:V,value:K})).join(H);return E==="label"||E==="matrix"?H+Z:Z},_=/\{[^{}]+\}/g,A=({path:F,url:X})=>{let G=X,E=X.match(_);if(E)for(let k of E){let H=!1,Z=k.substring(1,k.length-1),V="simple";Z.endsWith("*")&&(H=!0,Z=Z.substring(0,Z.length-1)),Z.startsWith(".")?(Z=Z.substring(1),V="label"):Z.startsWith(";")&&(Z=Z.substring(1),V="matrix");let K=F[Z];if(K==null)continue;if(Array.isArray(K)){G=G.replace(k,R({explode:H,name:Z,style:V,value:K}));continue}if(typeof K=="object"){G=G.replace(k,T({explode:H,name:Z,style:V,value:K}));continue}if(V==="matrix"){G=G.replace(k,`;${I({name:Z,value:K})}`);continue}let Q=encodeURIComponent(V==="label"?`.${K}`:K);G=G.replace(k,Q)}return G},v=({allowReserved:F,array:X,object:G}={})=>(E)=>{let k=[];if(E&&typeof E=="object")for(let H in E){let Z=E[H];if(Z!=null)if(Array.isArray(Z)){let V=R({allowReserved:F,explode:!0,name:H,style:"form",value:Z,...X});V&&k.push(V)}else if(typeof Z=="object"){let V=T({allowReserved:F,explode:!0,name:H,style:"deepObject",value:Z,...G});V&&k.push(V)}else{let V=I({allowReserved:F,name:H,value:Z});V&&k.push(V)}}return k.join("&")},C=(F)=>{if(!F)return"stream";let X=F.split(";")[0]?.trim();if(X){if(X.startsWith("application/json")||X.endsWith("+json"))return"json";if(X==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((G)=>X.startsWith(G)))return"blob";if(X.startsWith("text/"))return"text"}},u=async({security:F,...X})=>{for(let G of F){let E=await m(G,X.auth);if(!E)continue;let k=G.name??"Authorization";switch(G.in){case"query":X.query||(X.query={}),X.query[k]=E;break;case"cookie":X.headers.append("Cookie",`${k}=${E}`);break;case"header":default:X.headers.set(k,E);break}return}},Y=(F)=>y({baseUrl:F.baseUrl,path:F.path,query:F.query,querySerializer:typeof F.querySerializer=="function"?F.querySerializer:v(F.querySerializer),url:F.url}),y=({baseUrl:F,path:X,query:G,querySerializer:E,url:k})=>{let H=k.startsWith("/")?k:`/${k}`,Z=(F??"")+H;X&&(Z=A({path:X,url:Z}));let V=G?E(G):"";return V.startsWith("?")&&(V=V.substring(1)),V&&(Z+=`?${V}`),Z},x=(F,X)=>{let G={...F,...X};return G.baseUrl?.endsWith("/")&&(G.baseUrl=G.baseUrl.substring(0,G.baseUrl.length-1)),G.headers=S(F.headers,X.headers),G},S=(...F)=>{let X=new Headers;for(let G of F){if(!G||typeof G!="object")continue;let E=G instanceof Headers?G.entries():Object.entries(G);for(let[k,H]of E)if(H===null)X.delete(k);else if(Array.isArray(H))for(let Z of H)X.append(k,Z);else H!==void 0&&X.set(k,typeof H=="object"?JSON.stringify(H):H)}return X},N=class{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}getInterceptorIndex(F){return typeof F=="number"?this._fns[F]?F:-1:this._fns.indexOf(F)}exists(F){let X=this.getInterceptorIndex(F);return!!this._fns[X]}eject(F){let X=this.getInterceptorIndex(F);this._fns[X]&&(this._fns[X]=null)}update(F,X){let G=this.getInterceptorIndex(F);return this._fns[G]?(this._fns[G]=X,F):!1}use(F){return this._fns=[...this._fns,F],this._fns.length-1}},h=()=>({error:new N,request:new N,response:new N}),d=v({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),c={"Content-Type":"application/json"},O=(F={})=>({...w,headers:c,parseAs:"auto",querySerializer:d,...F}),j=(F={})=>{let X=x(O(),F),G=()=>({...X}),E=(Z)=>(X=x(X,Z),G()),k=h(),H=async(Z)=>{let V={...X,...Z,fetch:Z.fetch??X.fetch??globalThis.fetch,headers:S(X.headers,Z.headers)};V.security&&await u({...V,security:V.security}),V.body&&V.bodySerializer&&(V.body=V.bodySerializer(V.body)),(V.body===void 0||V.body==="")&&V.headers.delete("Content-Type");let K=Y(V),Q={redirect:"follow",...V},P=new Request(K,Q);for(let M of k.request._fns)M&&(P=await M(P,V));let z=V.fetch,L=await z(P);for(let M of k.response._fns)M&&(L=await M(L,P,V));let q={request:P,response:L};if(L.ok){if(L.status===204||L.headers.get("Content-Length")==="0")return V.responseStyle==="data"?{}:{data:{},...q};let M=(V.parseAs==="auto"?C(L.headers.get("Content-Type")):V.parseAs)??"json";if(M==="stream")return V.responseStyle==="data"?L.body:{data:L.body,...q};let $=await L[M]();return M==="json"&&(V.responseValidator&&await V.responseValidator($),V.responseTransformer&&($=await V.responseTransformer($))),V.responseStyle==="data"?$:{data:$,...q}}let B=await L.text();try{B=JSON.parse(B)}catch{}let W=B;for(let M of k.error._fns)M&&(W=await M(B,L,P,V));if(W=W||{},V.throwOnError)throw W;return V.responseStyle==="data"?void 0:{error:W,...q}};return{buildUrl:Y,connect:(Z)=>H({...Z,method:"CONNECT"}),delete:(Z)=>H({...Z,method:"DELETE"}),get:(Z)=>H({...Z,method:"GET"}),getConfig:G,head:(Z)=>H({...Z,method:"HEAD"}),interceptors:k,options:(Z)=>H({...Z,method:"OPTIONS"}),patch:(Z)=>H({...Z,method:"PATCH"}),post:(Z)=>H({...Z,method:"POST"}),put:(Z)=>H({...Z,method:"PUT"}),request:H,setConfig:E,trace:(Z)=>H({...Z,method:"TRACE"})}};var J=j(O({baseUrl:"http://localhost:8080"}));var i=(F)=>{return(F.client??J).delete({url:"/o/headless-form/v1.0/form-documents/{formDocumentId}",...F})},o=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/form-documents/{formDocumentId}",...F})},t=(F)=>{return(F?.client??J).delete({url:"/o/headless-form/v1.0/form-documents/batch",...F,headers:{"Content-Type":"application/json",...F?.headers}})},e=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/forms/{formId}/form-records/by-latest-draft",...F})},FF=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/forms/{formId}/form-records",...F})},GF=(F)=>{return(F.client??J).post({url:"/o/headless-form/v1.0/forms/{formId}/form-records",...F,headers:{"Content-Type":"application/json",...F.headers}})},VF=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/form-records/{formRecordId}",...F})},XF=(F)=>{return(F.client??J).put({url:"/o/headless-form/v1.0/form-records/{formRecordId}",...F,headers:{"Content-Type":"application/json",...F.headers}})},ZF=(F)=>{return(F.client??J).post({url:"/o/headless-form/v1.0/forms/{formId}/form-records/batch",...F,headers:{"Content-Type":"application/json",...F.headers}})},kF=(F)=>{return(F.client??J).post({url:"/o/headless-form/v1.0/forms/{formId}/form-records/export-batch",...F})},EF=(F)=>{return(F?.client??J).put({url:"/o/headless-form/v1.0/form-records/batch",...F,headers:{"Content-Type":"application/json",...F?.headers}})},HF=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/forms/{formId}",...F})},JF=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/sites/{siteId}/forms",...F})},KF=(F)=>{return(F.client??J).post({url:"/o/headless-form/v1.0/forms/{formId}/evaluate-context",...F,headers:{"Content-Type":"application/json",...F.headers}})},LF=(F)=>{return(F.client??J).post({...D,url:"/o/headless-form/v1.0/forms/{formId}/form-document",...F,headers:{"Content-Type":null,...F.headers}})},MF=(F)=>{return(F.client??J).post({url:"/o/headless-form/v1.0/sites/{siteId}/forms/export-batch",...F})},PF=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/form-structures/{formStructureId}",...F})},QF=(F)=>{return(F.client??J).get({url:"/o/headless-form/v1.0/sites/{siteId}/form-structures",...F})},WF=(F)=>{return(F.client??J).post({url:"/o/headless-form/v1.0/sites/{siteId}/form-structures/export-batch",...F})};export{EF as putFormRecordBatch,XF as putFormRecord,MF as postSiteFormsPageExportBatch,WF as postSiteFormStructuresPageExportBatch,kF as postFormFormRecordsPageExportBatch,ZF as postFormFormRecordBatch,GF as postFormFormRecord,LF as postFormFormDocument,KF as postFormEvaluateContext,JF as getSiteFormsPage,QF as getSiteFormStructuresPage,PF as getFormStructure,VF as getFormRecord,FF as getFormFormRecordsPage,e as getFormFormRecordByLatestDraft,o as getFormDocument,HF as getForm,t as deleteFormDocumentBatch,i as deleteFormDocument};