@hostlink/light 3.2.3 → 3.2.5

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.
@@ -7,5 +7,6 @@ export declare const uploadFile: (location: string, file: File) => Promise<any>;
7
7
  export declare const deleteFile: (location: string) => Promise<any>;
8
8
  export declare const move: (from: string, to: string) => Promise<any>;
9
9
  export declare const exists: (location: string) => Promise<any>;
10
+ export declare const find: (search?: string, label?: "document" | "image" | "audio" | "video" | "archive") => Promise<any>;
10
11
  export declare const list: (location: string) => Promise<any>;
11
12
  export declare const read: (location: string) => Promise<any>;
package/dist/light.js CHANGED
@@ -34,18 +34,18 @@ const A = X();
34
34
  let S = null;
35
35
  const Y = (t) => {
36
36
  S = t;
37
- }, M = () => {
37
+ }, N = () => {
38
38
  if (!S)
39
39
  throw new Error("Api client not initialized. Call setApiClient() first.");
40
40
  return S;
41
- }, Yt = () => S;
41
+ }, Zt = () => S;
42
42
  function D(t) {
43
43
  for (let e = 0; e < t.length; e++)
44
44
  if (t[e] instanceof File)
45
45
  return !0;
46
46
  return !1;
47
47
  }
48
- function N(t) {
48
+ function M(t) {
49
49
  for (let e in t)
50
50
  if (t[e] instanceof File || t[e] instanceof Array && D(t[e]))
51
51
  return !0;
@@ -78,7 +78,7 @@ const B = (t = "") => {
78
78
  window.open(r(s), "_blank");
79
79
  }
80
80
  };
81
- }, Zt = (t) => B(atob(t)), Vt = (t) => B(Z(t));
81
+ }, Vt = (t) => B(atob(t)), It = (t) => B(Z(t));
82
82
  function J(t, e, r, s, i) {
83
83
  if (!(!t || typeof t != "object"))
84
84
  for (let u in t) {
@@ -93,7 +93,7 @@ function J(t, e, r, s, i) {
93
93
  a.forEach((h) => {
94
94
  h instanceof File && (r[i.current] || (r[i.current] = []), r[i.current].push("variables." + o + "." + c), s.append(i.current.toString(), h), i.current++, c++);
95
95
  }), e[o] = "[Upload!]!";
96
- } else a instanceof File ? (n[o] = new b(o), r[i.current] = ["variables." + o], s.append(i.current.toString(), a), e[o] = "Upload!", i.current++) : a instanceof Object && N(a) ? (n[o] = {}, Object.entries(a).forEach(([c, h]) => {
96
+ } else a instanceof File ? (n[o] = new b(o), r[i.current] = ["variables." + o], s.append(i.current.toString(), a), e[o] = "Upload!", i.current++) : a instanceof Object && M(a) ? (n[o] = {}, Object.entries(a).forEach(([c, h]) => {
97
97
  if (h instanceof Array && D(h)) {
98
98
  n[o][c] = new b(c);
99
99
  let d = 0;
@@ -109,7 +109,7 @@ function J(t, e, r, s, i) {
109
109
  }
110
110
  }
111
111
  const y = async (t) => {
112
- const { axios: e } = M(), r = t, s = new FormData();
112
+ const { axios: e } = N(), r = t, s = new FormData();
113
113
  let i = !1;
114
114
  const u = {}, l = {};
115
115
  J(r, u, l, s, { current: 0 }), i = Object.keys(u).length > 0, i && (r.__variables = u);
@@ -541,7 +541,7 @@ const L = (t, e) => {
541
541
  return l;
542
542
  },
543
543
  async get(u, l) {
544
- const p = L(t, Wt(l));
544
+ const p = L(t, zt(l));
545
545
  for (const [n, o] of Object.entries(u))
546
546
  p.where(n, "==", o);
547
547
  return await p.first();
@@ -577,13 +577,13 @@ const L = (t, e) => {
577
577
  }, O = {}, R = (t, e) => {
578
578
  const r = x(t, e);
579
579
  return O[t] = r, r;
580
- }, P = (t) => O[t] ? O[t] : R(t, {}), It = (t) => !!O[t], Kt = () => Object.keys(O), xt = () => {
580
+ }, P = (t) => O[t] ? O[t] : R(t, {}), Kt = (t) => !!O[t], xt = () => Object.keys(O), te = () => {
581
581
  Object.keys(O).forEach((t) => delete O[t]);
582
- }, te = (t) => {
582
+ }, ee = (t) => {
583
583
  Object.entries(t).forEach(([e, r]) => {
584
584
  R(e, r);
585
585
  });
586
- }, ee = () => y({
586
+ }, re = () => y({
587
587
  app: {
588
588
  permissions: !0
589
589
  }
@@ -770,7 +770,7 @@ const L = (t, e) => {
770
770
  create: (e) => f({ lightDriveCreateFolder: { __args: { index: t, path: e } } }).then((r) => r.lightDriveCreateFolder),
771
771
  delete: (e) => f({ lightDriveDeleteFolder: { __args: { index: t, path: e } } }).then((r) => r.lightDriveDeleteFolder),
772
772
  rename: (e, r) => f({ lightDriveRenameFolder: { __args: { index: t, path: e, name: r } } }).then((s) => s.lightDriveRenameFolder)
773
- }), re = () => y({
773
+ }), se = () => y({
774
774
  app: {
775
775
  drives: {
776
776
  index: !0,
@@ -878,7 +878,7 @@ function z(t, e, r, s, i) {
878
878
  a.forEach((h) => {
879
879
  h instanceof File && (r[i.current] || (r[i.current] = []), r[i.current].push("variables." + o + "." + c), s.append(i.current.toString(), h), i.current++, c++);
880
880
  }), e[o] = "[Upload!]!";
881
- } else a instanceof File ? (n[o] = new b(o), r[i.current] = ["variables." + o], s.append(i.current.toString(), a), e[o] = "Upload!", i.current++) : a instanceof Object && N(a) ? (n[o] = {}, Object.entries(a).forEach(([c, h]) => {
881
+ } else a instanceof File ? (n[o] = new b(o), r[i.current] = ["variables." + o], s.append(i.current.toString(), a), e[o] = "Upload!", i.current++) : a instanceof Object && M(a) ? (n[o] = {}, Object.entries(a).forEach(([c, h]) => {
882
882
  if (h instanceof Array && D(h)) {
883
883
  n[o][c] = new b(c);
884
884
  let d = 0;
@@ -894,7 +894,7 @@ function z(t, e, r, s, i) {
894
894
  }
895
895
  }
896
896
  const f = async (t) => {
897
- const { axios: e } = M(), r = t, s = new FormData();
897
+ const { axios: e } = N(), r = t, s = new FormData();
898
898
  let i = !1;
899
899
  const u = {}, l = {};
900
900
  z(r, u, l, s, { current: 0 }), i = Object.keys(u).length > 0, i && (r.__variables = u);
@@ -913,11 +913,11 @@ const f = async (t) => {
913
913
  lightFSCreateFolder: {
914
914
  __args: { location: t }
915
915
  }
916
- }).then((e) => e.lightFSCreateFolder), Mt = (t) => f({
916
+ }).then((e) => e.lightFSCreateFolder), Nt = (t) => f({
917
917
  lightFSDeleteFolder: {
918
918
  __args: { location: t }
919
919
  }
920
- }).then((e) => e.lightFSDeleteFolder), Nt = (t, e) => f({
920
+ }).then((e) => e.lightFSDeleteFolder), Mt = (t, e) => f({
921
921
  lightFSRenameFolder: {
922
922
  __args: { location: t, newName: e }
923
923
  }
@@ -949,7 +949,30 @@ const f = async (t) => {
949
949
  }
950
950
  }
951
951
  }
952
- }).then((e) => e.app.fs.exists), $t = (t) => y({
952
+ }).then((e) => e.app.fs.exists), $t = (t, e) => {
953
+ const r = {};
954
+ return t && (r.search = t), e && (r.label = e), y({
955
+ app: {
956
+ fs: {
957
+ find: {
958
+ __args: r,
959
+ __typename: !0,
960
+ name: !0,
961
+ lastModified: !0,
962
+ location: !0,
963
+ path: !0,
964
+ __on: [{
965
+ __typeName: "File",
966
+ size: !0,
967
+ mimeType: !0
968
+ }, {
969
+ __typeName: "Folder"
970
+ }]
971
+ }
972
+ }
973
+ }
974
+ }).then((s) => s.app.fs.find);
975
+ }, Gt = (t) => y({
953
976
  app: {
954
977
  fs: {
955
978
  node: {
@@ -978,7 +1001,7 @@ const f = async (t) => {
978
1001
  }
979
1002
  }
980
1003
  }
981
- }).then((r) => r.app.fs.node), Gt = (t) => y({
1004
+ }).then((r) => r.app.fs.node), Wt = (t) => y({
982
1005
  app: {
983
1006
  fs: {
984
1007
  node: {
@@ -992,17 +1015,18 @@ const f = async (t) => {
992
1015
  }
993
1016
  }
994
1017
  }
995
- }).then((e) => e.app.fs.node.content), se = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1018
+ }).then((e) => e.app.fs.node.content), ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
996
1019
  __proto__: null,
997
1020
  createFolder: qt,
998
1021
  deleteFile: Rt,
999
- deleteFolder: Mt,
1022
+ deleteFolder: Nt,
1000
1023
  exists: Qt,
1001
- list: $t,
1024
+ find: $t,
1025
+ list: Gt,
1002
1026
  move: Tt,
1003
- read: Gt,
1027
+ read: Wt,
1004
1028
  renameFile: Bt,
1005
- renameFolder: Nt,
1029
+ renameFolder: Mt,
1006
1030
  uploadFile: Lt,
1007
1031
  writeFile: Jt
1008
1032
  }, Symbol.toStringTag, { value: "Module" })), v = (t) => {
@@ -1022,7 +1046,7 @@ const f = async (t) => {
1022
1046
  }
1023
1047
  e[r] = v(s);
1024
1048
  }), e);
1025
- }, Wt = (t) => v(t), ne = (t) => {
1049
+ }, zt = (t) => v(t), oe = (t) => {
1026
1050
  const e = typeof window > "u";
1027
1051
  let r = [];
1028
1052
  const s = H.create({
@@ -1116,54 +1140,54 @@ const f = async (t) => {
1116
1140
  }
1117
1141
  };
1118
1142
  return Y(n), n;
1119
- }, oe = j;
1143
+ }, ie = j;
1120
1144
  export {
1121
1145
  D as arrayHasFile,
1122
1146
  ft as auth,
1123
1147
  it as changeExpiredPassword,
1124
- xt as clearModels,
1125
- ne as createClient,
1148
+ te as clearModels,
1149
+ oe as createClient,
1126
1150
  L as createCollection,
1127
- Zt as createFileFromBase64,
1128
- Vt as createFileFromBase85,
1151
+ Vt as createFileFromBase64,
1152
+ It as createFileFromBase85,
1129
1153
  B as createFileFromString,
1130
1154
  j as createList,
1131
1155
  kt as createRole,
1132
1156
  Ft as createUser,
1133
1157
  W as defaultUserFields,
1134
1158
  R as defineModel,
1135
- te as defineModels,
1159
+ ee as defineModels,
1136
1160
  Pt as deleteRole,
1137
1161
  bt as deleteUser,
1138
1162
  lt as forgetPassword,
1139
- se as fs,
1140
- M as getApiClient,
1141
- Yt as getApiClientOptional,
1163
+ ne as fs,
1164
+ N as getApiClient,
1165
+ Zt as getApiClientOptional,
1142
1166
  Ct as getConfig,
1143
1167
  st as getCurrentUser,
1144
1168
  mt as getDrive,
1145
1169
  pt as getGrantedRights,
1146
1170
  P as getModel,
1147
- It as hasModel,
1171
+ Kt as hasModel,
1148
1172
  ht as isGranted,
1149
- oe as list,
1150
- re as listDrives,
1173
+ ie as list,
1174
+ se as listDrives,
1151
1175
  dt as listFiles,
1152
1176
  yt as listFolders,
1153
- Kt as listModels,
1154
- ee as listPermissions,
1177
+ xt as listModels,
1178
+ re as listPermissions,
1155
1179
  jt as listRoles,
1156
1180
  At as listUsers,
1157
1181
  nt as login,
1158
1182
  ot as logout,
1159
1183
  f as mutation,
1160
- N as objectHasFile,
1184
+ M as objectHasFile,
1161
1185
  y as query,
1162
1186
  gt as readFileAsBase64,
1163
1187
  ct as resetPassword,
1164
1188
  Et as sendMail,
1165
1189
  Y as setApiClient,
1166
- Wt as toQuery,
1190
+ zt as toQuery,
1167
1191
  at as updatePassword,
1168
1192
  Ot as updateUser,
1169
1193
  ut as verifyCode,
@@ -1 +1 @@
1
- (function(h,w){typeof exports=="object"&&typeof module<"u"?w(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"],w):(h=typeof globalThis<"u"?globalThis:h||self,w(h.light={},h.jsonToGraphqlQuery,h.collect,h.axios))})(this,(function(h,w,U,wt){"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 mt(t){return(...e)=>e.reduce((r,s)=>E(r,s,"",t),{})}const C=mt();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 q(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 B=(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=>B(atob(t)),Ot=t=>B(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 w.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 w.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&q(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new w.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 w.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=w.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 m=A.length-1;m>=0;m--)b={[A[m]]: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},U().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,U(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,U(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,{}),kt=t=>!!O[t],Ut=()=>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),W=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})},z=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:W,attestation:z,login:async()=>{const t=await W();return await p({webAuthnAssertion:{__args:{assertion:t.toJSON()}}}).then(e=>e.webAuthnAssertion)},register:async()=>{const t=await z();return await p({webAuthnRegister:{__args:{registration:t.toJSON()}}}).then(e=>e.webAuthnRegister)}},Symbol.toStringTag,{value:"Module"})),G=(t=L)=>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),qt=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),Bt=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=qt(t),r=Bt(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)}},L={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=L)=>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),Lt={name:!0},dt=(t=Lt)=>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),Tt=()=>({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 w.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 w.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&q(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new w.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 w.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=w.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),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),read:t=>F({app:{fs:{node:{__args:{location:t},__on:[{__typeName:"File",content:!0}]}}}}).then(e=>e.app.fs.node.content),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),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"})),T=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(r=>{Object.entries(T(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]=T(s)}),e)},Ft=t=>T(t),Wt=t=>{const e=typeof window>"u";let r=[];const s=wt.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:Tt(),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],m=a[g];for(const k of A){if(k===b){m[k]=_.query;break}m[k]=m[k]||{}}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 m of _){if(m===A){i[g]._batchData=f[g][m];break}b[m]=b[m]||{}}}return i}};return J(n),n},zt=S;h.arrayHasFile=D,h.auth=et,h.changeExpiredPassword=X,h.clearModels=vt,h.createClient=Wt,h.createCollection=N,h.createFileFromBase64=Ct,h.createFileFromBase85=Ot,h.createFileFromString=B,h.createList=S,h.createRole=pt,h.createUser=lt,h.defaultUserFields=L,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=kt,h.isGranted=x,h.list=zt,h.listDrives=Nt,h.listFiles=st,h.listFolders=ot,h.listModels=Ut,h.listPermissions=Mt,h.listRoles=dt,h.listUsers=ut,h.login=H,h.logout=V,h.mutation=p,h.objectHasFile=q,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,w){typeof exports=="object"&&typeof module<"u"?w(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"],w):(h=typeof globalThis<"u"?globalThis:h||self,w(h.light={},h.jsonToGraphqlQuery,h.collect,h.axios))})(this,(function(h,w,U,wt){"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 mt(t){return(...e)=>e.reduce((r,s)=>E(r,s,"",t),{})}const C=mt();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 q(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 N=(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=>N(atob(t)),Ot=t=>N(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 w.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 w.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&q(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new w.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 w.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=w.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 m=A.length-1;m>=0;m--)b={[A[m]]: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},U().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,U(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,U(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 B=(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=B(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,{}),kt=t=>!!O[t],Ut=()=>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),W=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})},z=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:W,attestation:z,login:async()=>{const t=await W();return await p({webAuthnAssertion:{__args:{assertion:t.toJSON()}}}).then(e=>e.webAuthnAssertion)},register:async()=>{const t=await z();return await p({webAuthnRegister:{__args:{registration:t.toJSON()}}}).then(e=>e.webAuthnRegister)}},Symbol.toStringTag,{value:"Module"})),G=(t=L)=>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),qt=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),Nt=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)}),Bt=()=>F({app:{drives:{index:!0,name:!0}}}).then(t=>t.app.drives),at=t=>{const e=qt(t),r=Nt(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)}},L={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=L)=>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),Lt={name:!0},dt=(t=Lt)=>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),Tt=()=>({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 w.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 w.VariableType(i),r[o.current]=["variables."+i],s.append(o.current.toString(),a),e[i]="Upload!",o.current++):a instanceof Object&&q(a)?(n[i]={},Object.entries(a).forEach(([l,f])=>{if(f instanceof Array&&D(f)){n[i][l]=new w.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 w.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=w.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),read:t=>F({app:{fs:{node:{__args:{location:t},__on:[{__typeName:"File",content:!0}]}}}}).then(e=>e.app.fs.node.content),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),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"})),T=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(r=>{Object.entries(T(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]=T(s)}),e)},Ft=t=>T(t),Wt=t=>{const e=typeof window>"u";let r=[];const s=wt.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:Tt(),collect:(i,a)=>{const l=B(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],m=a[g];for(const k of A){if(k===b){m[k]=_.query;break}m[k]=m[k]||{}}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 m of _){if(m===A){i[g]._batchData=f[g][m];break}b[m]=b[m]||{}}}return i}};return J(n),n},zt=S;h.arrayHasFile=D,h.auth=et,h.changeExpiredPassword=X,h.clearModels=vt,h.createClient=Wt,h.createCollection=B,h.createFileFromBase64=Ct,h.createFileFromBase85=Ot,h.createFileFromString=N,h.createList=S,h.createRole=pt,h.createUser=lt,h.defaultUserFields=L,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=kt,h.isGranted=x,h.list=zt,h.listDrives=Bt,h.listFiles=st,h.listFolders=ot,h.listModels=Ut,h.listPermissions=Mt,h.listRoles=dt,h.listUsers=ut,h.login=H,h.logout=V,h.mutation=p,h.objectHasFile=q,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"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostlink/light",
3
- "version": "3.2.3",
3
+ "version": "3.2.5",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"