@hostlink/light 3.2.7 → 3.2.8
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.
- package/dist/light.js +4 -2
- package/dist/light.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/light.js
CHANGED
|
@@ -964,7 +964,8 @@ const f = async (t) => {
|
|
|
964
964
|
__on: [{
|
|
965
965
|
__typeName: "File",
|
|
966
966
|
size: !0,
|
|
967
|
-
mimeType: !0
|
|
967
|
+
mimeType: !0,
|
|
968
|
+
publicUrl: !0
|
|
968
969
|
}, {
|
|
969
970
|
__typeName: "Folder"
|
|
970
971
|
}]
|
|
@@ -992,7 +993,8 @@ const f = async (t) => {
|
|
|
992
993
|
__on: [{
|
|
993
994
|
__typeName: "File",
|
|
994
995
|
size: !0,
|
|
995
|
-
mimeType: !0
|
|
996
|
+
mimeType: !0,
|
|
997
|
+
publicUrl: !0
|
|
996
998
|
}, {
|
|
997
999
|
__typeName: "Folder"
|
|
998
1000
|
}]
|
package/dist/light.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("json-to-graphql-query"),require("collect.js"),require("axios")):typeof define=="function"&&define.amd?define(["exports","json-to-graphql-query","collect.js","axios"],m):(h=typeof globalThis<"u"?globalThis:h||self,m(h.light={},h.jsonToGraphqlQuery,h.collect,h.axios))})(this,(function(h,m,k,mt){"use strict";function v(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function E(t,e,r=".",s){if(!v(e))return E(t,{},r,s);const o=Object.assign({},e);for(const u in t){if(u==="__proto__"||u==="constructor")continue;const c=t[u];c!=null&&(s&&s(o,u,c,r)||(Array.isArray(c)&&Array.isArray(o[u])?o[u]=[...c,...o[u]]:v(c)&&v(o[u])?o[u]=E(c,o[u],(r?`${r}.`:"")+u.toString(),s):o[u]=c))}return o}function wt(t){return(...e)=>e.reduce((r,s)=>E(r,s,"",t),{})}const C=wt();let P=null;const J=t=>{P=t},M=()=>{if(!P)throw new Error("Api client not initialized. Call setApiClient() first.");return P},bt=()=>P;function D(t){for(let e=0;e<t.length;e++)if(t[e]instanceof File)return!0;return!1}function B(t){for(let e in t)if(t[e]instanceof File||t[e]instanceof Array&&D(t[e]))return!0;return!1}function At(t){t="<~"+t+"~>";var e,r,s,o,u,c=String,d=255;for(t.slice(0,2)==="<~"&&t.slice(-2),t=t.slice(2,-2).replace(/\s/g,"").replace("z","!!!!!"),e="uuuuu".slice(t.length%5||5),t+=e,s=[],o=0,u=t.length;u>o;o+=5)r=52200625*(t.charCodeAt(o)-33)+614125*(t.charCodeAt(o+1)-33)+7225*(t.charCodeAt(o+2)-33)+85*(t.charCodeAt(o+3)-33)+(t.charCodeAt(o+4)-33),s.push(d&r>>24,d&r>>16,d&r>>8,d&r);return(function(n,i){for(var a=i;a>0;a--)n.pop()})(s,e.length),c.fromCharCode.apply(c,s)}const q=(t="")=>{const e=t,r=(s="application/octet-stream")=>{const o=new Uint8Array(e.length);for(let d=0;d<e.length;d++)o[d]=e.charCodeAt(d);const u=new Blob([o],{type:s});return URL.createObjectURL(u)};return{getContent:()=>e,getURL:r,download:s=>{const o=document.createElement("a");o.download=s,o.href=r(),document.body.appendChild(o),o.click(),document.body.removeChild(o)},open:s=>{window.open(r(s),"_blank")}}},Ct=t=>q(atob(t)),Ot=t=>q(At(t));function $(t,e,r,s,o){if(!(!t||typeof t!="object"))for(let u in t){const c=t[u];if(c&&typeof c=="object"){if("__args"in c){const d=c.__args,n={};Object.entries(d).forEach(([i,a])=>{if(a instanceof Array&&D(a)){n[i]=new m.VariableType(i);let l=0;a.forEach(f=>{f instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+i+"."+l),s.append(o.current.toString(),f),o.current++,l++)}),e[i]="[Upload!]!"}else a instanceof File?(n[i]=new m.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&B(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new m.VariableType(l);let g=0;f.forEach(_=>{_ instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+l+"."+g),s.append(o.current.toString(),_),o.current++,g++)}),e[l]="[Upload!]!"}else f instanceof File?(n[i][l]=new m.VariableType(l),r[o.current]=["variables."+l],s.append(o.current.toString(),f),e[l]="Upload!",o.current++):n[i][l]=f})):a!=null&&(n[i]=a)}),c.__args=n}$(c,e,r,s,o)}}}const F=async t=>{const{axios:e}=M(),r=t,s=new FormData;let o=!1;const u={},c={};$(r,u,c,s,{current:0}),o=Object.keys(u).length>0,o&&(r.__variables=u);let n=null;const i={query:r},a=m.jsonToGraphQLQuery(i);if(o?(s.append("map",JSON.stringify(c)),s.append("operations",JSON.stringify({query:a})),n=await e.post("",s)):n=await e.post("",{query:a}),n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data};function S(t,e){let r,s=[],o,u;const c=n=>!n||typeof n!="object"?!1:Object.values(n).some(i=>i&&typeof i=="object"&&Object.keys(i).some(a=>a.startsWith("_"))),d=()=>s.length===0?(s.unshift({}),s[0]):(c(s[0])&&s.unshift({}),s[0]);return{first(){return this.fetchFirst()},all(){return this.fetch()},async fetchFirst(){const i=await this.limit(1).fetch();return Array.isArray(i)&&i.length>0?i[0]:null},async fetchWithMeta(){let i=await F(this.toQuery(!0));if(u){const a=u.split(".");for(const l of a)i=i[l];return i}return i[`list${t}`]},async fetch(){let i=await F(this.toQuery());if(u){const a=u.split(".");for(const l of a)i=i[l];return i.data}return i[`list${t}`].data},dataPath(n){return n&&typeof n=="string"&&(u=n),this},sort(n){return n&&typeof n=="string"&&(o=n),this},filters(n){return n&&typeof n=="object"&&(s=[n]),this},where(n,i,a){const l=(f,g,_)=>{const b={">":"_gt","<":"_lt",">=":"_gte","<=":"_lte","!=":"_ne",in:"_in",contains:"_contains"}[g];b&&s.push({[f]:{[b]:_}})};if(a!==void 0)l(n,String(i),a);else{const f=d(),g=C(f,{[n]:i});s[0]=g}return this},whereContains(n,i){if(n&&typeof n=="string"){const a=d(),l={_contains:i};a[n]?Array.isArray(a[n])?a[n].push(l):a[n]=[a[n],l]:a[n]=[l],s[0]=a}return this},whereIn(n,i){if(n&&typeof n=="string"&&Array.isArray(i)){const a=d(),l={_in:i};a[n]?Array.isArray(a[n])?a[n].push(l):a[n]=[a[n],l]:a[n]=[l],s[0]=a}return this},whereBetween(n,i,a){if(n&&typeof n=="string"){const l=d(),f={_between:[i,a]};l[n]?Array.isArray(l[n])?l[n].push(f):l[n]=[l[n],f]:l[n]=f,s[0]=l}return this},limit(n){return typeof n=="number"&&Number.isFinite(n)&&(r=C(r||{},{limit:n})),this},offset(n){return typeof n=="number"&&Number.isFinite(n)&&(r=C(r||{},{offset:n})),this},toQuery(n=!1){let i;const a=s.length>0&&Object.keys(s[0]||{}).length>0,l=a?1:0,f=s.length>l;a&&f?i=s:f?i=s.slice(l):a&&(i=s[0]);const g=C(o?{sort:o}:{},i?{filters:i}:{}),_={data:{...e}};if(r&&(_.data.__args=r),Object.keys(g).length>0&&(_.__args=g),n&&(_.meta={total:!0,key:!0,name:!0}),u){const A=u.split(".");let b=_;for(let w=A.length-1;w>=0;w--)b={[A[w]]:b};return b}return{[`list${t}`]:_}}}}const Dt="list",St=["flatMap","chunk","shuffle","splice","sortBy","map","reverse","groupBy","keyBy","keys","mapToDictionary","mapWithKeys","nth","skipUntil","skipWhile","takeUntil","takeWhile","unique","pluck","push","only","pad","slice","tap","sort"],Pt=["avg","count","countBy","dd","each","every","filter","firstWhere","isEmpty","isNotEmpty","last","mapToGroups","max","median","min","mode","contains","sole","sort","split","sum","toJson","get","has","implode","partition"];class y{_batchData=null;data_path="";filters;steps;fields;already_limit=!1;already_offset=!1;limit=null;offset=null;_sort=null;_sortDesc=!1;meta={};constructor(e){this.filters={},this.steps=[],this.fields=e}}y.prototype.getQueryPayload=function(){let t={meta:{total:!0,key:!0,name:!0}};return t.__args=this.buildArgs(),t.data=this.fields,t.data.__args=t.data.__args||{},this.limit&&(t.data.__args.limit=this.limit),this.offset&&(t.data.__args.offset=this.offset),{data_path:this.data_path,query:t,steps:this.steps}},y.prototype.dataPath=function(t){const e=this.clone();return e.data_path=t,e},y.prototype.buildArgs=function(){let t={};return Object.keys(this.filters).length>0&&(t.filters=this.filters),this._sort&&(t.sort=this._sort,this._sortDesc&&(t.sort+=":desc")),t},y.prototype.clone=function(){const t=Object.create(this);return t.steps=JSON.parse(JSON.stringify(this.steps)),t.filters=JSON.parse(JSON.stringify(this.filters)),t.fields=JSON.parse(JSON.stringify(this.fields)),t},k().macro("whereContains",function(t,e){return this.filter(r=>r[t].toLowerCase().includes(e.toLowerCase()))}),y.prototype.fetchData=async function(){try{if(this._batchData){const d=this._batchData;return this.meta=d.meta,k(d.data)}let t={meta:{total:!0,key:!0,name:!0}};t.__args=this.buildArgs(),t.data=this.fields,this.already_limit&&(t.data.__args=t.data.__args||{},t.data.__args.limit=this.limit),this.already_offset&&(t.data.__args=t.data.__args||{},t.data.__args.offset=this.offset);const e=this.data_path.split(".");let r={},s=r,o=e[e.length-1];for(const d of e){if(d===o){s[d]=t;break}s[d]={},s=s[d]}let c=await F(r);for(const d of e)c=c[d];return this.meta=c.meta,k(c.data)}catch(t){throw console.error("Error fetching collection data:",t),t}},y.prototype.processData=async function(){let t=await this.fetchData();for(const e of this.steps)t=t[e.type](...e.args);return t},y.prototype.all=async function(){return(await this.processData()).all()};for(const t of St)y.prototype[t]=function(...e){const r=this.clone();return r.steps.push({type:t,args:e}),r};for(const t of Pt)y.prototype[t]=async function(...e){return(await this.clone().processData())[t](...e)};y.prototype.average=y.prototype.avg,y.prototype.first=async function(){return this.take(1),(await this.processData()).first()},y.prototype._handleBatchData=function(t,e){return this._batchData?(this.steps.push({type:t,args:e}),this):null},y.prototype.where=function(...t){const e=this._handleBatchData("where",t);if(e)return e;if(t.length===2)this.filters[t[0]]=t[1];else if(t.length===3){const r=t[0],s=t[1],o=t[2];switch(s){case"==":this.filters[r]=o;break;case"<":this.filters[r]={lt:o};break;case"<=":this.filters[r]={lte:o};break;case">":this.filters[r]={gt:o};break;case">=":this.filters[r]={gte:o};break;case"!==":this.filters[r]={ne:o};break;default:throw new Error(`Unsupported operator: ${s}`)}}return this},y.prototype.whereContains=function(t,e){const r=this._handleBatchData("whereContains",[t,e]);return r||(this.filters[t]={contains:e},this)},y.prototype.forPage=function(t,e){return t=Math.max(1,t),this.already_limit?(this.steps.push({type:"forPage",args:[t,e]}),this):(this.limit=e,this.offset=(t-1)*e,this.already_limit=!0,this.already_offset=!0,this)},y.prototype.whereIn=function(t,e){const r=this._handleBatchData("whereIn",[t,e]);return r||(this.filters[t]={in:e},this)},y.prototype.whereNotIn=function(t,e){const r=this._handleBatchData("whereNotIn",[t,e]);return r||(this.filters[t]={nin:e},this)},y.prototype.whereNotBetween=function(t,e){const r=this._handleBatchData("whereNotBetween",[t,e]);return r||(this.filters[t]={notBetween:e},this)},y.prototype.whereBetween=function(t,e){const r=this._handleBatchData("whereBetween",[t,e]);return r||(this.filters[t]={between:e},this)},y.prototype.sortBy=function(t){return this.steps.push({type:"sortBy",args:[t]}),typeof t=="string"&&(this._sort=t),this},y.prototype.sortByDesc=function(t){return this.steps.push({type:"sortByDesc",args:[t]}),typeof t=="string"&&(this._sort=t,this._sortDesc=!0),this},y.prototype.skip=function(t){if(t<0)throw new Error("Offset must be non-negative");return this.already_offset&&this.steps.push({type:"skip",args:[t]}),this.offset=t,this.already_offset=!0,this},y.prototype.take=function(t){if(t<0)throw new Error("Length must be non-negative");return this.already_limit?(this.steps.push({type:"take",args:[t]}),this):(this.limit=t,this.already_limit=!0,this)},y.prototype.splice=function(t,e){return this.steps.push({type:"splice",args:[t,e]}),this.offset=t,this.limit=e,this.already_limit=!0,this.already_offset=!0,this};const N=(t,e)=>{const r=new y(e);return r.data_path=Dt+t,r},jt=(t,e={})=>{const r=e;let s="list"+t;const o=u=>r[u]?r[u]:null;return{field:o,$fields:r,setDataPath(u){return s=u,s},getDataPath(){return s},gqlFields(u){let c={};for(const d of u)if(typeof d=="string"){const n=o(d);n&&(c=C(c,n.gqlField?typeof n.gqlField=="string"?{[n.gqlField]:!0}:n.gqlField:{[n.name||d]:!0}))}else typeof d=="object"&&(c=C(c,d));return c},update(u,c){return p({["update"+t]:{__args:{id:u,data:c}}}).then(d=>d["update"+t])},async delete(u){return p({["delete"+t]:{__args:{id:u}}}).then(c=>c["delete"+t])},add(u){return p({["add"+t]:{__args:{data:u}}}).then(c=>c["add"+t])},fields(u){let c=[];for(let d of u){const n=o(d);n&&c.push(n)}return c},async get(u,c){const d=N(t,Ft(c));for(const[n,i]of Object.entries(u))d.where(n,"==",i);return await d.first()},list(u){let c=u;const d={};Object.entries(u).forEach(([a])=>{r[a]&&(d[a]=r[a],r[a].gqlField&&(delete c[a],c=C(c,r[a].gqlField)),r[a].gql&&(delete c[a],c=C(c,r[a].gql)))});const n=S(t,c).dataPath(s),i=n.fetch.bind(n);return{...n,async fetch(){return(await i()).map(l=>{const f={...l};return Object.entries(d).forEach(([g,_])=>{_.field&&typeof _.field=="function"&&(f[g]=_.field(l[g],l))}),f})},async fetchFirst(){const l=await n.fetchFirst.bind(n)();if(!l)return l;const f={...l};return Object.entries(d).forEach(([g,_])=>{_.field&&typeof _.field=="function"&&(f[g]=_.field(l[g],l))}),f}}}}},O={},R=(t,e)=>{const r=jt(t,e);return O[t]=r,r},j=t=>O[t]?O[t]:R(t,{}),Ut=t=>!!O[t],kt=()=>Object.keys(O),vt=()=>{Object.keys(O).forEach(t=>delete O[t])},Et=t=>{Object.entries(t).forEach(([e,r])=>{R(e,r)})},Mt=()=>F({app:{permissions:!0}}).then(t=>t.app.permissions),z=async()=>{const{app:t}=await F({app:{auth:{webAuthnRequestOptions:!0}}}),e=t.auth.webAuthnRequestOptions,r=PublicKeyCredential.parseRequestOptionsFromJSON(e);return await navigator.credentials.get({publicKey:r})},W=async()=>{const{app:t}=await F({app:{auth:{webAuthnCreationOptions:!0}}}),e=PublicKeyCredential.parseCreationOptionsFromJSON(t.auth.webAuthnCreationOptions);return await navigator.credentials.create({publicKey:e})},Q=Object.freeze(Object.defineProperty({__proto__:null,assertion:z,attestation:W,login:async()=>{const t=await z();return await p({webAuthnAssertion:{__args:{assertion:t.toJSON()}}}).then(e=>e.webAuthnAssertion)},register:async()=>{const t=await W();return await p({webAuthnRegister:{__args:{registration:t.toJSON()}}}).then(e=>e.webAuthnRegister)}},Symbol.toStringTag,{value:"Module"})),G=(t=T)=>F({my:t}).then(e=>e.my),H=(t,e,r="")=>p({login:{__args:{username:t,password:e,code:r}}}).then(s=>s.login),V=()=>p({logout:!0}).then(t=>t.logout),X=(t,e,r)=>p({changeExpiredPassword:{__args:{username:t,old_password:e,new_password:r}}}).then(s=>s.changeExpiredPassword),Y=(t,e)=>p({changeUserPassword:{__args:{old_password:t,new_password:e}}}).then(r=>r.changeUserPassword),Z=(t,e,r)=>p({resetPassword:{__args:{jwt:t,password:e,code:r}}}).then(s=>s.resetPassword),I=(t,e)=>p({forgetPassword:{__args:{username:t,email:e}}}).then(r=>r.forgetPassword),K=(t,e)=>p({forgetPasswordVerifyCode:{__args:{jwt:t,code:e}}}).then(r=>r.forgetPasswordVerifyCode),x=t=>F({my:{granted:{__args:{right:t}}}}).then(e=>e.my.granted),tt=t=>F({my:{grantedRights:{__args:{rights:t}}}}).then(e=>e.my.grantedRights),et={getCurrentUser:G,webAuthn:Q,google:{unlink:()=>p({lightAuthUnlinkGoogle:!0}).then(t=>t.lightAuthUnlinkGoogle),login:t=>p({lightAuthLoginGoogle:{__args:{credential:t}}}).then(e=>e.lightAuthLoginGoogle),register:t=>p({lightAuthRegisterGoogle:{__args:{credential:t}}}).then(e=>e.lightAuthRegisterGoogle)},facebook:{unlink:()=>p({lightAuthUnlinkFacebook:!0}).then(t=>t.lightAuthUnlinkFacebook),login:t=>p({lightAuthLoginFacebook:{__args:{access_token:t}}}).then(e=>e.lightAuthLoginFacebook),register:t=>p({lightAuthRegisterFacebook:{__args:{access_token:t}}}).then(e=>e.lightAuthRegisterFacebook)},microsoft:{unlink:()=>p({lightAuthUnlinkMicrosoft:!0}).then(t=>t.lightAuthUnlinkMicrosoft),login:t=>p({lightAuthLoginMicrosoft:{__args:{access_token:t}}}).then(e=>e.lightAuthLoginMicrosoft),register:t=>p({lightAuthRegisterMicrosoft:{__args:{account_id:t}}}).then(e=>e.lightAuthRegisterMicrosoft)},login:H,logout:V,changeExpiredPassword:X,updatePassword:Y,resetPassword:Z,forgetPassword:I,verifyCode:K,grantedRights:tt,isGranted:x},rt={name:!0,path:!0,size:!0,mime:!0,url:!0},st=(t,e,r=rt)=>F({app:{drive:{__args:{index:t},files:{__args:{path:e},...r}}}}).then(s=>s.app.drive.files),nt=(t,e)=>F({app:{drive:{__args:{index:t},file:{__args:{path:e},base64Content:!0}}}}).then(r=>r.app.drive?.file?.base64Content),Bt=t=>({list:(e,r=rt)=>st(t,e,r),get:(e,r={name:!0,path:!0,size:!0,mime:!0,url:!0})=>F({app:{drive:{__args:{index:t},file:{__args:{path:e},...r}}}}).then(s=>s.app.drive.file),readFileAsBase64(e){return nt(t,e)},read:async e=>{let r=await F({app:{drive:{__args:{index:t},file:{__args:{path:e},base64Content:!0}}}});if(!r.app.drive.file||!r.app.drive.file.base64Content)throw new Error(`File not found or cannot read content: ${e}`);return typeof window<"u"&&window.atob?window.atob(r.app.drive.file.base64Content):r.app.drive.file.base64Content},write:(e,r)=>p({lightDriveWriteFile:{__args:{index:t,path:e,content:r}}}).then(s=>s.lightDriveWriteFile),delete:e=>p({lightDriveDeleteFile:{__args:{index:t,path:e}}}).then(r=>r.lightDriveDeleteFile),rename:(e,r)=>p({lightDriveRenameFile:{__args:{index:t,path:e,name:r}}}).then(s=>s.lightDriveRenameFile),move:(e,r)=>p({lightDriveMoveFile:{__args:{index:t,source:e,destination:r}}}).then(s=>s.lightDriveMoveFile)}),it={name:!0,path:!0},ot=(t,e,r=it)=>F({app:{drive:{__args:{index:t},folders:{__args:{path:e},...r}}}}).then(s=>s.app.drive.folders),qt=t=>({list:(e,r=it)=>ot(t,e,r),create:e=>p({lightDriveCreateFolder:{__args:{index:t,path:e}}}).then(r=>r.lightDriveCreateFolder),delete:e=>p({lightDriveDeleteFolder:{__args:{index:t,path:e}}}).then(r=>r.lightDriveDeleteFolder),rename:(e,r)=>p({lightDriveRenameFolder:{__args:{index:t,path:e,name:r}}}).then(s=>s.lightDriveRenameFolder)}),Nt=()=>F({app:{drives:{index:!0,name:!0}}}).then(t=>t.app.drives),at=t=>{const e=Bt(t),r=qt(t);return{folders:r,files:e,listFiles:e.list,getFile:e.get,readFile:e.read,writeFile:e.write,deleteFile:e.delete,renameFile:e.rename,moveFile:e.move,listFolders:r.list,createFolder:r.create,deleteFolder:r.delete,renameFolder:r.rename,uploadTempFile:s=>p({lightDriveUploadTempFile:{__args:{index:t,file:s},name:!0,path:!0,size:!0,mime:!0}}).then(o=>o.lightDriveUploadTempFile)}},T={user_id:!0,username:!0,first_name:!0,last_name:!0,status:!0},lt=t=>p({addUser:{__args:t}}).then(e=>e.addUser),ct=t=>p({deleteUser:{__args:{id:t}}}).then(e=>e.deleteUser),ut=(t=T)=>S("Users",t).dataPath("app.listUser").fetch(),ht=(t,e)=>p({updateUser:{__args:{id:t,data:e}}}).then(r=>r.updateUser),Rt={list:ut,create:lt,delete:ct,update:ht},ft=t=>F({app:{listConfig:{__args:{filters:{name:t}},data:{name:!0,value:!0}}}}).then(e=>e.app.listConfig.data[0]?.value),Tt={name:!0},dt=(t=Tt)=>F({app:{roles:t}}).then(e=>e.app.roles),pt=(t,e)=>p({addRole:{__args:{data:{name:t,childs:e}}}}).then(r=>r.addRole),gt=t=>p({deleteRole:{__args:{name:t}}}).then(e=>e.deleteRole),Lt=()=>({list:dt,create:pt,delete:gt});function _t(t,e,r,s,o){if(!(!t||typeof t!="object"))for(let u in t){const c=t[u];if(c&&typeof c=="object"){if("__args"in c){const d=c.__args,n={};Object.entries(d).forEach(([i,a])=>{if(a instanceof Array&&D(a)){n[i]=new m.VariableType(i);let l=0;a.forEach(f=>{f instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+i+"."+l),s.append(o.current.toString(),f),o.current++,l++)}),e[i]="[Upload!]!"}else a instanceof File?(n[i]=new m.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&B(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new m.VariableType(l);let g=0;f.forEach(_=>{_ instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+l+"."+g),s.append(o.current.toString(),_),o.current++,g++)}),e[l]="[Upload!]!"}else f instanceof File?(n[i][l]=new m.VariableType(l),r[o.current]=["variables."+l],s.append(o.current.toString(),f),e[l]="Upload!",o.current++):n[i][l]=f})):a!=null&&(n[i]=a)}),c.__args=n}_t(c,e,r,s,o)}}}const p=async t=>{const{axios:e}=M(),r=t,s=new FormData;let o=!1;const u={},c={};_t(r,u,c,s,{current:0}),o=Object.keys(u).length>0,o&&(r.__variables=u);let n=null;const i={mutation:r},a=m.jsonToGraphQLQuery(i);if(o?(s.append("map",JSON.stringify(c)),s.append("operations",JSON.stringify({query:a})),n=await e.post("",s)):n=await e.post("",{query:a}),n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data},yt=(t,e,r)=>p({sendMail:{__args:{email:t,subject:e,message:r}}}).then(s=>s.sendMail),Jt={send:yt},$t=Object.freeze(Object.defineProperty({__proto__:null,createFolder:t=>p({lightFSCreateFolder:{__args:{location:t}}}).then(e=>e.lightFSCreateFolder),deleteFile:t=>p({lightFSDeleteFile:{__args:{location:t}}}).then(e=>e.lightFSDeleteFile),deleteFolder:t=>p({lightFSDeleteFolder:{__args:{location:t}}}).then(e=>e.lightFSDeleteFolder),exists:t=>F({app:{fs:{exists:{__args:{location:t}}}}}).then(e=>e.app.fs.exists),find:(t,e)=>{const r={};return t&&(r.search=t),e&&(r.label=e),F({app:{fs:{find:{__args:r,__typename:!0,name:!0,lastModified:!0,location:!0,path:!0,__on:[{__typeName:"File",size:!0,mimeType:!0},{__typeName:"Folder"}]}}}}).then(s=>s.app.fs.find)},list:t=>F({app:{fs:{node:{__args:{location:t},__typename:!0,__on:[{__typeName:"Folder",name:!0,location:!0,path:!0,children:{__typename:!0,name:!0,lastModified:!0,location:!0,path:!0,__on:[{__typeName:"File",size:!0,mimeType:!0},{__typeName:"Folder"}]}}]}}}}).then(r=>r.app.fs.node),move:(t,e)=>p({lightFSMove:{__args:{from:t,to:e}}}).then(r=>r.lightFSMove),readFile:(t,e="text")=>F({app:{fs:{node:{__args:{location:t},__typename:!0,__on:[{__typeName:"File",...e==="text"?{content:!0}:{base64Content:!0}}]}}}}).then(r=>{const s=r.app.fs.node;return s?.__typename==="File"?e==="text"?s.content:s.base64Content:null}),renameFile:(t,e)=>p({lightFSRenameFile:{__args:{location:t,newName:e}}}).then(r=>r.lightFSRenameFile),renameFolder:(t,e)=>p({lightFSRenameFolder:{__args:{location:t,newName:e}}}).then(r=>r.lightFSRenameFolder),uploadBase64:(t,e)=>p({lightFSUploadBase64:{__args:{location:t,base64:e},__typename:!0,name:!0,path:!0,location:!0,__on:[{__typename:"File",size:!0,mimeType:!0,lastModified:!0}]}}).then(r=>r.lightFSUploadBase64),uploadFile:(t,e)=>p({lightFSUploadFile:{__args:{location:t,file:e}}}).then(r=>r.lightFSUploadFile),writeFile:(t,e)=>p({lightFSWriteFile:{__args:{location:t,content:e}}}).then(r=>r.lightFSWriteFile)},Symbol.toStringTag,{value:"Module"})),L=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(r=>{Object.entries(L(r)).forEach(([s,o])=>{e[s]=o})}),e):(Object.entries(t).forEach(([r,s])=>{if(r=="__args"||r=="__aliasFor"||r=="__variables"||r=="__directives"||r=="__all_on"||r=="__name"){e[r]=s;return}if(typeof s=="boolean"){e[r]=s;return}e[r]=L(s)}),e)},Ft=t=>L(t),zt=t=>{const e=typeof window>"u";let r=[];const s=mt.create({baseURL:t,withCredentials:!0});let o=!1,u=[];const c=(i,a=null)=>{u.forEach(l=>{i?l.reject(i):l.resolve(a)}),u=[]};s.interceptors.response.use(i=>{const a=i.data.errors;if(a&&a.some(l=>l.extensions?.code==="TOKEN_EXPIRED")){const l=i.config;return o?new Promise((f,g)=>{u.push({resolve:f,reject:g})}).then(()=>s(l)).catch(f=>Promise.reject(f)):(o=!0,d().then(()=>(o=!1,c(null),s(l))).catch(f=>(o=!1,c(f),Promise.reject(f))))}return i},i=>Promise.reject(i));function d(){return s.post("/refresh_token")}e&&(s.interceptors.request.use(i=>(i.withCredentials=!0,r.length>0&&(i.headers.Cookie=r.join("; ")),i)),s.interceptors.response.use(i=>{if(i.headers["set-cookie"]){const a=i.headers["set-cookie"].map(f=>f.split(";")[0]),l=new Map;r.forEach(f=>{const g=f.split("=")[0];l.set(g,f)}),a.forEach(f=>{const g=f.split("=")[0];l.set(g,f)}),r=Array.from(l.values())}return i}));const n={post:s.post,baseURL:t,axios:s,auth:et,mutation:p,query:F,config:ft,mail:Jt,users:Rt,model(i){return j(i)},roles:Lt(),collect:(i,a)=>{const l=N(i,a);return l.data_path=j(i).getDataPath(),l},list:(i,a)=>S(i,a).dataPath(j(i).getDataPath()),drive:at,async collects(i){const a={},l={};for(const g in i){const _=i[g].getQueryPayload();l[g]=_.data_path,a[g]={};const A=_.data_path.split(".");let b=A[A.length-1],w=a[g];for(const U of A){if(U===b){w[U]=_.query;break}w[U]=w[U]||{}}a[g].__aliasFor=A[0]}const f=await F(a);for(const g in i){const _=l[g].split(".");let A=_[_.length-1],b=f[g];for(const w of _){if(w===A){i[g]._batchData=f[g][w];break}b[w]=b[w]||{}}}return i}};return J(n),n},Wt=S;h.arrayHasFile=D,h.auth=et,h.changeExpiredPassword=X,h.clearModels=vt,h.createClient=zt,h.createCollection=N,h.createFileFromBase64=Ct,h.createFileFromBase85=Ot,h.createFileFromString=q,h.createList=S,h.createRole=pt,h.createUser=lt,h.defaultUserFields=T,h.defineModel=R,h.defineModels=Et,h.deleteRole=gt,h.deleteUser=ct,h.forgetPassword=I,h.fs=$t,h.getApiClient=M,h.getApiClientOptional=bt,h.getConfig=ft,h.getCurrentUser=G,h.getDrive=at,h.getGrantedRights=tt,h.getModel=j,h.hasModel=Ut,h.isGranted=x,h.list=Wt,h.listDrives=Nt,h.listFiles=st,h.listFolders=ot,h.listModels=kt,h.listPermissions=Mt,h.listRoles=dt,h.listUsers=ut,h.login=H,h.logout=V,h.mutation=p,h.objectHasFile=B,h.query=F,h.readFileAsBase64=nt,h.resetPassword=Z,h.sendMail=yt,h.setApiClient=J,h.toQuery=Ft,h.updatePassword=Y,h.updateUser=ht,h.verifyCode=K,h.webAuthn=Q,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(h,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("json-to-graphql-query"),require("collect.js"),require("axios")):typeof define=="function"&&define.amd?define(["exports","json-to-graphql-query","collect.js","axios"],m):(h=typeof globalThis<"u"?globalThis:h||self,m(h.light={},h.jsonToGraphqlQuery,h.collect,h.axios))})(this,(function(h,m,k,mt){"use strict";function v(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function E(t,e,r=".",s){if(!v(e))return E(t,{},r,s);const o=Object.assign({},e);for(const u in t){if(u==="__proto__"||u==="constructor")continue;const c=t[u];c!=null&&(s&&s(o,u,c,r)||(Array.isArray(c)&&Array.isArray(o[u])?o[u]=[...c,...o[u]]:v(c)&&v(o[u])?o[u]=E(c,o[u],(r?`${r}.`:"")+u.toString(),s):o[u]=c))}return o}function wt(t){return(...e)=>e.reduce((r,s)=>E(r,s,"",t),{})}const C=wt();let P=null;const J=t=>{P=t},M=()=>{if(!P)throw new Error("Api client not initialized. Call setApiClient() first.");return P},bt=()=>P;function D(t){for(let e=0;e<t.length;e++)if(t[e]instanceof File)return!0;return!1}function B(t){for(let e in t)if(t[e]instanceof File||t[e]instanceof Array&&D(t[e]))return!0;return!1}function At(t){t="<~"+t+"~>";var e,r,s,o,u,c=String,p=255;for(t.slice(0,2)==="<~"&&t.slice(-2),t=t.slice(2,-2).replace(/\s/g,"").replace("z","!!!!!"),e="uuuuu".slice(t.length%5||5),t+=e,s=[],o=0,u=t.length;u>o;o+=5)r=52200625*(t.charCodeAt(o)-33)+614125*(t.charCodeAt(o+1)-33)+7225*(t.charCodeAt(o+2)-33)+85*(t.charCodeAt(o+3)-33)+(t.charCodeAt(o+4)-33),s.push(p&r>>24,p&r>>16,p&r>>8,p&r);return(function(n,i){for(var a=i;a>0;a--)n.pop()})(s,e.length),c.fromCharCode.apply(c,s)}const q=(t="")=>{const e=t,r=(s="application/octet-stream")=>{const o=new Uint8Array(e.length);for(let p=0;p<e.length;p++)o[p]=e.charCodeAt(p);const u=new Blob([o],{type:s});return URL.createObjectURL(u)};return{getContent:()=>e,getURL:r,download:s=>{const o=document.createElement("a");o.download=s,o.href=r(),document.body.appendChild(o),o.click(),document.body.removeChild(o)},open:s=>{window.open(r(s),"_blank")}}},Ct=t=>q(atob(t)),Ot=t=>q(At(t));function $(t,e,r,s,o){if(!(!t||typeof t!="object"))for(let u in t){const c=t[u];if(c&&typeof c=="object"){if("__args"in c){const p=c.__args,n={};Object.entries(p).forEach(([i,a])=>{if(a instanceof Array&&D(a)){n[i]=new m.VariableType(i);let l=0;a.forEach(f=>{f instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+i+"."+l),s.append(o.current.toString(),f),o.current++,l++)}),e[i]="[Upload!]!"}else a instanceof File?(n[i]=new m.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&B(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new m.VariableType(l);let g=0;f.forEach(_=>{_ instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+l+"."+g),s.append(o.current.toString(),_),o.current++,g++)}),e[l]="[Upload!]!"}else f instanceof File?(n[i][l]=new m.VariableType(l),r[o.current]=["variables."+l],s.append(o.current.toString(),f),e[l]="Upload!",o.current++):n[i][l]=f})):a!=null&&(n[i]=a)}),c.__args=n}$(c,e,r,s,o)}}}const F=async t=>{const{axios:e}=M(),r=t,s=new FormData;let o=!1;const u={},c={};$(r,u,c,s,{current:0}),o=Object.keys(u).length>0,o&&(r.__variables=u);let n=null;const i={query:r},a=m.jsonToGraphQLQuery(i);if(o?(s.append("map",JSON.stringify(c)),s.append("operations",JSON.stringify({query:a})),n=await e.post("",s)):n=await e.post("",{query:a}),n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data};function S(t,e){let r,s=[],o,u;const c=n=>!n||typeof n!="object"?!1:Object.values(n).some(i=>i&&typeof i=="object"&&Object.keys(i).some(a=>a.startsWith("_"))),p=()=>s.length===0?(s.unshift({}),s[0]):(c(s[0])&&s.unshift({}),s[0]);return{first(){return this.fetchFirst()},all(){return this.fetch()},async fetchFirst(){const i=await this.limit(1).fetch();return Array.isArray(i)&&i.length>0?i[0]:null},async fetchWithMeta(){let i=await F(this.toQuery(!0));if(u){const a=u.split(".");for(const l of a)i=i[l];return i}return i[`list${t}`]},async fetch(){let i=await F(this.toQuery());if(u){const a=u.split(".");for(const l of a)i=i[l];return i.data}return i[`list${t}`].data},dataPath(n){return n&&typeof n=="string"&&(u=n),this},sort(n){return n&&typeof n=="string"&&(o=n),this},filters(n){return n&&typeof n=="object"&&(s=[n]),this},where(n,i,a){const l=(f,g,_)=>{const b={">":"_gt","<":"_lt",">=":"_gte","<=":"_lte","!=":"_ne",in:"_in",contains:"_contains"}[g];b&&s.push({[f]:{[b]:_}})};if(a!==void 0)l(n,String(i),a);else{const f=p(),g=C(f,{[n]:i});s[0]=g}return this},whereContains(n,i){if(n&&typeof n=="string"){const a=p(),l={_contains:i};a[n]?Array.isArray(a[n])?a[n].push(l):a[n]=[a[n],l]:a[n]=[l],s[0]=a}return this},whereIn(n,i){if(n&&typeof n=="string"&&Array.isArray(i)){const a=p(),l={_in:i};a[n]?Array.isArray(a[n])?a[n].push(l):a[n]=[a[n],l]:a[n]=[l],s[0]=a}return this},whereBetween(n,i,a){if(n&&typeof n=="string"){const l=p(),f={_between:[i,a]};l[n]?Array.isArray(l[n])?l[n].push(f):l[n]=[l[n],f]:l[n]=f,s[0]=l}return this},limit(n){return typeof n=="number"&&Number.isFinite(n)&&(r=C(r||{},{limit:n})),this},offset(n){return typeof n=="number"&&Number.isFinite(n)&&(r=C(r||{},{offset:n})),this},toQuery(n=!1){let i;const a=s.length>0&&Object.keys(s[0]||{}).length>0,l=a?1:0,f=s.length>l;a&&f?i=s:f?i=s.slice(l):a&&(i=s[0]);const g=C(o?{sort:o}:{},i?{filters:i}:{}),_={data:{...e}};if(r&&(_.data.__args=r),Object.keys(g).length>0&&(_.__args=g),n&&(_.meta={total:!0,key:!0,name:!0}),u){const A=u.split(".");let b=_;for(let w=A.length-1;w>=0;w--)b={[A[w]]:b};return b}return{[`list${t}`]:_}}}}const Dt="list",St=["flatMap","chunk","shuffle","splice","sortBy","map","reverse","groupBy","keyBy","keys","mapToDictionary","mapWithKeys","nth","skipUntil","skipWhile","takeUntil","takeWhile","unique","pluck","push","only","pad","slice","tap","sort"],Pt=["avg","count","countBy","dd","each","every","filter","firstWhere","isEmpty","isNotEmpty","last","mapToGroups","max","median","min","mode","contains","sole","sort","split","sum","toJson","get","has","implode","partition"];class y{_batchData=null;data_path="";filters;steps;fields;already_limit=!1;already_offset=!1;limit=null;offset=null;_sort=null;_sortDesc=!1;meta={};constructor(e){this.filters={},this.steps=[],this.fields=e}}y.prototype.getQueryPayload=function(){let t={meta:{total:!0,key:!0,name:!0}};return t.__args=this.buildArgs(),t.data=this.fields,t.data.__args=t.data.__args||{},this.limit&&(t.data.__args.limit=this.limit),this.offset&&(t.data.__args.offset=this.offset),{data_path:this.data_path,query:t,steps:this.steps}},y.prototype.dataPath=function(t){const e=this.clone();return e.data_path=t,e},y.prototype.buildArgs=function(){let t={};return Object.keys(this.filters).length>0&&(t.filters=this.filters),this._sort&&(t.sort=this._sort,this._sortDesc&&(t.sort+=":desc")),t},y.prototype.clone=function(){const t=Object.create(this);return t.steps=JSON.parse(JSON.stringify(this.steps)),t.filters=JSON.parse(JSON.stringify(this.filters)),t.fields=JSON.parse(JSON.stringify(this.fields)),t},k().macro("whereContains",function(t,e){return this.filter(r=>r[t].toLowerCase().includes(e.toLowerCase()))}),y.prototype.fetchData=async function(){try{if(this._batchData){const p=this._batchData;return this.meta=p.meta,k(p.data)}let t={meta:{total:!0,key:!0,name:!0}};t.__args=this.buildArgs(),t.data=this.fields,this.already_limit&&(t.data.__args=t.data.__args||{},t.data.__args.limit=this.limit),this.already_offset&&(t.data.__args=t.data.__args||{},t.data.__args.offset=this.offset);const e=this.data_path.split(".");let r={},s=r,o=e[e.length-1];for(const p of e){if(p===o){s[p]=t;break}s[p]={},s=s[p]}let c=await F(r);for(const p of e)c=c[p];return this.meta=c.meta,k(c.data)}catch(t){throw console.error("Error fetching collection data:",t),t}},y.prototype.processData=async function(){let t=await this.fetchData();for(const e of this.steps)t=t[e.type](...e.args);return t},y.prototype.all=async function(){return(await this.processData()).all()};for(const t of St)y.prototype[t]=function(...e){const r=this.clone();return r.steps.push({type:t,args:e}),r};for(const t of Pt)y.prototype[t]=async function(...e){return(await this.clone().processData())[t](...e)};y.prototype.average=y.prototype.avg,y.prototype.first=async function(){return this.take(1),(await this.processData()).first()},y.prototype._handleBatchData=function(t,e){return this._batchData?(this.steps.push({type:t,args:e}),this):null},y.prototype.where=function(...t){const e=this._handleBatchData("where",t);if(e)return e;if(t.length===2)this.filters[t[0]]=t[1];else if(t.length===3){const r=t[0],s=t[1],o=t[2];switch(s){case"==":this.filters[r]=o;break;case"<":this.filters[r]={lt:o};break;case"<=":this.filters[r]={lte:o};break;case">":this.filters[r]={gt:o};break;case">=":this.filters[r]={gte:o};break;case"!==":this.filters[r]={ne:o};break;default:throw new Error(`Unsupported operator: ${s}`)}}return this},y.prototype.whereContains=function(t,e){const r=this._handleBatchData("whereContains",[t,e]);return r||(this.filters[t]={contains:e},this)},y.prototype.forPage=function(t,e){return t=Math.max(1,t),this.already_limit?(this.steps.push({type:"forPage",args:[t,e]}),this):(this.limit=e,this.offset=(t-1)*e,this.already_limit=!0,this.already_offset=!0,this)},y.prototype.whereIn=function(t,e){const r=this._handleBatchData("whereIn",[t,e]);return r||(this.filters[t]={in:e},this)},y.prototype.whereNotIn=function(t,e){const r=this._handleBatchData("whereNotIn",[t,e]);return r||(this.filters[t]={nin:e},this)},y.prototype.whereNotBetween=function(t,e){const r=this._handleBatchData("whereNotBetween",[t,e]);return r||(this.filters[t]={notBetween:e},this)},y.prototype.whereBetween=function(t,e){const r=this._handleBatchData("whereBetween",[t,e]);return r||(this.filters[t]={between:e},this)},y.prototype.sortBy=function(t){return this.steps.push({type:"sortBy",args:[t]}),typeof t=="string"&&(this._sort=t),this},y.prototype.sortByDesc=function(t){return this.steps.push({type:"sortByDesc",args:[t]}),typeof t=="string"&&(this._sort=t,this._sortDesc=!0),this},y.prototype.skip=function(t){if(t<0)throw new Error("Offset must be non-negative");return this.already_offset&&this.steps.push({type:"skip",args:[t]}),this.offset=t,this.already_offset=!0,this},y.prototype.take=function(t){if(t<0)throw new Error("Length must be non-negative");return this.already_limit?(this.steps.push({type:"take",args:[t]}),this):(this.limit=t,this.already_limit=!0,this)},y.prototype.splice=function(t,e){return this.steps.push({type:"splice",args:[t,e]}),this.offset=t,this.limit=e,this.already_limit=!0,this.already_offset=!0,this};const N=(t,e)=>{const r=new y(e);return r.data_path=Dt+t,r},Ut=(t,e={})=>{const r=e;let s="list"+t;const o=u=>r[u]?r[u]:null;return{field:o,$fields:r,setDataPath(u){return s=u,s},getDataPath(){return s},gqlFields(u){let c={};for(const p of u)if(typeof p=="string"){const n=o(p);n&&(c=C(c,n.gqlField?typeof n.gqlField=="string"?{[n.gqlField]:!0}:n.gqlField:{[n.name||p]:!0}))}else typeof p=="object"&&(c=C(c,p));return c},update(u,c){return d({["update"+t]:{__args:{id:u,data:c}}}).then(p=>p["update"+t])},async delete(u){return d({["delete"+t]:{__args:{id:u}}}).then(c=>c["delete"+t])},add(u){return d({["add"+t]:{__args:{data:u}}}).then(c=>c["add"+t])},fields(u){let c=[];for(let p of u){const n=o(p);n&&c.push(n)}return c},async get(u,c){const p=N(t,Ft(c));for(const[n,i]of Object.entries(u))p.where(n,"==",i);return await p.first()},list(u){let c=u;const p={};Object.entries(u).forEach(([a])=>{r[a]&&(p[a]=r[a],r[a].gqlField&&(delete c[a],c=C(c,r[a].gqlField)),r[a].gql&&(delete c[a],c=C(c,r[a].gql)))});const n=S(t,c).dataPath(s),i=n.fetch.bind(n);return{...n,async fetch(){return(await i()).map(l=>{const f={...l};return Object.entries(p).forEach(([g,_])=>{_.field&&typeof _.field=="function"&&(f[g]=_.field(l[g],l))}),f})},async fetchFirst(){const l=await n.fetchFirst.bind(n)();if(!l)return l;const f={...l};return Object.entries(p).forEach(([g,_])=>{_.field&&typeof _.field=="function"&&(f[g]=_.field(l[g],l))}),f}}}}},O={},R=(t,e)=>{const r=Ut(t,e);return O[t]=r,r},U=t=>O[t]?O[t]:R(t,{}),jt=t=>!!O[t],kt=()=>Object.keys(O),vt=()=>{Object.keys(O).forEach(t=>delete O[t])},Et=t=>{Object.entries(t).forEach(([e,r])=>{R(e,r)})},Mt=()=>F({app:{permissions:!0}}).then(t=>t.app.permissions),z=async()=>{const{app:t}=await F({app:{auth:{webAuthnRequestOptions:!0}}}),e=t.auth.webAuthnRequestOptions,r=PublicKeyCredential.parseRequestOptionsFromJSON(e);return await navigator.credentials.get({publicKey:r})},W=async()=>{const{app:t}=await F({app:{auth:{webAuthnCreationOptions:!0}}}),e=PublicKeyCredential.parseCreationOptionsFromJSON(t.auth.webAuthnCreationOptions);return await navigator.credentials.create({publicKey:e})},Q=Object.freeze(Object.defineProperty({__proto__:null,assertion:z,attestation:W,login:async()=>{const t=await z();return await d({webAuthnAssertion:{__args:{assertion:t.toJSON()}}}).then(e=>e.webAuthnAssertion)},register:async()=>{const t=await W();return await d({webAuthnRegister:{__args:{registration:t.toJSON()}}}).then(e=>e.webAuthnRegister)}},Symbol.toStringTag,{value:"Module"})),G=(t=T)=>F({my:t}).then(e=>e.my),H=(t,e,r="")=>d({login:{__args:{username:t,password:e,code:r}}}).then(s=>s.login),V=()=>d({logout:!0}).then(t=>t.logout),X=(t,e,r)=>d({changeExpiredPassword:{__args:{username:t,old_password:e,new_password:r}}}).then(s=>s.changeExpiredPassword),Y=(t,e)=>d({changeUserPassword:{__args:{old_password:t,new_password:e}}}).then(r=>r.changeUserPassword),Z=(t,e,r)=>d({resetPassword:{__args:{jwt:t,password:e,code:r}}}).then(s=>s.resetPassword),I=(t,e)=>d({forgetPassword:{__args:{username:t,email:e}}}).then(r=>r.forgetPassword),K=(t,e)=>d({forgetPasswordVerifyCode:{__args:{jwt:t,code:e}}}).then(r=>r.forgetPasswordVerifyCode),x=t=>F({my:{granted:{__args:{right:t}}}}).then(e=>e.my.granted),tt=t=>F({my:{grantedRights:{__args:{rights:t}}}}).then(e=>e.my.grantedRights),et={getCurrentUser:G,webAuthn:Q,google:{unlink:()=>d({lightAuthUnlinkGoogle:!0}).then(t=>t.lightAuthUnlinkGoogle),login:t=>d({lightAuthLoginGoogle:{__args:{credential:t}}}).then(e=>e.lightAuthLoginGoogle),register:t=>d({lightAuthRegisterGoogle:{__args:{credential:t}}}).then(e=>e.lightAuthRegisterGoogle)},facebook:{unlink:()=>d({lightAuthUnlinkFacebook:!0}).then(t=>t.lightAuthUnlinkFacebook),login:t=>d({lightAuthLoginFacebook:{__args:{access_token:t}}}).then(e=>e.lightAuthLoginFacebook),register:t=>d({lightAuthRegisterFacebook:{__args:{access_token:t}}}).then(e=>e.lightAuthRegisterFacebook)},microsoft:{unlink:()=>d({lightAuthUnlinkMicrosoft:!0}).then(t=>t.lightAuthUnlinkMicrosoft),login:t=>d({lightAuthLoginMicrosoft:{__args:{access_token:t}}}).then(e=>e.lightAuthLoginMicrosoft),register:t=>d({lightAuthRegisterMicrosoft:{__args:{account_id:t}}}).then(e=>e.lightAuthRegisterMicrosoft)},login:H,logout:V,changeExpiredPassword:X,updatePassword:Y,resetPassword:Z,forgetPassword:I,verifyCode:K,grantedRights:tt,isGranted:x},rt={name:!0,path:!0,size:!0,mime:!0,url:!0},st=(t,e,r=rt)=>F({app:{drive:{__args:{index:t},files:{__args:{path:e},...r}}}}).then(s=>s.app.drive.files),nt=(t,e)=>F({app:{drive:{__args:{index:t},file:{__args:{path:e},base64Content:!0}}}}).then(r=>r.app.drive?.file?.base64Content),Bt=t=>({list:(e,r=rt)=>st(t,e,r),get:(e,r={name:!0,path:!0,size:!0,mime:!0,url:!0})=>F({app:{drive:{__args:{index:t},file:{__args:{path:e},...r}}}}).then(s=>s.app.drive.file),readFileAsBase64(e){return nt(t,e)},read:async e=>{let r=await F({app:{drive:{__args:{index:t},file:{__args:{path:e},base64Content:!0}}}});if(!r.app.drive.file||!r.app.drive.file.base64Content)throw new Error(`File not found or cannot read content: ${e}`);return typeof window<"u"&&window.atob?window.atob(r.app.drive.file.base64Content):r.app.drive.file.base64Content},write:(e,r)=>d({lightDriveWriteFile:{__args:{index:t,path:e,content:r}}}).then(s=>s.lightDriveWriteFile),delete:e=>d({lightDriveDeleteFile:{__args:{index:t,path:e}}}).then(r=>r.lightDriveDeleteFile),rename:(e,r)=>d({lightDriveRenameFile:{__args:{index:t,path:e,name:r}}}).then(s=>s.lightDriveRenameFile),move:(e,r)=>d({lightDriveMoveFile:{__args:{index:t,source:e,destination:r}}}).then(s=>s.lightDriveMoveFile)}),it={name:!0,path:!0},ot=(t,e,r=it)=>F({app:{drive:{__args:{index:t},folders:{__args:{path:e},...r}}}}).then(s=>s.app.drive.folders),qt=t=>({list:(e,r=it)=>ot(t,e,r),create:e=>d({lightDriveCreateFolder:{__args:{index:t,path:e}}}).then(r=>r.lightDriveCreateFolder),delete:e=>d({lightDriveDeleteFolder:{__args:{index:t,path:e}}}).then(r=>r.lightDriveDeleteFolder),rename:(e,r)=>d({lightDriveRenameFolder:{__args:{index:t,path:e,name:r}}}).then(s=>s.lightDriveRenameFolder)}),Nt=()=>F({app:{drives:{index:!0,name:!0}}}).then(t=>t.app.drives),at=t=>{const e=Bt(t),r=qt(t);return{folders:r,files:e,listFiles:e.list,getFile:e.get,readFile:e.read,writeFile:e.write,deleteFile:e.delete,renameFile:e.rename,moveFile:e.move,listFolders:r.list,createFolder:r.create,deleteFolder:r.delete,renameFolder:r.rename,uploadTempFile:s=>d({lightDriveUploadTempFile:{__args:{index:t,file:s},name:!0,path:!0,size:!0,mime:!0}}).then(o=>o.lightDriveUploadTempFile)}},T={user_id:!0,username:!0,first_name:!0,last_name:!0,status:!0},lt=t=>d({addUser:{__args:t}}).then(e=>e.addUser),ct=t=>d({deleteUser:{__args:{id:t}}}).then(e=>e.deleteUser),ut=(t=T)=>S("Users",t).dataPath("app.listUser").fetch(),ht=(t,e)=>d({updateUser:{__args:{id:t,data:e}}}).then(r=>r.updateUser),Rt={list:ut,create:lt,delete:ct,update:ht},ft=t=>F({app:{listConfig:{__args:{filters:{name:t}},data:{name:!0,value:!0}}}}).then(e=>e.app.listConfig.data[0]?.value),Tt={name:!0},pt=(t=Tt)=>F({app:{roles:t}}).then(e=>e.app.roles),dt=(t,e)=>d({addRole:{__args:{data:{name:t,childs:e}}}}).then(r=>r.addRole),gt=t=>d({deleteRole:{__args:{name:t}}}).then(e=>e.deleteRole),Lt=()=>({list:pt,create:dt,delete:gt});function _t(t,e,r,s,o){if(!(!t||typeof t!="object"))for(let u in t){const c=t[u];if(c&&typeof c=="object"){if("__args"in c){const p=c.__args,n={};Object.entries(p).forEach(([i,a])=>{if(a instanceof Array&&D(a)){n[i]=new m.VariableType(i);let l=0;a.forEach(f=>{f instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+i+"."+l),s.append(o.current.toString(),f),o.current++,l++)}),e[i]="[Upload!]!"}else a instanceof File?(n[i]=new m.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&B(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new m.VariableType(l);let g=0;f.forEach(_=>{_ instanceof File&&(r[o.current]||(r[o.current]=[]),r[o.current].push("variables."+l+"."+g),s.append(o.current.toString(),_),o.current++,g++)}),e[l]="[Upload!]!"}else f instanceof File?(n[i][l]=new m.VariableType(l),r[o.current]=["variables."+l],s.append(o.current.toString(),f),e[l]="Upload!",o.current++):n[i][l]=f})):a!=null&&(n[i]=a)}),c.__args=n}_t(c,e,r,s,o)}}}const d=async t=>{const{axios:e}=M(),r=t,s=new FormData;let o=!1;const u={},c={};_t(r,u,c,s,{current:0}),o=Object.keys(u).length>0,o&&(r.__variables=u);let n=null;const i={mutation:r},a=m.jsonToGraphQLQuery(i);if(o?(s.append("map",JSON.stringify(c)),s.append("operations",JSON.stringify({query:a})),n=await e.post("",s)):n=await e.post("",{query:a}),n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data},yt=(t,e,r)=>d({sendMail:{__args:{email:t,subject:e,message:r}}}).then(s=>s.sendMail),Jt={send:yt},$t=Object.freeze(Object.defineProperty({__proto__:null,createFolder:t=>d({lightFSCreateFolder:{__args:{location:t}}}).then(e=>e.lightFSCreateFolder),deleteFile:t=>d({lightFSDeleteFile:{__args:{location:t}}}).then(e=>e.lightFSDeleteFile),deleteFolder:t=>d({lightFSDeleteFolder:{__args:{location:t}}}).then(e=>e.lightFSDeleteFolder),exists:t=>F({app:{fs:{exists:{__args:{location:t}}}}}).then(e=>e.app.fs.exists),find:(t,e)=>{const r={};return t&&(r.search=t),e&&(r.label=e),F({app:{fs:{find:{__args:r,__typename:!0,name:!0,lastModified:!0,location:!0,path:!0,__on:[{__typeName:"File",size:!0,mimeType:!0,publicUrl:!0},{__typeName:"Folder"}]}}}}).then(s=>s.app.fs.find)},list:t=>F({app:{fs:{node:{__args:{location:t},__typename:!0,__on:[{__typeName:"Folder",name:!0,location:!0,path:!0,children:{__typename:!0,name:!0,lastModified:!0,location:!0,path:!0,__on:[{__typeName:"File",size:!0,mimeType:!0,publicUrl:!0},{__typeName:"Folder"}]}}]}}}}).then(r=>r.app.fs.node),move:(t,e)=>d({lightFSMove:{__args:{from:t,to:e}}}).then(r=>r.lightFSMove),readFile:(t,e="text")=>F({app:{fs:{node:{__args:{location:t},__typename:!0,__on:[{__typeName:"File",...e==="text"?{content:!0}:{base64Content:!0}}]}}}}).then(r=>{const s=r.app.fs.node;return s?.__typename==="File"?e==="text"?s.content:s.base64Content:null}),renameFile:(t,e)=>d({lightFSRenameFile:{__args:{location:t,newName:e}}}).then(r=>r.lightFSRenameFile),renameFolder:(t,e)=>d({lightFSRenameFolder:{__args:{location:t,newName:e}}}).then(r=>r.lightFSRenameFolder),uploadBase64:(t,e)=>d({lightFSUploadBase64:{__args:{location:t,base64:e},__typename:!0,name:!0,path:!0,location:!0,__on:[{__typename:"File",size:!0,mimeType:!0,lastModified:!0}]}}).then(r=>r.lightFSUploadBase64),uploadFile:(t,e)=>d({lightFSUploadFile:{__args:{location:t,file:e}}}).then(r=>r.lightFSUploadFile),writeFile:(t,e)=>d({lightFSWriteFile:{__args:{location:t,content:e}}}).then(r=>r.lightFSWriteFile)},Symbol.toStringTag,{value:"Module"})),L=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(r=>{Object.entries(L(r)).forEach(([s,o])=>{e[s]=o})}),e):(Object.entries(t).forEach(([r,s])=>{if(r=="__args"||r=="__aliasFor"||r=="__variables"||r=="__directives"||r=="__all_on"||r=="__name"){e[r]=s;return}if(typeof s=="boolean"){e[r]=s;return}e[r]=L(s)}),e)},Ft=t=>L(t),zt=t=>{const e=typeof window>"u";let r=[];const s=mt.create({baseURL:t,withCredentials:!0});let o=!1,u=[];const c=(i,a=null)=>{u.forEach(l=>{i?l.reject(i):l.resolve(a)}),u=[]};s.interceptors.response.use(i=>{const a=i.data.errors;if(a&&a.some(l=>l.extensions?.code==="TOKEN_EXPIRED")){const l=i.config;return o?new Promise((f,g)=>{u.push({resolve:f,reject:g})}).then(()=>s(l)).catch(f=>Promise.reject(f)):(o=!0,p().then(()=>(o=!1,c(null),s(l))).catch(f=>(o=!1,c(f),Promise.reject(f))))}return i},i=>Promise.reject(i));function p(){return s.post("/refresh_token")}e&&(s.interceptors.request.use(i=>(i.withCredentials=!0,r.length>0&&(i.headers.Cookie=r.join("; ")),i)),s.interceptors.response.use(i=>{if(i.headers["set-cookie"]){const a=i.headers["set-cookie"].map(f=>f.split(";")[0]),l=new Map;r.forEach(f=>{const g=f.split("=")[0];l.set(g,f)}),a.forEach(f=>{const g=f.split("=")[0];l.set(g,f)}),r=Array.from(l.values())}return i}));const n={post:s.post,baseURL:t,axios:s,auth:et,mutation:d,query:F,config:ft,mail:Jt,users:Rt,model(i){return U(i)},roles:Lt(),collect:(i,a)=>{const l=N(i,a);return l.data_path=U(i).getDataPath(),l},list:(i,a)=>S(i,a).dataPath(U(i).getDataPath()),drive:at,async collects(i){const a={},l={};for(const g in i){const _=i[g].getQueryPayload();l[g]=_.data_path,a[g]={};const A=_.data_path.split(".");let b=A[A.length-1],w=a[g];for(const j of A){if(j===b){w[j]=_.query;break}w[j]=w[j]||{}}a[g].__aliasFor=A[0]}const f=await F(a);for(const g in i){const _=l[g].split(".");let A=_[_.length-1],b=f[g];for(const w of _){if(w===A){i[g]._batchData=f[g][w];break}b[w]=b[w]||{}}}return i}};return J(n),n},Wt=S;h.arrayHasFile=D,h.auth=et,h.changeExpiredPassword=X,h.clearModels=vt,h.createClient=zt,h.createCollection=N,h.createFileFromBase64=Ct,h.createFileFromBase85=Ot,h.createFileFromString=q,h.createList=S,h.createRole=dt,h.createUser=lt,h.defaultUserFields=T,h.defineModel=R,h.defineModels=Et,h.deleteRole=gt,h.deleteUser=ct,h.forgetPassword=I,h.fs=$t,h.getApiClient=M,h.getApiClientOptional=bt,h.getConfig=ft,h.getCurrentUser=G,h.getDrive=at,h.getGrantedRights=tt,h.getModel=U,h.hasModel=jt,h.isGranted=x,h.list=Wt,h.listDrives=Nt,h.listFiles=st,h.listFolders=ot,h.listModels=kt,h.listPermissions=Mt,h.listRoles=pt,h.listUsers=ut,h.login=H,h.logout=V,h.mutation=d,h.objectHasFile=B,h.query=F,h.readFileAsBase64=nt,h.resetPassword=Z,h.sendMail=yt,h.setApiClient=J,h.toQuery=Ft,h.updatePassword=Y,h.updateUser=ht,h.verifyCode=K,h.webAuthn=Q,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})}));
|