4 lines
8.7 KiB
JavaScript
4 lines
8.7 KiB
JavaScript
"use strict";var se=Object.create;var T=Object.defineProperty,oe=Object.defineProperties,ae=Object.getOwnPropertyDescriptor,ce=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertyNames,H=Object.getOwnPropertySymbols,ue=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var B=i=>{throw TypeError(i)};var _=(i,e,t)=>e in i?T(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,A=(i,e)=>{for(var t in e||(e={}))K.call(e,t)&&_(i,t,e[t]);if(H)for(var t of H(e))me.call(e,t)&&_(i,t,e[t]);return i},$=(i,e)=>oe(i,ce(e));var pe=(i,e)=>{for(var t in e)T(i,t,{get:e[t],enumerable:!0})},Q=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of le(e))!K.call(i,s)&&s!==t&&T(i,s,{get:()=>e[s],enumerable:!(r=ae(e,s))||r.enumerable});return i};var I=(i,e,t)=>(t=i!=null?se(ue(i)):{},Q(e||!i||!i.__esModule?T(t,"default",{value:i,enumerable:!0}):t,i)),de=i=>Q(T({},"__esModule",{value:!0}),i);var J=(i,e,t)=>e.has(i)||B("Cannot "+t);var o=(i,e,t)=>(J(i,e,"read from private field"),t?t.call(i):e.get(i)),u=(i,e,t)=>e.has(i)?B("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),g=(i,e,t,r)=>(J(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var l=(i,e,t)=>new Promise((r,s)=>{var n=p=>{try{h(t.next(p))}catch(f){s(f)}},c=p=>{try{h(t.throw(p))}catch(f){s(f)}},h=p=>p.done?r(p.value):Promise.resolve(p.value).then(n,c);h((t=t.apply(i,e)).next())});var we={};pe(we,{EmailTool:()=>P,EntitiesClient:()=>x,EntityClient:()=>R,FileTool:()=>O,LumiAuthClient:()=>L,LumiClient:()=>N,ToolsClient:()=>D,createClient:()=>ye});module.exports=de(we);var re=require("uuid");var Y=I(require("crypto-js/enc-base64")),z=I(require("crypto-js/enc-hex")),Z=I(require("crypto-js/hmac-sha256")),X=I(require("crypto-js/sha256")),W=I(require("object-hash")),ee=require("ofetch");var E=class extends Error{constructor(t,r){super(r);this.name="LumiError";this.code=t}};var ge="6QrJZ7pFCmBZAeIJF7IArvkCz+EtzA0RVcpHkiQIsQyhs7QtCS9P+CueZdHfB2OtJcgX3BbqY9pfpWeAVTqCwQ==";function G(i){return encodeURIComponent(i).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)}function he(i){return e=>{let{options:t}=e,r=Math.floor(Date.now()/1e3).toString(),s=Math.random().toString(36).substring(2,15),n=A({},t.query),c=Object.keys(n).sort().map(w=>`${G(w)}=${G(String(n[w]))}`).join("&"),h={"x-timestamp":r,"x-nonce":s},p=Object.keys(h).sort().map(w=>`${w}:${h[w]}`).join(`
|
|
`),f=t.body&&!(t.body instanceof FormData)?JSON.stringify(t.body):"",M=(0,X.default)(f).toString(z.default),U=[c,p,M].join(`
|
|
`),d=Y.default.stringify((0,Z.default)(U,i)),C=new Headers(t.headers);Object.entries(h).forEach(([w,ne])=>{C.set(w,ne)}),C.set("X-Sign",d),t.headers=C}}var V=new Map;function fe(i,e){var n;e.body instanceof FormData&&(e=$(A({},e),{body:Array.from(e.body.entries())}));let t=(0,W.default)([i,e]),r=Date.now(),s=((n=V.get(t))==null?void 0:n.filter(c=>r-c<1e3))||[];if(s.length>=4)throw new E(429,"Too many requests");s.push(r),V.set(t,s)}function a(i,e,t={}){i.auth.accessToken&&(t.headers=A({Authorization:`Bearer ${i.auth.accessToken}`},t.headers)),fe(e,t);let r=i.auth.isAuthenticated;return(0,ee.ofetch)(e,$(A({baseURL:i.config.apiBaseUrl},t),{onRequest:he(ge),onResponse:({response:s})=>{var n;r&&((n=s._data)==null?void 0:n.code)===2100&&i.auth.signOut()}}))}function te(){var i,e;return(e=(i=document.querySelector('link[rel="icon"]'))==null?void 0:i.href)!=null?e:null}function ie(){var i;return(i=document.title)!=null?i:null}function j(i,e,t=localStorage){let r=t.getItem(i),s=e?JSON.stringify(e):null;s?t.setItem(i,s):t.removeItem(i),window.dispatchEvent(new StorageEvent("storage",{key:i,oldValue:r,newValue:s,storageArea:t}))}function F(i,e=localStorage){let t=e.getItem(i);try{return t?JSON.parse(t):null}catch(r){return null}}var y,k,L=class{constructor(e){u(this,y);u(this,k,`lumi-auth-${(0,re.v4)()}`);g(this,y,e),Promise.resolve().then(()=>{this.isAuthenticated&&this.refreshUser()})}get accessToken(){return F("lumi-access-token")}set accessToken(e){j("lumi-access-token",e)}get user(){return F("lumi-user")}set user(e){j("lumi-user",e)}get isAuthenticated(){return!!this.accessToken}signIn(){let r=(window.screen.width-800)/2,s=(window.screen.height-600)/2,n=window.open(o(this,y).config.authOrigin,o(this,k),`width=800,height=600,left=${r},top=${s}`),c;return new Promise((h,p)=>{if(!n)return p(new Error("Open auth window failed"));let f=setInterval(()=>{n.closed&&p(new Error("Auth window closed"))},1e3),M=d=>{n.closed||(n.focus(),d.stopPropagation(),d.preventDefault())},U=({data:d,origin:C,source:w})=>{if(!(C!==o(this,y).config.authOrigin||w!==n))switch(d==null?void 0:d.type){case"lumi-ready":{n.postMessage({type:"lumi-init",data:{projectId:o(this,y).config.projectId,icon:te(),title:ie()}},o(this,y).config.authOrigin);break}case"lumi-sign-in":{if(d.data.projectId!==o(this,y).config.projectId)break;n.close(),window.focus(),this.accessToken=d.data.accessToken,this.user=d.data.user,h(d.data);break}}};window.addEventListener("message",U),document.addEventListener("click",M,!0),c=()=>{clearInterval(f),window.removeEventListener("message",U),document.removeEventListener("click",M,!0)}}).finally(()=>c==null?void 0:c())}signOut(){this.accessToken=null,this.user=null}refreshUser(){return l(this,null,function*(){let e=yield a(o(this,y),"/lm/user/info",{method:"POST"});if(e.code!==200)throw new Error(e.message);return this.user=e.data,e.data})}onAuthChange(e){let t=r=>{(r.key==="lumi-access-token"||r.key==="lumi-user"||r.key===null)&&e({isAuthenticated:this.isAuthenticated,user:this.user})};return window.addEventListener("storage",t),()=>{window.removeEventListener("storage",t)}}};y=new WeakMap,k=new WeakMap;var m,R=class{constructor(e,t){u(this,m);g(this,m,e),this.entityName=t}list(){return l(this,arguments,function*({filter:e,sort:t,limit:r,skip:s}={}){if(r){let n=yield a(o(this,m),this.uri("/find"),{method:"POST",body:{filter:e,sort:t,limit:r,skip:s}});if(n.code!==200)throw new Error(n.message);return n.data}else{let n=yield a(o(this,m),this.uri("/list"),{method:"POST",body:{filter:e,sort:t}});if(n.code!==200)throw new Error(n.message);return{total:n.data.length,list:n.data}}})}get(e){return l(this,null,function*(){let t=yield a(o(this,m),this.uri(`/${e}`),{method:"GET"});if(t.code!==200)throw new Error(t.message);return t.data})}create(e){return l(this,null,function*(){let t=yield a(o(this,m),this.uri(),{method:"POST",body:e});if(t.code!==200)throw new Error(t.message);return t.data})}createMany(e){return l(this,null,function*(){let t=yield a(o(this,m),this.uri("/batch"),{method:"POST",body:e});if(t.code!==200)throw new Error(t.message);return t.data})}update(e,t){return l(this,null,function*(){let r=yield a(o(this,m),this.uri(),{method:"PUT",body:{filter:{_id:e},update:t}});if(r.code!==200)throw new Error(r.message);return r.data})}delete(e){return l(this,null,function*(){let t=yield a(o(this,m),this.uri(`/${e}`),{method:"DELETE"});if(t.code!==200)throw new Error(t.message)})}deleteMany(e){return l(this,null,function*(){let t=yield a(o(this,m),this.uri("/batch-by-ids"),{method:"DELETE",params:{ids:e}});if(t.code!==200)throw new Error(t.message)})}uri(e=""){return`/lm/${o(this,m).config.projectId}/${this.entityName}/documents${e}`}};m=new WeakMap;var v,x=class{constructor(e){u(this,v);return g(this,v,e),new Proxy(this,{get(t,r){return r in t||(t[r]=new R(o(t,v),r)),t[r]}})}};v=new WeakMap;var S,P=class{constructor(e){u(this,S);g(this,S,e)}send(p){return l(this,arguments,function*({to:e,subject:t,fromName:r,html:s,text:n="",replyTo:c,scheduledAt:h}){if(!e||!t||!s&&!n)throw new Error("Failed to send email: Missing required parameters.");typeof e=="string"&&(e=[e]),typeof c=="string"&&(c=[c]);let f=yield a(o(this,S),`/lm/${o(this,S).config.projectId}/email/send`,{method:"POST",body:{to:e,subject:t,fromName:r,html:s,text:n,replyTo:c,scheduledAt:h}});if(f.code!==200)throw new E(f.code,f.message)})}};S=new WeakMap;var b,O=class{constructor(e){u(this,b);g(this,b,e)}upload(e){return l(this,null,function*(){let t=new FormData;e.forEach(s=>{t.append("files",s)});let r=yield a(o(this,b),`/lm/${o(this,b).config.projectId}/file/batch`,{method:"POST",body:t});if(r.code!==200)throw new E(r.code,r.message);return r.data})}delete(e){return l(this,null,function*(){let t=yield a(o(this,b),`/lm/${o(this,b).config.projectId}/file/batch`,{method:"DELETE",body:{fileUrls:e}});if(t.code!==200)throw new E(t.code,t.message)})}};b=new WeakMap;var q,D=class{constructor(e){u(this,q);g(this,q,e),this.email=new P(e),this.file=new O(e)}};q=new WeakMap;var N=class{constructor(e){this.config=e,this.auth=new L(this),this.entities=new x(this),this.tools=new D(this)}};function ye(i){return new N(i)}0&&(module.exports={EmailTool,EntitiesClient,EntityClient,FileTool,LumiAuthClient,LumiClient,ToolsClient,createClient});
|
|
//# sourceMappingURL=index.js.map
|