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