@hostlink/light 2.1.0 → 2.2.0

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/auth.d.ts CHANGED
@@ -9,6 +9,7 @@ declare const _default: (axios: AxiosInstance) => {
9
9
  googleLogin: (credential: string) => Promise<boolean>;
10
10
  login: (username: string, password: string, code?: string) => Promise<boolean>;
11
11
  logout: () => Promise<boolean>;
12
+ changeExpiredPassword: (username: string, oldPassword: string, newPassword: string) => Promise<boolean>;
12
13
  updatePassword: (oldPassword: string, newPassword: string) => Promise<boolean>;
13
14
  resetPassword: (username: string, password: string, code: string) => Promise<boolean>;
14
15
  forgetPassword: (username: string, email: string) => Promise<boolean>;
package/dist/light.js CHANGED
@@ -1,4 +1,4 @@
1
- import { jsonToGraphQLQuery as E, VariableType as S } from "json-to-graphql-query";
1
+ import { jsonToGraphQLQuery as R, VariableType as S } from "json-to-graphql-query";
2
2
  import U from "axios";
3
3
  function j(t) {
4
4
  const e = "==".slice(0, (4 - t.length % 4) % 4), r = t.replace(/-/g, "+").replace(/_/g, "/") + e, n = atob(r), s = new ArrayBuffer(n.length), a = new Uint8Array(s);
@@ -16,11 +16,11 @@ function L(t) {
16
16
  "_"
17
17
  ).replace(/=/g, "");
18
18
  }
19
- var u = "copy", m = "convert";
19
+ var u = "copy", w = "convert";
20
20
  function F(t, e, r) {
21
21
  if (e === u)
22
22
  return r;
23
- if (e === m)
23
+ if (e === w)
24
24
  return t(r);
25
25
  if (e instanceof Array)
26
26
  return r.map((n) => F(t, e[0], n));
@@ -49,7 +49,7 @@ function F(t, e, r) {
49
49
  return n;
50
50
  }
51
51
  }
52
- function q(t, e) {
52
+ function E(t, e) {
53
53
  return {
54
54
  required: !0,
55
55
  schema: t,
@@ -62,7 +62,7 @@ function c(t) {
62
62
  schema: t
63
63
  };
64
64
  }
65
- function f(t) {
65
+ function d(t) {
66
66
  return {
67
67
  required: !1,
68
68
  schema: t
@@ -70,42 +70,42 @@ function f(t) {
70
70
  }
71
71
  var N = {
72
72
  type: c(u),
73
- id: c(m),
74
- transports: f(u)
75
- }, J = {
76
- appid: f(u),
77
- appidExclude: f(u),
78
- credProps: f(u)
73
+ id: c(w),
74
+ transports: d(u)
79
75
  }, P = {
80
- appid: f(u),
81
- appidExclude: f(u),
82
- credProps: f(u)
76
+ appid: d(u),
77
+ appidExclude: d(u),
78
+ credProps: d(u)
79
+ }, J = {
80
+ appid: d(u),
81
+ appidExclude: d(u),
82
+ credProps: d(u)
83
83
  }, V = {
84
84
  publicKey: c({
85
85
  rp: c(u),
86
86
  user: c({
87
- id: c(m),
87
+ id: c(w),
88
88
  name: c(u),
89
89
  displayName: c(u)
90
90
  }),
91
- challenge: c(m),
91
+ challenge: c(w),
92
92
  pubKeyCredParams: c(u),
93
- timeout: f(u),
94
- excludeCredentials: f([N]),
95
- authenticatorSelection: f(u),
96
- attestation: f(u),
97
- extensions: f(J)
93
+ timeout: d(u),
94
+ excludeCredentials: d([N]),
95
+ authenticatorSelection: d(u),
96
+ attestation: d(u),
97
+ extensions: d(P)
98
98
  }),
99
- signal: f(u)
99
+ signal: d(u)
100
100
  }, T = {
101
101
  type: c(u),
102
102
  id: c(u),
103
- rawId: c(m),
104
- authenticatorAttachment: f(u),
103
+ rawId: c(w),
104
+ authenticatorAttachment: d(u),
105
105
  response: c({
106
- clientDataJSON: c(m),
107
- attestationObject: c(m),
108
- transports: q(
106
+ clientDataJSON: c(w),
107
+ attestationObject: c(w),
108
+ transports: E(
109
109
  u,
110
110
  (t) => {
111
111
  var e;
@@ -113,34 +113,34 @@ var N = {
113
113
  }
114
114
  )
115
115
  }),
116
- clientExtensionResults: q(
117
- P,
116
+ clientExtensionResults: E(
117
+ J,
118
118
  (t) => t.getClientExtensionResults()
119
119
  )
120
120
  }, K = {
121
- mediation: f(u),
121
+ mediation: d(u),
122
122
  publicKey: c({
123
- challenge: c(m),
124
- timeout: f(u),
125
- rpId: f(u),
126
- allowCredentials: f([N]),
127
- userVerification: f(u),
128
- extensions: f(J)
123
+ challenge: c(w),
124
+ timeout: d(u),
125
+ rpId: d(u),
126
+ allowCredentials: d([N]),
127
+ userVerification: d(u),
128
+ extensions: d(P)
129
129
  }),
130
- signal: f(u)
130
+ signal: d(u)
131
131
  }, D = {
132
132
  type: c(u),
133
133
  id: c(u),
134
- rawId: c(m),
135
- authenticatorAttachment: f(u),
134
+ rawId: c(w),
135
+ authenticatorAttachment: d(u),
136
136
  response: c({
137
- clientDataJSON: c(m),
138
- authenticatorData: c(m),
139
- signature: c(m),
140
- userHandle: c(m)
137
+ clientDataJSON: c(w),
138
+ authenticatorData: c(w),
139
+ signature: c(w),
140
+ userHandle: c(w)
141
141
  }),
142
- clientExtensionResults: q(
143
- P,
142
+ clientExtensionResults: E(
143
+ J,
144
144
  (t) => t.getClientExtensionResults()
145
145
  )
146
146
  };
@@ -217,6 +217,11 @@ const H = (t) => ({
217
217
  code: n
218
218
  }),
219
219
  logout: () => l(t, "logout"),
220
+ changeExpiredPassword: (e, r, n) => l(t, "changeExpiredPassword", {
221
+ username: e,
222
+ old_password: r,
223
+ new_password: n
224
+ }),
220
225
  updatePassword: (e, r) => l(t, "updatePassword", {
221
226
  old_password: e,
222
227
  new_password: r
@@ -250,11 +255,11 @@ const H = (t) => ({
250
255
  $fields: a,
251
256
  gqlFields(o) {
252
257
  const p = [];
253
- for (const d of o)
254
- if (typeof d == "string") {
255
- const g = i(d);
258
+ for (const f of o)
259
+ if (typeof f == "string") {
260
+ const g = i(f);
256
261
  g && p.push(g.getGQLField());
257
- } else typeof d == "object" && p.push(d);
262
+ } else typeof f == "object" && p.push(f);
258
263
  return p;
259
264
  },
260
265
  async update(o, p) {
@@ -268,8 +273,8 @@ const H = (t) => ({
268
273
  },
269
274
  fields(o) {
270
275
  let p = [];
271
- for (let d of o) {
272
- const g = i(d);
276
+ for (let f of o) {
277
+ const g = i(f);
273
278
  g && p.push(g);
274
279
  }
275
280
  return p;
@@ -307,8 +312,8 @@ function X(t) {
307
312
  t = "<~" + t + "~>";
308
313
  var e, r, n, s, a, i = String, o = 255;
309
314
  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, n = [], s = 0, a = t.length; a > s; s += 5) r = 52200625 * (t.charCodeAt(s) - 33) + 614125 * (t.charCodeAt(s + 1) - 33) + 7225 * (t.charCodeAt(s + 2) - 33) + 85 * (t.charCodeAt(s + 3) - 33) + (t.charCodeAt(s + 4) - 33), n.push(o & r >> 24, o & r >> 16, o & r >> 8, o & r);
310
- return function(p, d) {
311
- for (var g = d; g > 0; g--) p.pop();
315
+ return function(p, f) {
316
+ for (var g = f; g > 0; g--) p.pop();
312
317
  }(n, e.length), i.fromCharCode.apply(i, n);
313
318
  }
314
319
  const v = (t = "") => {
@@ -334,10 +339,10 @@ const v = (t = "") => {
334
339
  fromBase85: (t) => v(X(t)),
335
340
  fromBase64: (t) => v(atob(t)),
336
341
  fromString: (t) => v(t)
337
- }, R = (t) => {
342
+ }, q = (t) => {
338
343
  let e = {};
339
344
  return typeof t == "string" ? (e[t] = !0, e) : t instanceof Array ? (t.forEach((r) => {
340
- Object.entries(R(r)).forEach(([n, s]) => {
345
+ Object.entries(q(r)).forEach(([n, s]) => {
341
346
  e[n] = s;
342
347
  });
343
348
  }), e) : (Object.entries(t).forEach(([r, n]) => {
@@ -349,10 +354,10 @@ const v = (t = "") => {
349
354
  e[r] = n;
350
355
  return;
351
356
  }
352
- e[r] = R(n);
357
+ e[r] = q(n);
353
358
  }), e);
354
- }, A = (t) => R(t), h = async (t, e) => {
355
- let r = E(A(e));
359
+ }, A = (t) => q(t), h = async (t, e) => {
360
+ let r = R(A(e));
356
361
  const n = await t.post("", {
357
362
  query: `{ ${r} }`
358
363
  });
@@ -379,25 +384,25 @@ const l = async (t, e, r = null, n = []) => {
379
384
  const a = new FormData();
380
385
  let i = !1;
381
386
  if (r) {
382
- const d = {}, g = {}, O = {};
387
+ const f = {}, g = {}, O = {};
383
388
  let b = 0;
384
- Object.entries(r).forEach(([w, _]) => {
389
+ Object.entries(r).forEach(([m, _]) => {
385
390
  if (_ instanceof Array && Y(_)) {
386
391
  i = !0;
387
392
  let y = 0;
388
393
  _.forEach((C) => {
389
- C instanceof File && (d[w] = new S(w), g[b] = ["variables." + w + "." + y], a.append(b.toString(), C), b++);
390
- }), O[w] = "[Upload!]!";
391
- } else _ instanceof File ? (i = !0, d[w] = new S(w), g[b] = ["variables." + w], a.append(b.toString(), _), O[w] = "Upload!", b++) : _ instanceof Object && Z(_) ? (i = !0, d[w] = {}, Object.entries(_).forEach(([y, C]) => {
392
- C instanceof File ? (d[w][y] = new S(y), g[b] = ["variables." + y], a.append(b.toString(), C), O[y] = "Upload!", b++) : d[w][y] = C;
393
- })) : _ !== void 0 && (d[w] = _);
394
- }), s[e].__args = d, s.__variables = O, i && a.append("map", JSON.stringify(g));
394
+ C instanceof File && (f[m] = new S(m), g[b] = ["variables." + m + "." + y], a.append(b.toString(), C), b++);
395
+ }), O[m] = "[Upload!]!";
396
+ } else _ instanceof File ? (i = !0, f[m] = new S(m), g[b] = ["variables." + m], a.append(b.toString(), _), O[m] = "Upload!", b++) : _ instanceof Object && Z(_) ? (i = !0, f[m] = {}, Object.entries(_).forEach(([y, C]) => {
397
+ C instanceof File ? (f[m][y] = new S(y), g[b] = ["variables." + y], a.append(b.toString(), C), O[y] = "Upload!", b++) : f[m][y] = C;
398
+ })) : _ !== void 0 && (f[m] = _);
399
+ }), s[e].__args = f, s.__variables = O, i && a.append("map", JSON.stringify(g));
395
400
  }
396
- Object.entries(A(n)).forEach(([d, g]) => {
397
- s[e][d] = g;
401
+ Object.entries(A(n)).forEach(([f, g]) => {
402
+ s[e][f] = g;
398
403
  }), Object.entries(s[e]).length === 0 && (s[e] = !0);
399
404
  let o = null;
400
- const p = E({ mutation: s });
405
+ const p = R({ mutation: s });
401
406
  if (i ? (a.append("operations", JSON.stringify({
402
407
  query: p
403
408
  })), o = await t.post("", a)) : o = await t.post("", {
@@ -1 +1 @@
1
- (function(m,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("json-to-graphql-query"),require("axios")):typeof define=="function"&&define.amd?define(["exports","json-to-graphql-query","axios"],y):(m=typeof globalThis<"u"?globalThis:m||self,y(m.light={},m.jsonToGraphqlQuery,m.axios))})(this,function(m,y,T){"use strict";function E(t){const e="==".slice(0,(4-t.length%4)%4),r=t.replace(/-/g,"+").replace(/_/g,"/")+e,n=atob(r),s=new ArrayBuffer(n.length),a=new Uint8Array(s);for(let u=0;u<n.length;u++)a[u]=n.charCodeAt(u);return s}function L(t){const e=new Uint8Array(t);let r="";for(const a of e)r+=String.fromCharCode(a);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var o="copy",h="convert";function O(t,e,r){if(e===o)return r;if(e===h)return t(r);if(e instanceof Array)return r.map(n=>O(t,e[0],n));if(e instanceof Object){const n={};for(const[s,a]of Object.entries(e)){if(a.derive){const u=a.derive(r);u!==void 0&&(r[s]=u)}if(!(s in r)){if(a.required)throw new Error(`Missing key: ${s}`);continue}if(r[s]==null){n[s]=null;continue}n[s]=O(t,a.schema,r[s])}return n}}function j(t,e){return{required:!0,schema:t,derive:e}}function c(t){return{required:!0,schema:t}}function f(t){return{required:!1,schema:t}}var N={type:c(o),id:c(h),transports:f(o)},J={appid:f(o),appidExclude:f(o),credProps:f(o)},P={appid:f(o),appidExclude:f(o),credProps:f(o)},V={publicKey:c({rp:c(o),user:c({id:c(h),name:c(o),displayName:c(o)}),challenge:c(h),pubKeyCredParams:c(o),timeout:f(o),excludeCredentials:f([N]),authenticatorSelection:f(o),attestation:f(o),extensions:f(J)}),signal:f(o)},U={type:c(o),id:c(o),rawId:c(h),authenticatorAttachment:f(o),response:c({clientDataJSON:c(h),attestationObject:c(h),transports:j(o,t=>{var e;return((e=t.getTransports)==null?void 0:e.call(t))||[]})}),clientExtensionResults:j(P,t=>t.getClientExtensionResults())},K={mediation:f(o),publicKey:c({challenge:c(h),timeout:f(o),rpId:f(o),allowCredentials:f([N]),userVerification:f(o),extensions:f(J)}),signal:f(o)},D={type:c(o),id:c(o),rawId:c(h),authenticatorAttachment:f(o),response:c({clientDataJSON:c(h),authenticatorData:c(h),signature:c(h),userHandle:c(h)}),clientExtensionResults:j(P,t=>t.getClientExtensionResults())};function B(t){return O(E,V,t)}function Q(t){return O(L,U,t)}function W(t){return O(E,K,t)}function M(t){return O(L,D,t)}async function $(t){const e=await navigator.credentials.create(t);return e.toJSON=()=>Q(e),e}async function z(t){const e=await navigator.credentials.get(t);return e.toJSON=()=>M(e),e}const H=t=>({login:async e=>{const n=(await w(t,{webAuthnRequestOptions:{__args:{username:e}}})).webAuthnRequestOptions,s=W({publicKey:n}),a=await z(s);await l(t,"webAuthnAssertion",{username:e,assertion:a.toJSON()})},register:async()=>{const e=await w(t,{webAuthnCreationOptions:!0}),r=B({publicKey:e.webAuthnCreationOptions}),n=await $(r);await l(t,"webAuthnRegister",{registration:n.toJSON()})}}),I=t=>({WebAuthn:H(t),facebookLogin:e=>l(t,"facebookLogin",{access_token:e}),microsoftLogin:e=>l(t,"microsoftLogin",{access_token:e}),googleLogin:e=>l(t,"googleLogin",{credential:e}),login:(e,r,n="")=>l(t,"login",{username:e,password:r,code:n}),logout:()=>l(t,"logout"),updatePassword:(e,r)=>l(t,"updatePassword",{old_password:e,new_password:r}),resetPassword:(e,r,n)=>l(t,"resetPassword",{username:e,password:r,code:n}),forgetPassword:(e,r)=>l(t,"forgetPassword",{username:e,email:r}),verifyCode(e,r){return l(t,"forgetPasswordVerifyCode",{username:e,code:r})},granted:async e=>(await w(t,{granted:{__args:{rights:e}}})).granted}),G=(t,e,r)=>{const n=e,s=t,a=r,u=i=>a[i]?a[i]():null;return{field:u,$fields:a,gqlFields(i){const p=[];for(const d of i)if(typeof d=="string"){const g=u(d);g&&p.push(g.getGQLField())}else typeof d=="object"&&p.push(d);return p},async update(i,p){return await l(s,"update"+n,{id:i,data:p})},async delete(i){return await l(s,"delete"+n,{id:i})},async add(i){return await l(s,"add"+n,{data:i})},fields(i){let p=[];for(let d of i){const g=u(d);g&&p.push(g)}return p},async get(i,p){return(await w(s,{["list"+n]:{__args:{filters:i},data:{__args:{limit:1},...S(p)}}}))["list"+n].data[0]},async list(i,p){return(await w(s,{["list"+n]:{__args:{filters:i},data:{...S(p)}}}))["list"+n].data}}};function X(t){t="<~"+t+"~>";var e,r,n,s,a,u=String,i=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,n=[],s=0,a=t.length;a>s;s+=5)r=52200625*(t.charCodeAt(s)-33)+614125*(t.charCodeAt(s+1)-33)+7225*(t.charCodeAt(s+2)-33)+85*(t.charCodeAt(s+3)-33)+(t.charCodeAt(s+4)-33),n.push(i&r>>24,i&r>>16,i&r>>8,i&r);return function(p,d){for(var g=d;g>0;g--)p.pop()}(n,e.length),u.fromCharCode.apply(u,n)}const q=(t="")=>{const e=t,r=(n="application/octet-stream")=>{const s=new Uint8Array(e.length);for(let i=0;i<e.length;i++)s[i]=e.charCodeAt(i);const a=new Blob([s],{type:n});return URL.createObjectURL(a)};return{getContent:()=>e,getURL:r,download:n=>{const s=document.createElement("a");s.download=n,s.href=r(),document.body.appendChild(s),s.click(),document.body.removeChild(s)},open:n=>{window.open(r(n),"_blank")}}},Y={fromBase85:t=>q(X(t)),fromBase64:t=>q(atob(t)),fromString:t=>q(t)},R=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(r=>{Object.entries(R(r)).forEach(([n,s])=>{e[n]=s})}),e):(Object.entries(t).forEach(([r,n])=>{if(r=="__args"||r=="__aliasFor"||r=="__variables"||r=="__directives"||r=="__all_on"||r=="__name"){e[r]=n;return}if(typeof n=="boolean"){e[r]=n;return}e[r]=R(n)}),e)},S=t=>R(t),w=async(t,e)=>{let r=y.jsonToGraphQLQuery(S(e));const n=await t.post("",{query:`{ ${r} }`});if(n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data};function Z(t){for(let e=0;e<t.length;e++)if(t[e]instanceof File)return!0;return!1}function x(t){for(let e in t)if(t[e]instanceof File)return!0;return!1}const l=async(t,e,r=null,n=[])=>{let s={[e]:{}};const a=new FormData;let u=!1;if(r){const d={},g={},v={};let C=0;Object.entries(r).forEach(([b,_])=>{if(_ instanceof Array&&Z(_)){u=!0;let F=0;_.forEach(A=>{A instanceof File&&(d[b]=new y.VariableType(b),g[C]=["variables."+b+"."+F],a.append(C.toString(),A),C++)}),v[b]="[Upload!]!"}else _ instanceof File?(u=!0,d[b]=new y.VariableType(b),g[C]=["variables."+b],a.append(C.toString(),_),v[b]="Upload!",C++):_ instanceof Object&&x(_)?(u=!0,d[b]={},Object.entries(_).forEach(([F,A])=>{A instanceof File?(d[b][F]=new y.VariableType(F),g[C]=["variables."+F],a.append(C.toString(),A),v[F]="Upload!",C++):d[b][F]=A})):_!==void 0&&(d[b]=_)}),s[e].__args=d,s.__variables=v,u&&a.append("map",JSON.stringify(g))}Object.entries(S(n)).forEach(([d,g])=>{s[e][d]=g}),Object.entries(s[e]).length===0&&(s[e]=!0);let i=null;const p=y.jsonToGraphQLQuery({mutation:s});if(u?(a.append("operations",JSON.stringify({query:p})),i=await t.post("",a)):i=await t.post("",{query:p}),i.data.errors)throw new Error(i.data.errors[0].message);return i.data.data[e]},k=t=>({uploadTempFile:e=>l(t,"fsUploadTempFile",{file:e},{name:!0,path:!0,size:!0,mime:!0}),folders:{list:async e=>(await w(t,{fsListFolders:{__args:{path:e},name:!0,path:!0}})).fsListFolders,create:e=>l(t,"fsCreateFolder",{path:e}),delete:e=>l(t,"fsDeleteFolder",{path:e}),rename:(e,r)=>l(t,"fsRenameFolder",{path:e,name:r})},files:{list:async e=>(await w(t,{fsListFiles:{__args:{path:e},name:!0,path:!0,size:!0,mime:!0,canPreview:!0,imagePath:!0}})).fsListFiles,read:async e=>{let r=await w(t,{fsFile:{__args:{path:e},base64Content:!0}});return window.atob(r.fsFile.base64Content)},write:(e,r)=>l(t,"fsWriteFile",{path:e,content:r}),delete:e=>l(t,"fsDeleteFile",{path:e}),rename:(e,r)=>l(t,"fsRenameFile",{path:e,name:r}),move:(e,r)=>l(t,"fsMoveFile",{source:e,target:r})}}),ee=t=>({get:async e=>(await t({config:{__args:{name:e}}})).config}),te=t=>({send:(e,r,n)=>l(t,"sendMail",{email:e,subject:r,message:n})}),re=t=>({list:async()=>(await w(t,{listUser:{data:{user_id:!0,username:!0,first_name:!0,last_name:!0,status:!0}}})).listUser.data}),ne=()=>{const t={};return{create(e,r){t[e]={};for(const n of Object.entries(r)){const[s,a]=n;t[e][s]=()=>({name:a.name?a.name:s,raw:a,getName:()=>a.name?a.name:s,getGQLField:()=>a.gqlField!==void 0?a.gqlField:a.name||s,getRaw(){return a},getValue(u){return a.field&&typeof a.field=="function"?a.field(u):a.field&&typeof a.field=="string"?u[a.field]:u[this.getName()]},getFormattedValue(u){const i=this.getValue(u);return a.format?a.format(i):i}})}return t[e]},get(e){return t[e]}}},se=t=>({list:async()=>(await w(t,{listRole:{name:!0}})).listRole}),ae=t=>{const e=T.create({baseURL:t,withCredentials:!0}),r=(a,u=null,i=[])=>l(e,a,u,i),n=a=>w(e,a),s=ne();return{baseURL:t,axios:e,auth:I(e),mutation:r,query:n,config:ee(n),mail:te(e),users:re(e),fs:k(e),models:s,model(a){return G(e,a,s.get(a))},roles:se(e)}};m.File=Y,m.createClient=ae,m.file=q,m.mutation=l,m.query=w,m.toQuery=S,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
1
+ (function(w,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("json-to-graphql-query"),require("axios")):typeof define=="function"&&define.amd?define(["exports","json-to-graphql-query","axios"],y):(w=typeof globalThis<"u"?globalThis:w||self,y(w.light={},w.jsonToGraphqlQuery,w.axios))})(this,function(w,y,T){"use strict";function R(t){const e="==".slice(0,(4-t.length%4)%4),r=t.replace(/-/g,"+").replace(/_/g,"/")+e,n=atob(r),s=new ArrayBuffer(n.length),a=new Uint8Array(s);for(let u=0;u<n.length;u++)a[u]=n.charCodeAt(u);return s}function L(t){const e=new Uint8Array(t);let r="";for(const a of e)r+=String.fromCharCode(a);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var o="copy",h="convert";function O(t,e,r){if(e===o)return r;if(e===h)return t(r);if(e instanceof Array)return r.map(n=>O(t,e[0],n));if(e instanceof Object){const n={};for(const[s,a]of Object.entries(e)){if(a.derive){const u=a.derive(r);u!==void 0&&(r[s]=u)}if(!(s in r)){if(a.required)throw new Error(`Missing key: ${s}`);continue}if(r[s]==null){n[s]=null;continue}n[s]=O(t,a.schema,r[s])}return n}}function E(t,e){return{required:!0,schema:t,derive:e}}function c(t){return{required:!0,schema:t}}function d(t){return{required:!1,schema:t}}var N={type:c(o),id:c(h),transports:d(o)},P={appid:d(o),appidExclude:d(o),credProps:d(o)},J={appid:d(o),appidExclude:d(o),credProps:d(o)},V={publicKey:c({rp:c(o),user:c({id:c(h),name:c(o),displayName:c(o)}),challenge:c(h),pubKeyCredParams:c(o),timeout:d(o),excludeCredentials:d([N]),authenticatorSelection:d(o),attestation:d(o),extensions:d(P)}),signal:d(o)},U={type:c(o),id:c(o),rawId:c(h),authenticatorAttachment:d(o),response:c({clientDataJSON:c(h),attestationObject:c(h),transports:E(o,t=>{var e;return((e=t.getTransports)==null?void 0:e.call(t))||[]})}),clientExtensionResults:E(J,t=>t.getClientExtensionResults())},K={mediation:d(o),publicKey:c({challenge:c(h),timeout:d(o),rpId:d(o),allowCredentials:d([N]),userVerification:d(o),extensions:d(P)}),signal:d(o)},D={type:c(o),id:c(o),rawId:c(h),authenticatorAttachment:d(o),response:c({clientDataJSON:c(h),authenticatorData:c(h),signature:c(h),userHandle:c(h)}),clientExtensionResults:E(J,t=>t.getClientExtensionResults())};function B(t){return O(R,V,t)}function Q(t){return O(L,U,t)}function W(t){return O(R,K,t)}function M(t){return O(L,D,t)}async function $(t){const e=await navigator.credentials.create(t);return e.toJSON=()=>Q(e),e}async function z(t){const e=await navigator.credentials.get(t);return e.toJSON=()=>M(e),e}const H=t=>({login:async e=>{const n=(await m(t,{webAuthnRequestOptions:{__args:{username:e}}})).webAuthnRequestOptions,s=W({publicKey:n}),a=await z(s);await l(t,"webAuthnAssertion",{username:e,assertion:a.toJSON()})},register:async()=>{const e=await m(t,{webAuthnCreationOptions:!0}),r=B({publicKey:e.webAuthnCreationOptions}),n=await $(r);await l(t,"webAuthnRegister",{registration:n.toJSON()})}}),I=t=>({WebAuthn:H(t),facebookLogin:e=>l(t,"facebookLogin",{access_token:e}),microsoftLogin:e=>l(t,"microsoftLogin",{access_token:e}),googleLogin:e=>l(t,"googleLogin",{credential:e}),login:(e,r,n="")=>l(t,"login",{username:e,password:r,code:n}),logout:()=>l(t,"logout"),changeExpiredPassword:(e,r,n)=>l(t,"changeExpiredPassword",{username:e,old_password:r,new_password:n}),updatePassword:(e,r)=>l(t,"updatePassword",{old_password:e,new_password:r}),resetPassword:(e,r,n)=>l(t,"resetPassword",{username:e,password:r,code:n}),forgetPassword:(e,r)=>l(t,"forgetPassword",{username:e,email:r}),verifyCode(e,r){return l(t,"forgetPasswordVerifyCode",{username:e,code:r})},granted:async e=>(await m(t,{granted:{__args:{rights:e}}})).granted}),G=(t,e,r)=>{const n=e,s=t,a=r,u=i=>a[i]?a[i]():null;return{field:u,$fields:a,gqlFields(i){const p=[];for(const f of i)if(typeof f=="string"){const g=u(f);g&&p.push(g.getGQLField())}else typeof f=="object"&&p.push(f);return p},async update(i,p){return await l(s,"update"+n,{id:i,data:p})},async delete(i){return await l(s,"delete"+n,{id:i})},async add(i){return await l(s,"add"+n,{data:i})},fields(i){let p=[];for(let f of i){const g=u(f);g&&p.push(g)}return p},async get(i,p){return(await m(s,{["list"+n]:{__args:{filters:i},data:{__args:{limit:1},...S(p)}}}))["list"+n].data[0]},async list(i,p){return(await m(s,{["list"+n]:{__args:{filters:i},data:{...S(p)}}}))["list"+n].data}}};function X(t){t="<~"+t+"~>";var e,r,n,s,a,u=String,i=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,n=[],s=0,a=t.length;a>s;s+=5)r=52200625*(t.charCodeAt(s)-33)+614125*(t.charCodeAt(s+1)-33)+7225*(t.charCodeAt(s+2)-33)+85*(t.charCodeAt(s+3)-33)+(t.charCodeAt(s+4)-33),n.push(i&r>>24,i&r>>16,i&r>>8,i&r);return function(p,f){for(var g=f;g>0;g--)p.pop()}(n,e.length),u.fromCharCode.apply(u,n)}const q=(t="")=>{const e=t,r=(n="application/octet-stream")=>{const s=new Uint8Array(e.length);for(let i=0;i<e.length;i++)s[i]=e.charCodeAt(i);const a=new Blob([s],{type:n});return URL.createObjectURL(a)};return{getContent:()=>e,getURL:r,download:n=>{const s=document.createElement("a");s.download=n,s.href=r(),document.body.appendChild(s),s.click(),document.body.removeChild(s)},open:n=>{window.open(r(n),"_blank")}}},Y={fromBase85:t=>q(X(t)),fromBase64:t=>q(atob(t)),fromString:t=>q(t)},j=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(r=>{Object.entries(j(r)).forEach(([n,s])=>{e[n]=s})}),e):(Object.entries(t).forEach(([r,n])=>{if(r=="__args"||r=="__aliasFor"||r=="__variables"||r=="__directives"||r=="__all_on"||r=="__name"){e[r]=n;return}if(typeof n=="boolean"){e[r]=n;return}e[r]=j(n)}),e)},S=t=>j(t),m=async(t,e)=>{let r=y.jsonToGraphQLQuery(S(e));const n=await t.post("",{query:`{ ${r} }`});if(n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data};function Z(t){for(let e=0;e<t.length;e++)if(t[e]instanceof File)return!0;return!1}function x(t){for(let e in t)if(t[e]instanceof File)return!0;return!1}const l=async(t,e,r=null,n=[])=>{let s={[e]:{}};const a=new FormData;let u=!1;if(r){const f={},g={},v={};let C=0;Object.entries(r).forEach(([b,_])=>{if(_ instanceof Array&&Z(_)){u=!0;let F=0;_.forEach(A=>{A instanceof File&&(f[b]=new y.VariableType(b),g[C]=["variables."+b+"."+F],a.append(C.toString(),A),C++)}),v[b]="[Upload!]!"}else _ instanceof File?(u=!0,f[b]=new y.VariableType(b),g[C]=["variables."+b],a.append(C.toString(),_),v[b]="Upload!",C++):_ instanceof Object&&x(_)?(u=!0,f[b]={},Object.entries(_).forEach(([F,A])=>{A instanceof File?(f[b][F]=new y.VariableType(F),g[C]=["variables."+F],a.append(C.toString(),A),v[F]="Upload!",C++):f[b][F]=A})):_!==void 0&&(f[b]=_)}),s[e].__args=f,s.__variables=v,u&&a.append("map",JSON.stringify(g))}Object.entries(S(n)).forEach(([f,g])=>{s[e][f]=g}),Object.entries(s[e]).length===0&&(s[e]=!0);let i=null;const p=y.jsonToGraphQLQuery({mutation:s});if(u?(a.append("operations",JSON.stringify({query:p})),i=await t.post("",a)):i=await t.post("",{query:p}),i.data.errors)throw new Error(i.data.errors[0].message);return i.data.data[e]},k=t=>({uploadTempFile:e=>l(t,"fsUploadTempFile",{file:e},{name:!0,path:!0,size:!0,mime:!0}),folders:{list:async e=>(await m(t,{fsListFolders:{__args:{path:e},name:!0,path:!0}})).fsListFolders,create:e=>l(t,"fsCreateFolder",{path:e}),delete:e=>l(t,"fsDeleteFolder",{path:e}),rename:(e,r)=>l(t,"fsRenameFolder",{path:e,name:r})},files:{list:async e=>(await m(t,{fsListFiles:{__args:{path:e},name:!0,path:!0,size:!0,mime:!0,canPreview:!0,imagePath:!0}})).fsListFiles,read:async e=>{let r=await m(t,{fsFile:{__args:{path:e},base64Content:!0}});return window.atob(r.fsFile.base64Content)},write:(e,r)=>l(t,"fsWriteFile",{path:e,content:r}),delete:e=>l(t,"fsDeleteFile",{path:e}),rename:(e,r)=>l(t,"fsRenameFile",{path:e,name:r}),move:(e,r)=>l(t,"fsMoveFile",{source:e,target:r})}}),ee=t=>({get:async e=>(await t({config:{__args:{name:e}}})).config}),te=t=>({send:(e,r,n)=>l(t,"sendMail",{email:e,subject:r,message:n})}),re=t=>({list:async()=>(await m(t,{listUser:{data:{user_id:!0,username:!0,first_name:!0,last_name:!0,status:!0}}})).listUser.data}),ne=()=>{const t={};return{create(e,r){t[e]={};for(const n of Object.entries(r)){const[s,a]=n;t[e][s]=()=>({name:a.name?a.name:s,raw:a,getName:()=>a.name?a.name:s,getGQLField:()=>a.gqlField!==void 0?a.gqlField:a.name||s,getRaw(){return a},getValue(u){return a.field&&typeof a.field=="function"?a.field(u):a.field&&typeof a.field=="string"?u[a.field]:u[this.getName()]},getFormattedValue(u){const i=this.getValue(u);return a.format?a.format(i):i}})}return t[e]},get(e){return t[e]}}},se=t=>({list:async()=>(await m(t,{listRole:{name:!0}})).listRole}),ae=t=>{const e=T.create({baseURL:t,withCredentials:!0}),r=(a,u=null,i=[])=>l(e,a,u,i),n=a=>m(e,a),s=ne();return{baseURL:t,axios:e,auth:I(e),mutation:r,query:n,config:ee(n),mail:te(e),users:re(e),fs:k(e),models:s,model(a){return G(e,a,s.get(a))},roles:se(e)}};w.File=Y,w.createClient=ae,w.file=q,w.mutation=l,w.query=m,w.toQuery=S,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostlink/light",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"