@staticbackend/js 1.4.3 → 1.5.0-alpha.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.
@@ -0,0 +1 @@
1
+ var sb=(()=>{var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var w=(o,t)=>{for(var e in t)d(o,e,{get:t[e],enumerable:!0})},x=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!y.call(o,r)&&r!==e&&d(o,r,{get:()=>t[r],enumerable:!(s=u(t,r))||s.enumerable});return o};var b=o=>x(d({},"__esModule",{value:!0}),o);var n=(o,t,e)=>new Promise((s,r)=>{var i=a=>{try{l(e.next(a))}catch(h){r(h)}},c=a=>{try{l(e.throw(a))}catch(h){r(h)}},l=a=>a.done?s(a.value):Promise.resolve(a.value).then(i,c);l((e=e.apply(o,t)).next())});var k={};w(k,{Backend:()=>g});var g=class{constructor(t,e){this.baseURL="https://na1.staticbackend.com";this.wsURL="wss://na1.staticbackend.com";this.ws=null;this.wsId=null;this.wsToken=null;this.sseClient=null;this.pubKey="";this.types={ok:"ok",error:"error",init:"init",token:"token",joined:"joined",chanOut:"chan_out",dbCreated:"db_created",dbUpdated:"db_updated",dbDeleted:"db_deleted",echo:"echo",auth:"auth",join:"join",chanIn:"chan_in",presence:"presence"};this.timeout=t=>new Promise(e=>setTimeout(e,t));this.pubKey=t,e&&(e=="dev"?(this.baseURL="http://localhost:8099",this.wsURL="ws://localhost:8099"):e.length<10?(this.baseURL=`https://${e}.staticbackend.com`,this.wsURL=`wss://${e}.staticbackend.com`):(this.baseURL=e,this.wsURL=e.replace("https","wss")))}rawreq(t,e,s,r,i){return n(this,null,function*(){try{let l=null;i&&(l=t=="application/json"?JSON.stringify(i):i);let a={"SB-PUBLIC-KEY":this.pubKey};t&&t.length&&(a["Content-Type"]=t),e&&(a.Authorization=`Bearer ${e}`);let h=yield fetch(`${this.baseURL}${r}`,{method:s,headers:a,body:l});var c=null;return h.status>299?(c=yield h.text(),{ok:!1,content:c}):(c=yield h.json(),{ok:!0,content:c})}catch(l){return console.error(l),{ok:!1,content:l}}})}req(t,e,s,r){return n(this,null,function*(){return yield this.rawreq("application/json",t,e,s,r)})}register(t,e){return n(this,null,function*(){let s={email:t,password:e};return yield this.req("","POST","/register",s)})}login(t,e){return n(this,null,function*(){let s={email:t,password:e};return yield this.req("","POST","/login",s)})}me(t){return n(this,null,function*(){return yield this.req(t,"GET","/me")})}create(t,e,s){return n(this,null,function*(){return yield this.req(t,"POST",`/db/${e}`,s)})}createBulk(t,e,s){return n(this,null,function*(){return yield this.req(t,"POST",`/db/${e}?bulk=1`,s)})}list(t,e){return n(this,null,function*(){return yield this.req(t,"GET",`/db/${e}`)})}getById(t,e,s){return n(this,null,function*(){return yield this.req(t,"GET",`/db/${e}/${s}`)})}query(t,e,s){return n(this,null,function*(){return yield this.req(t,"POST",`/query/${e}`,s)})}update(t,e,s,r){return n(this,null,function*(){return yield this.req(t,"PUT",`/db/${e}/${s}`,r)})}updateBulk(t,e,s){return n(this,null,function*(){return yield this.req(t,"PUT",`/db/${e}?bulk=1`,s)})}delete(t,e,s){return n(this,null,function*(){return yield this.req(t,"DELETE",`/db/${e}/${s}`)})}deleteBulk(t,e,s){return n(this,null,function*(){let r=btoa(JSON.stringify(s));return yield this.req(t,"DELETE",`/db/${e}?bulk=1&x=${r}`)})}count(t,e,s){return n(this,null,function*(){return yield this.req(t,"POST",`/db/count/${e}`,s)})}search(t,e,s){return n(this,null,function*(){let r={col:e,keywords:s};return yield this.req(t,"POST","/search",r)})}storeFile(t,e){return n(this,null,function*(){let s=new FormData(e);return yield this.rawreq("",t,"POST","/storage/upload",s)})}resizeImage(t,e,s){return n(this,null,function*(){let r=new FormData(s);return r.append("width",e.toString()),yield this.rawreq("",t,"POST","/extra/resizeimg",r)})}convertURLToX(t,e){return n(this,null,function*(){return yield this.req(t,"POST","/extra/htmltox",e)})}connectWS(t,e,s){this.ws=new WebSocket(this.wsURL+"/ws"),this.ws.onerror=r=>{console.error(r)},this.ws.onmessage=r=>{try{let i=JSON.parse(r.data);i.type==this.types.init?(this.wsId=i.data,this.send(this.types.auth,t)):i.type==this.types.token?(this.wsToken=i.data,e(i.data)):s(i)}catch(i){console.error(i)}}}sendWS(t,e,s){if(this.ws==null)return!1;let r={sid:this.wsId,token:this.wsToken,type:t,data:e,channel:s};return this.ws.send(JSON.stringify(r)),!0}connect(t,e,s){this.sseClient=new EventSource(this.baseURL+`/sse/connect?sbpk=${this.pubKey}`),this.sseClient.onerror=r=>{console.error(r)},this.sseClient.onmessage=r=>{try{let i=JSON.parse(r.data);i.type==this.types.init?(this.wsId=i.data,this.wsToken=t,this.send(this.types.auth,t)):i.type==this.types.token?e(this.wsToken):s(i)}catch(i){console.error(i)}}}send(t,e,s){if(this.sseClient==null||this.sseClient.readyState==2)return!1;let r={sid:this.wsId,token:this.wsToken,type:t,data:e,channel:s};return n(this,null,function*(){return yield this.req(this.wsToken,"POST","/sse/msg",r)}),!0}generateId(){let t=new Date().getTime();return"R"+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(s){let r=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?r:r&3|8).toString(16)})}socialLogin(t){return n(this,null,function*(){let e=this.generateId(),s=`${this.baseURL}/oauth/login?provider=${t}&reqid=${e}&sbpk=${this.pubKey}`;return window.open(s,"_blank"),yield this.checkExternalUser(1,e)})}checkExternalUser(t,e){return n(this,null,function*(){if(t>=950)return{token:"",email:"",name:"",first:"",last:"",avatarUrl:""};let s=yield this.req("","GET",`/oauth/get-user?reqid=${e}`);return!s.ok||!s.content?(t++,yield this.timeout(1750),yield this.checkExternalUser(t,e)):s.content})}};return b(k);})();
package/dist/index.js CHANGED
@@ -1,6 +1 @@
1
- parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"oKSM":[function(require,module,exports) {
2
- "use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(a,s){function i(e){try{o(n.next(e))}catch(t){s(t)}}function u(e){try{o(n.throw(e))}catch(t){s(t)}}function o(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,u)}o((n=n.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Backend=void 0;var a=function(){function t(r,n){e(this,t),this.baseURL="https://na1.staticbackend.com",this.wsURL="wss://na1.staticbackend.com",this.ws=null,this.wsId=null,this.wsToken=null,this.sseClient=null,this.pubKey="",this.types={ok:"ok",error:"error",init:"init",token:"token",joined:"joined",chanOut:"chan_out",dbCreated:"db_created",dbUpdated:"db_updated",dbDeleted:"db_deleted",echo:"echo",auth:"auth",join:"join",chanIn:"chan_in",presence:"presence"},this.timeout=function(e){return new Promise(function(t){return setTimeout(t,e)})},this.pubKey=r,n&&("dev"==n?(this.baseURL="http://localhost:8099",this.wsURL="ws://localhost:8099"):n.length<10?(this.baseURL="https://".concat(n,".staticbackend.com"),this.wsURL="wss://".concat(n,".staticbackend.com")):(this.baseURL=n,this.wsURL=n.replace("https","wss")))}return r(t,[{key:"rawreq",value:function(e,t,r,a,s){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,u,o,c;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,i=null,s&&(i="application/json"==e?JSON.stringify(s):s),u={"SB-PUBLIC-KEY":this.pubKey},e&&e.length&&(u["Content-Type"]=e),t&&(u.Authorization="Bearer ".concat(t)),n.next=8,fetch("".concat(this.baseURL).concat(a),{method:r,headers:u,body:i});case 8:if(o=n.sent,c=null,!(o.status>299)){n.next=15;break}return n.next=13,o.text();case 13:return c=n.sent,n.abrupt("return",{ok:!1,content:c});case 15:return n.next=17,o.json();case 17:return c=n.sent,n.abrupt("return",{ok:!0,content:c});case 21:return n.prev=21,n.t0=n.catch(0),console.error(n.t0),n.abrupt("return",{ok:!1,content:n.t0});case 25:case"end":return n.stop()}},n,this,[[0,21]])}))}},{key:"req",value:function(e,t,r,a){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.rawreq("application/json",e,t,r,a);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"register",value:function(e,t){return n(this,void 0,void 0,regeneratorRuntime.mark(function r(){var n;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return n={email:e,password:t},r.next=3,this.req("","POST","/register",n);case 3:return r.abrupt("return",r.sent);case 4:case"end":return r.stop()}},r,this)}))}},{key:"login",value:function(e,t){return n(this,void 0,void 0,regeneratorRuntime.mark(function r(){var n;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return n={email:e,password:t},r.next=3,this.req("","POST","/login",n);case 3:return r.abrupt("return",r.sent);case 4:case"end":return r.stop()}},r,this)}))}},{key:"me",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.req(e,"GET","/me");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t,this)}))}},{key:"create",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"POST","/db/".concat(t),r);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"createBulk",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"POST","/db/".concat(t,"?bulk=1"),r);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"list",value:function(e,t){return n(this,void 0,void 0,regeneratorRuntime.mark(function r(){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.req(e,"GET","/db/".concat(t));case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}},r,this)}))}},{key:"getById",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"GET","/db/".concat(t,"/").concat(r));case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"query",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"POST","/query/".concat(t),r);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"update",value:function(e,t,r,a){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"PUT","/db/".concat(t,"/").concat(r),a);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"updateBulk",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"PUT","/db/".concat(t,"?bulk=1"),r);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"delete",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"DELETE","/db/".concat(t,"/").concat(r));case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"count",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.req(e,"POST","/db/count/".concat(t),r);case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}},n,this)}))}},{key:"storeFile",value:function(e,t){return n(this,void 0,void 0,regeneratorRuntime.mark(function r(){var n;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return n=new FormData(t),r.next=3,this.rawreq("",e,"POST","/storage/upload",n);case 3:return r.abrupt("return",r.sent);case 4:case"end":return r.stop()}},r,this)}))}},{key:"resizeImage",value:function(e,t,r){return n(this,void 0,void 0,regeneratorRuntime.mark(function n(){var a;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return(a=new FormData(r)).append("width",t.toString()),n.next=4,this.rawreq("",e,"POST","/extra/resizeimg",a);case 4:return n.abrupt("return",n.sent);case 5:case"end":return n.stop()}},n,this)}))}},{key:"convertURLToX",value:function(e,t){return n(this,void 0,void 0,regeneratorRuntime.mark(function r(){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.req(e,"POST","/extra/htmltox",t);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}},r,this)}))}},{key:"connectWS",value:function(e,t,r){var n=this;this.ws=new WebSocket(this.wsURL+"/ws"),this.ws.onerror=function(e){console.error(e)},this.ws.onmessage=function(a){try{var s=JSON.parse(a.data);s.type==n.types.init?(n.wsId=s.data,n.send(n.types.auth,e)):s.type==n.types.token?(n.wsToken=s.data,t(s.data)):r(s)}catch(i){console.error(i)}}}},{key:"sendWS",value:function(e,t,r){if(null==this.ws)return!1;var n={sid:this.wsId,token:this.wsToken,type:e,data:t,channel:r};return this.ws.send(JSON.stringify(n)),!0}},{key:"connect",value:function(e,t,r){var n=this;this.sseClient=new EventSource(this.baseURL+"/sse/connect?sbpk=".concat(this.pubKey)),this.sseClient.onerror=function(e){console.error(e)},this.sseClient.onmessage=function(a){try{var s=JSON.parse(a.data);s.type==n.types.init?(n.wsId=s.data,n.wsToken=e,n.send(n.types.auth,e)):s.type==n.types.token?t(n.wsToken):r(s)}catch(i){console.error(i)}}}},{key:"send",value:function(e,t,r){var a=this;if(null==this.sseClient||2==this.sseClient.readyState)return!1;var s={sid:this.wsId,token:this.wsToken,type:e,data:t,channel:r};return n(a,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.req(this.wsToken,"POST","/sse/msg",s);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e,this)})),!0}},{key:"generateId",value:function(){var e=(new Date).getTime();return"R"+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}},{key:"socialLogin",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark(function t(){var r,n;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.generateId(),n="".concat(this.baseURL,"/oauth/login?provider=").concat(e,"&reqid=").concat(r,"&sbpk=").concat(this.pubKey),window.open(n,"_blank"),t.next=5,this.checkExternalUser(1,r);case 5:return t.abrupt("return",t.sent);case 6:case"end":return t.stop()}},t,this)}))}},{key:"checkExternalUser",value:function(e,t){return n(this,void 0,void 0,regeneratorRuntime.mark(function r(){var n,a;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(e>=950)){r.next=2;break}return r.abrupt("return",{token:"",email:"",name:"",first:"",last:"",avatarUrl:""});case 2:return r.next=4,this.req("","GET","/oauth/get-user?reqid=".concat(t));case 4:if((n=r.sent).ok&&n.content){r.next=12;break}return e++,r.next=9,this.timeout(1750);case 9:return r.next=11,this.checkExternalUser(e,t);case 11:return r.abrupt("return",r.sent);case 12:return a=n.content,r.abrupt("return",a);case 14:case"end":return r.stop()}},r,this)}))}}]),t}();exports.Backend=a;
3
- },{}],"QCba":[function(require,module,exports) {
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Backend=void 0;var e=require("./backend");Object.defineProperty(exports,"Backend",{enumerable:!0,get:function(){return e.Backend}});
5
- },{"./backend":"oKSM"}]},{},["QCba"], null)
6
- //# sourceMappingURL=/index.js.map
1
+ var h=class{baseURL="https://na1.staticbackend.com";wsURL="wss://na1.staticbackend.com";ws=null;wsId=null;wsToken=null;sseClient=null;pubKey="";types={ok:"ok",error:"error",init:"init",token:"token",joined:"joined",chanOut:"chan_out",dbCreated:"db_created",dbUpdated:"db_updated",dbDeleted:"db_deleted",echo:"echo",auth:"auth",join:"join",chanIn:"chan_in",presence:"presence"};constructor(t,e){this.pubKey=t,e&&(e=="dev"?(this.baseURL="http://localhost:8099",this.wsURL="ws://localhost:8099"):e.length<10?(this.baseURL=`https://${e}.staticbackend.com`,this.wsURL=`wss://${e}.staticbackend.com`):(this.baseURL=e,this.wsURL=e.replace("https","wss")))}async rawreq(t,e,s,r,n){try{let i=null;n&&(i=t=="application/json"?JSON.stringify(n):n);let o={"SB-PUBLIC-KEY":this.pubKey};t&&t.length&&(o["Content-Type"]=t),e&&(o.Authorization=`Bearer ${e}`);let l=await fetch(`${this.baseURL}${r}`,{method:s,headers:o,body:i});var a=null;return l.status>299?(a=await l.text(),{ok:!1,content:a}):(a=await l.json(),{ok:!0,content:a})}catch(i){return console.error(i),{ok:!1,content:i}}}async req(t,e,s,r){return await this.rawreq("application/json",t,e,s,r)}async register(t,e){let s={email:t,password:e};return await this.req("","POST","/register",s)}async login(t,e){let s={email:t,password:e};return await this.req("","POST","/login",s)}async me(t){return await this.req(t,"GET","/me")}async create(t,e,s){return await this.req(t,"POST",`/db/${e}`,s)}async createBulk(t,e,s){return await this.req(t,"POST",`/db/${e}?bulk=1`,s)}async list(t,e){return await this.req(t,"GET",`/db/${e}`)}async getById(t,e,s){return await this.req(t,"GET",`/db/${e}/${s}`)}async query(t,e,s){return await this.req(t,"POST",`/query/${e}`,s)}async update(t,e,s,r){return await this.req(t,"PUT",`/db/${e}/${s}`,r)}async updateBulk(t,e,s){return await this.req(t,"PUT",`/db/${e}?bulk=1`,s)}async delete(t,e,s){return await this.req(t,"DELETE",`/db/${e}/${s}`)}async deleteBulk(t,e,s){let r=btoa(JSON.stringify(s));return await this.req(t,"DELETE",`/db/${e}?bulk=1&x=${r}`)}async count(t,e,s){return await this.req(t,"POST",`/db/count/${e}`,s)}async search(t,e,s){let r={col:e,keywords:s};return await this.req(t,"POST","/search",r)}async storeFile(t,e){let s=new FormData(e);return await this.rawreq("",t,"POST","/storage/upload",s)}async resizeImage(t,e,s){let r=new FormData(s);return r.append("width",e.toString()),await this.rawreq("",t,"POST","/extra/resizeimg",r)}async convertURLToX(t,e){return await this.req(t,"POST","/extra/htmltox",e)}connectWS(t,e,s){this.ws=new WebSocket(this.wsURL+"/ws"),this.ws.onerror=r=>{console.error(r)},this.ws.onmessage=r=>{try{let n=JSON.parse(r.data);n.type==this.types.init?(this.wsId=n.data,this.send(this.types.auth,t)):n.type==this.types.token?(this.wsToken=n.data,e(n.data)):s(n)}catch(n){console.error(n)}}}sendWS(t,e,s){if(this.ws==null)return!1;let r={sid:this.wsId,token:this.wsToken,type:t,data:e,channel:s};return this.ws.send(JSON.stringify(r)),!0}connect(t,e,s){this.sseClient=new EventSource(this.baseURL+`/sse/connect?sbpk=${this.pubKey}`),this.sseClient.onerror=r=>{console.error(r)},this.sseClient.onmessage=r=>{try{let n=JSON.parse(r.data);n.type==this.types.init?(this.wsId=n.data,this.wsToken=t,this.send(this.types.auth,t)):n.type==this.types.token?e(this.wsToken):s(n)}catch(n){console.error(n)}}}send(t,e,s){if(this.sseClient==null||this.sseClient.readyState==2)return!1;let r={sid:this.wsId,token:this.wsToken,type:t,data:e,channel:s};return(async()=>await this.req(this.wsToken,"POST","/sse/msg",r))(),!0}generateId(){let t=new Date().getTime();return"R"+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(s){let r=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?r:r&3|8).toString(16)})}async socialLogin(t){let e=this.generateId(),s=`${this.baseURL}/oauth/login?provider=${t}&reqid=${e}&sbpk=${this.pubKey}`;return window.open(s,"_blank"),await this.checkExternalUser(1,e)}timeout=t=>new Promise(e=>setTimeout(e,t));async checkExternalUser(t,e){if(t>=950)return{token:"",email:"",name:"",first:"",last:"",avatarUrl:""};let s=await this.req("","GET",`/oauth/get-user?reqid=${e}`);return!s.ok||!s.content?(t++,await this.timeout(1750),await this.checkExternalUser(t,e)):s.content}};export{h as Backend};
@@ -93,10 +93,18 @@ export declare class Backend {
93
93
  ok: boolean;
94
94
  content: any;
95
95
  }>;
96
+ deleteBulk(token: string, repo: string, filters: any): Promise<{
97
+ ok: boolean;
98
+ content: any;
99
+ }>;
96
100
  count(token: string, repo: string, filters: any): Promise<{
97
101
  ok: boolean;
98
102
  content: any;
99
103
  }>;
104
+ search(token: string, repo: string, keywords: string): Promise<{
105
+ ok: boolean;
106
+ content: any;
107
+ }>;
100
108
  storeFile(token: string, form: HTMLFormElement): Promise<{
101
109
  ok: boolean;
102
110
  content: any;
@@ -30,9 +30,9 @@ export class Backend {
30
30
  auth: "auth",
31
31
  join: "join",
32
32
  chanIn: "chan_in",
33
- presence: "presence"
33
+ presence: "presence",
34
34
  };
35
- this.timeout = (ms) => new Promise(resolve => setTimeout(resolve, ms));
35
+ this.timeout = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
36
36
  this.pubKey = key;
37
37
  if (region) {
38
38
  if (region == "dev") {
@@ -57,7 +57,7 @@ export class Backend {
57
57
  rawBody = ct == "application/json" ? JSON.stringify(body) : body;
58
58
  }
59
59
  let headers = {
60
- "SB-PUBLIC-KEY": this.pubKey
60
+ "SB-PUBLIC-KEY": this.pubKey,
61
61
  };
62
62
  if (ct && ct.length) {
63
63
  headers["Content-Type"] = ct;
@@ -68,7 +68,7 @@ export class Backend {
68
68
  const resp = yield fetch(`${this.baseURL}${path}`, {
69
69
  method: method,
70
70
  headers: headers,
71
- body: rawBody
71
+ body: rawBody,
72
72
  });
73
73
  var content = null;
74
74
  if (resp.status > 299) {
@@ -146,11 +146,23 @@ export class Backend {
146
146
  return yield this.req(token, "DELETE", `/db/${repo}/${id}`);
147
147
  });
148
148
  }
149
+ deleteBulk(token, repo, filters) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const x = btoa(JSON.stringify(filters));
152
+ return yield this.req(token, "DELETE", `/db/${repo}?bulk=1&x=${x}`);
153
+ });
154
+ }
149
155
  count(token, repo, filters) {
150
156
  return __awaiter(this, void 0, void 0, function* () {
151
157
  return yield this.req(token, "POST", `/db/count/${repo}`, filters);
152
158
  });
153
159
  }
160
+ search(token, repo, keywords) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ const data = { col: repo, keywords: keywords };
163
+ return yield this.req(token, "POST", "/search", data);
164
+ });
165
+ }
154
166
  storeFile(token, form) {
155
167
  return __awaiter(this, void 0, void 0, function* () {
156
168
  let fd = new FormData(form);
@@ -171,7 +183,9 @@ export class Backend {
171
183
  }
172
184
  connectWS(token, onAuth, onMessage) {
173
185
  this.ws = new WebSocket(this.wsURL + "/ws");
174
- this.ws.onerror = (e) => { console.error(e); };
186
+ this.ws.onerror = (e) => {
187
+ console.error(e);
188
+ };
175
189
  this.ws.onmessage = (e) => {
176
190
  try {
177
191
  let pl = JSON.parse(e.data);
@@ -201,14 +215,16 @@ export class Backend {
201
215
  token: this.wsToken,
202
216
  type: t,
203
217
  data: data,
204
- channel: channel
218
+ channel: channel,
205
219
  };
206
220
  this.ws.send(JSON.stringify(pl));
207
221
  return true;
208
222
  }
209
223
  connect(token, onAuth, onMessage) {
210
224
  this.sseClient = new EventSource(this.baseURL + `/sse/connect?sbpk=${this.pubKey}`);
211
- this.sseClient.onerror = (e) => { console.error(e); };
225
+ this.sseClient.onerror = (e) => {
226
+ console.error(e);
227
+ };
212
228
  this.sseClient.onmessage = (e) => {
213
229
  try {
214
230
  let pl = JSON.parse(e.data);
@@ -238,7 +254,7 @@ export class Backend {
238
254
  token: this.wsToken,
239
255
  type: t,
240
256
  data: data,
241
- channel: channel
257
+ channel: channel,
242
258
  };
243
259
  (() => __awaiter(this, void 0, void 0, function* () {
244
260
  return yield this.req(this.wsToken, "POST", "/sse/msg", pl);
@@ -247,10 +263,10 @@ export class Backend {
247
263
  }
248
264
  generateId() {
249
265
  let dt = new Date().getTime();
250
- let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
266
+ let uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
251
267
  let r = (dt + Math.random() * 16) % 16 | 0;
252
268
  dt = Math.floor(dt / 16);
253
- return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
269
+ return (c == "x" ? r : (r & 0x3) | 0x8).toString(16);
254
270
  });
255
271
  return "R" + uuid;
256
272
  }
@@ -265,7 +281,14 @@ export class Backend {
265
281
  checkExternalUser(count, reqId) {
266
282
  return __awaiter(this, void 0, void 0, function* () {
267
283
  if (count >= 950) {
268
- return { token: "", email: "", name: "", first: "", last: "", avatarUrl: "" };
284
+ return {
285
+ token: "",
286
+ email: "",
287
+ name: "",
288
+ first: "",
289
+ last: "",
290
+ avatarUrl: "",
291
+ };
269
292
  }
270
293
  const res = yield this.req("", "GET", `/oauth/get-user?reqid=${reqId}`);
271
294
  if (!res.ok || !res.content) {
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":";;;;;;;;;AA4BA,MAAM,OAAO,OAAO;IA0BnB,YAAY,GAAW,EAAE,MAAc;QAzB/B,YAAO,GAAW,+BAA+B,CAAC;QAClD,UAAK,GAAW,6BAA6B,CAAC;QAC9C,OAAE,GAAc,IAAI,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,YAAO,GAAW,IAAI,CAAC;QACvB,cAAS,GAAG,IAAI,CAAC;QACjB,WAAM,GAAW,EAAE,CAAC;QAE5B,UAAK,GAAG;YACP,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,UAAU;SACpB,CAAA;QAyOO,YAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAtOzE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAElB,IAAI,MAAM,EAAE;YACX,IAAI,MAAM,IAAI,KAAK,EAAE;gBACpB,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC;aACnC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE;gBAC9B,IAAI,CAAC,OAAO,GAAG,WAAW,MAAM,oBAAoB,CAAC;gBACrD,IAAI,CAAC,KAAK,GAAG,SAAS,MAAM,oBAAoB,CAAC;aACjD;iBAAM;gBAEN,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aAC5C;SACD;IACF,CAAC;IAEa,MAAM,CAAC,EAAU,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,IAAU;;YACvF,IAAI;gBACH,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,IAAI,EAAE;oBACT,OAAO,GAAG,EAAE,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBACjE;gBAED,IAAI,OAAO,GAAG;oBACb,eAAe,EAAE,IAAI,CAAC,MAAM;iBAC5B,CAAC;gBAEF,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE;oBACpB,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;iBAC7B;gBAED,IAAI,KAAK,EAAE;oBACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;iBAC7C;gBAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;oBAClD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,OAAO;iBACb,CAAC,CAAC;gBAEH,IAAI,OAAO,GAAQ,IAAI,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;oBACtB,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;iBACvC;gBAED,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aACtC;YAAC,OAAO,GAAG,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;aACnC;QACF,CAAC;KAAA;IAEa,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,IAAU;;YACxE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAa,EAAE,EAAU;;YACvC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;KAAA;IAEK,KAAK,CAAC,KAAa,EAAE,EAAU;;YACpC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;KAAA;IAEK,EAAE,CAAC,KAAK;;YACb,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,GAAG;;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACzD,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,IAAgB;;YAC7D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS,EAAE,IAAI,CAAC,CAAA;QACjE,CAAC;KAAA;IAEK,IAAI,CAAC,KAAa,EAAE,IAAY;;YACrC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU;;YACpD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,KAAK,CAAC,KAAa,EAAE,IAAY,EAAE,OAAO;;YAC/C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU,EAAE,GAAG;;YACxD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,IAAgB;;YAC7D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU;;YACnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,KAAK,CAAC,KAAa,EAAE,IAAY,EAAE,OAAO;;YAC/C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,SAAS,CAAC,KAAa,EAAE,IAAqB;;YACnD,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa,EAAE,QAAgB,EAAE,IAAqB;;YACvE,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,aAAa,CAAC,KAAa,EAAE,IAAiB;;YACnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;KAAA;IAED,SAAS,CAAC,KAAa,EAAE,MAA6B,EAAE,SAAgC;QACvF,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAE5C,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI;gBACH,IAAI,EAAE,GAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAErC,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAC/B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAClC;qBAAM,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;oBACvC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;oBACvB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;iBAChB;qBAAM;oBACN,SAAS,CAAC,EAAE,CAAC,CAAC;iBACd;aACD;YAAC,OAAO,EAAE,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAClB;QACF,CAAC,CAAA;IACF,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,IAAY,EAAE,OAAgB;QAC/C,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QAED,IAAI,EAAE,GAAY;YACjB,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;SAChB,CAAA;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,MAA6B,EAAE,SAAgC;QACrF,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAIpF,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YAChC,IAAI;gBACH,IAAI,EAAE,GAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAErC,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAC/B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;oBACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAClC;qBAAM,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;oBAEvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACrB;qBAAM;oBACN,SAAS,CAAC,EAAE,CAAC,CAAC;iBACd;aACD;YAAC,OAAO,EAAE,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAClB;QACF,CAAC,CAAA;IACF,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,IAAY,EAAE,OAAgB;QAC7C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,EAAE;YAC7D,OAAO,KAAK,CAAC;SACb;QAED,IAAI,EAAE,GAAY;YACjB,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;SAChB,CAAC;QAEF,CAAC,GAAS,EAAE;YACX,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAA,CAAC,EAAE,CAAC;QAEL,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,UAAU;QACjB,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3C,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,GAAG,IAAI,CAAC;IACnB,CAAC;IAGK,WAAW,CAAC,QAA2C;;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,yBAAyB,QAAQ,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YAClG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAE3B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;KAAA;IAIa,iBAAiB,CAAC,KAAa,EAAE,KAAa;;YAC3D,IAAI,KAAK,IAAI,GAAG,EAAE;gBACjB,OAAO,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;aAC5E;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,yBAAyB,KAAK,EAAE,CAAC,CAAC;YAKxE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC5B,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAClD;YAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAuB,CAAC;YACzC,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;CACD"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,18 @@
1
1
  {
2
2
  "name": "@staticbackend/js",
3
- "version": "1.4.3",
3
+ "version": "1.5.0-alpha.0",
4
4
  "description": "JavaScript client library for StaticBackend",
5
5
  "main": "dist/index.js",
6
+ "module": "dist/module/index.js",
6
7
  "scripts": {
7
- "build": "rm -rf libs/* && tsc && parcel build src/index.ts && cp lib/*.d.ts dist/",
8
- "build:module": "tsc -p tsconfig-module.json"
8
+ "build:old": "rm -rf libs/* && tsc && parcel build src/index.ts && cp lib/*.d.ts dist/",
9
+ "build": "npm run clean && npm run build:esm && npm run build:module && npm run build:iife",
10
+ "clean": "rm -rf lib/ dist/",
11
+ "tsc": "tsc",
12
+ "build:types": "tsc --emitDeclarationOnly && cp lib/backend.d.ts dist/index.d.ts",
13
+ "build:esm": "esbuild --bundle --minify --format=esm --target=esnext --outfile=dist/index.js src/index.ts",
14
+ "build:module": "tsc -p tsconfig-module.json",
15
+ "build:iife": "esbuild --bundle --minify --global-name=sb --format=iife --outfile=dist/backend.js src/backend.ts"
9
16
  },
10
17
  "repository": {
11
18
  "type": "git",
@@ -21,6 +28,7 @@
21
28
  },
22
29
  "homepage": "https://github.com/staticbackendhq/backend-js#readme",
23
30
  "devDependencies": {
31
+ "esbuild": "^0.17.19",
24
32
  "parcel": "^1.12.4",
25
33
  "typescript": "^4.1.3"
26
34
  },
package/dist/backend.d.ts DELETED
@@ -1,120 +0,0 @@
1
- export interface Payload {
2
- sid: string;
3
- type: string;
4
- data: string;
5
- channel: string;
6
- token: string;
7
- }
8
- export interface ConvertData {
9
- toPDF: boolean;
10
- url: string;
11
- fullpage: boolean;
12
- }
13
- export interface ExternalUser {
14
- token: string;
15
- email: string;
16
- name: string;
17
- first: string;
18
- last: string;
19
- avatarUrl: string;
20
- }
21
- export interface BulkUpdate {
22
- update: any;
23
- clauses: Array<Array<any>>;
24
- }
25
- export declare class Backend {
26
- private baseURL;
27
- private wsURL;
28
- private ws;
29
- private wsId;
30
- private wsToken;
31
- private sseClient;
32
- private pubKey;
33
- types: {
34
- ok: string;
35
- error: string;
36
- init: string;
37
- token: string;
38
- joined: string;
39
- chanOut: string;
40
- dbCreated: string;
41
- dbUpdated: string;
42
- dbDeleted: string;
43
- echo: string;
44
- auth: string;
45
- join: string;
46
- chanIn: string;
47
- presence: string;
48
- };
49
- constructor(key: string, region: string);
50
- private rawreq;
51
- private req;
52
- register(email: string, pw: string): Promise<{
53
- ok: boolean;
54
- content: any;
55
- }>;
56
- login(email: string, pw: string): Promise<{
57
- ok: boolean;
58
- content: any;
59
- }>;
60
- me(token: any): Promise<{
61
- ok: boolean;
62
- content: any;
63
- }>;
64
- create(token: string, repo: string, doc: any): Promise<{
65
- ok: boolean;
66
- content: any;
67
- }>;
68
- createBulk(token: string, repo: string, docs: Array<any>): Promise<{
69
- ok: boolean;
70
- content: any;
71
- }>;
72
- list(token: string, repo: string): Promise<{
73
- ok: boolean;
74
- content: any;
75
- }>;
76
- getById(token: string, repo: string, id: string): Promise<{
77
- ok: boolean;
78
- content: any;
79
- }>;
80
- query(token: string, repo: string, filters: any): Promise<{
81
- ok: boolean;
82
- content: any;
83
- }>;
84
- update(token: string, repo: string, id: string, doc: any): Promise<{
85
- ok: boolean;
86
- content: any;
87
- }>;
88
- updateBulk(token: string, repo: string, data: BulkUpdate): Promise<{
89
- ok: boolean;
90
- content: any;
91
- }>;
92
- delete(token: string, repo: string, id: string): Promise<{
93
- ok: boolean;
94
- content: any;
95
- }>;
96
- count(token: string, repo: string, filters: any): Promise<{
97
- ok: boolean;
98
- content: any;
99
- }>;
100
- storeFile(token: string, form: HTMLFormElement): Promise<{
101
- ok: boolean;
102
- content: any;
103
- }>;
104
- resizeImage(token: string, maxWidth: number, form: HTMLFormElement): Promise<{
105
- ok: boolean;
106
- content: any;
107
- }>;
108
- convertURLToX(token: string, data: ConvertData): Promise<{
109
- ok: boolean;
110
- content: any;
111
- }>;
112
- connectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
113
- sendWS(t: string, data: string, channel?: string): boolean;
114
- connect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
115
- send(t: string, data: string, channel?: string): boolean;
116
- private generateId;
117
- socialLogin(provider: "twitter" | "google" | "facebook"): Promise<ExternalUser>;
118
- private timeout;
119
- private checkExternalUser;
120
- }
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export { Backend } from "./backend";
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["backend.ts","index.ts"],"names":[],"mappings":"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","file":"index.js","sourceRoot":"../src","sourcesContent":["export interface Payload {\n\tsid: string;\n\ttype: string;\n\tdata: string;\n\tchannel: string;\n\ttoken: string;\n}\n\nexport interface ConvertData {\n\ttoPDF: boolean;\n\turl: string;\n\tfullpage: boolean;\n}\n\nexport interface ExternalUser {\n\ttoken: string;\n\temail: string;\n\tname: string;\n\tfirst: string;\n\tlast: string;\n\tavatarUrl: string;\n}\n\nexport interface BulkUpdate {\n\tupdate: any;\n\tclauses: Array<Array<any>>;\n}\n\nexport class Backend {\n\tprivate baseURL: string = \"https://na1.staticbackend.com\";\n\tprivate wsURL: string = \"wss://na1.staticbackend.com\";\n\tprivate ws: WebSocket = null;\n\tprivate wsId: string = null;\n\tprivate wsToken: string = null;\n\tprivate sseClient = null;\n\tprivate pubKey: string = \"\";\n\n\ttypes = {\n\t\tok: \"ok\",\n\t\terror: \"error\",\n\t\tinit: \"init\",\n\t\ttoken: \"token\",\n\t\tjoined: \"joined\",\n\t\tchanOut: \"chan_out\",\n\t\tdbCreated: \"db_created\",\n\t\tdbUpdated: \"db_updated\",\n\t\tdbDeleted: \"db_deleted\",\n\t\techo: \"echo\",\n\t\tauth: \"auth\",\n\t\tjoin: \"join\",\n\t\tchanIn: \"chan_in\",\n\t\tpresence: \"presence\"\n\t}\n\n\tconstructor(key: string, region: string) {\n\t\tthis.pubKey = key;\n\n\t\tif (region) {\n\t\t\tif (region == \"dev\") {\n\t\t\t\tthis.baseURL = \"http://localhost:8099\";\n\t\t\t\tthis.wsURL = \"ws://localhost:8099\";\n\t\t\t} else if (region.length < 10) {\n\t\t\t\tthis.baseURL = `https://${region}.staticbackend.com`;\n\t\t\t\tthis.wsURL = `wss://${region}.staticbackend.com`;\n\t\t\t} else {\n\t\t\t\t// custom base URL\n\t\t\t\tthis.baseURL = region;\n\t\t\t\tthis.wsURL = region.replace(\"https\", \"wss\");\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async rawreq(ct: string, token: string, method: string, path: string, body?: any) {\n\t\ttry {\n\t\t\tlet rawBody = null;\n\t\t\tif (body) {\n\t\t\t\trawBody = ct == \"application/json\" ? JSON.stringify(body) : body;\n\t\t\t}\n\n\t\t\tlet headers = {\n\t\t\t\t\"SB-PUBLIC-KEY\": this.pubKey\n\t\t\t};\n\n\t\t\tif (ct && ct.length) {\n\t\t\t\theaders[\"Content-Type\"] = ct;\n\t\t\t}\n\n\t\t\tif (token) {\n\t\t\t\theaders[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t}\n\n\t\t\tconst resp = await fetch(`${this.baseURL}${path}`, {\n\t\t\t\tmethod: method,\n\t\t\t\theaders: headers,\n\t\t\t\tbody: rawBody\n\t\t\t});\n\n\t\t\tvar content: any = null;\n\t\t\tif (resp.status > 299) {\n\t\t\t\tcontent = await resp.text();\n\t\t\t\treturn { ok: false, content: content };\n\t\t\t}\n\n\t\t\tcontent = await resp.json();\n\t\t\treturn { ok: true, content: content };\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\treturn { ok: false, content: err };\n\t\t}\n\t}\n\n\tprivate async req(token: string, method: string, path: string, body?: any) {\n\t\treturn await this.rawreq(\"application/json\", token, method, path, body);\n\t}\n\n\tasync register(email: string, pw: string) {\n\t\tconst body = { email: email, password: pw };\n\t\treturn await this.req(\"\", \"POST\", \"/register\", body);\n\t}\n\n\tasync login(email: string, pw: string) {\n\t\tconst body = { email: email, password: pw };\n\t\treturn await this.req(\"\", \"POST\", \"/login\", body);\n\t}\n\n\tasync me(token) {\n\t\treturn await this.req(token, \"GET\", \"/me\");\n\t}\n\n\tasync create(token: string, repo: string, doc) {\n\t\treturn await this.req(token, \"POST\", `/db/${repo}`, doc)\n\t}\n\n\tasync createBulk(token: string, repo: string, docs: Array<any>) {\n\t\treturn await this.req(token, \"POST\", `/db/${repo}?bulk=1`, docs)\n\t}\n\n\tasync list(token: string, repo: string) {\n\t\treturn await this.req(token, \"GET\", `/db/${repo}`);\n\t}\n\n\tasync getById(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"GET\", `/db/${repo}/${id}`);\n\t}\n\n\tasync query(token: string, repo: string, filters) {\n\t\treturn await this.req(token, \"POST\", `/query/${repo}`, filters);\n\t}\n\n\tasync update(token: string, repo: string, id: string, doc) {\n\t\treturn await this.req(token, \"PUT\", `/db/${repo}/${id}`, doc)\n\t}\n\n\tasync updateBulk(token: string, repo: string, data: BulkUpdate) {\n\t\treturn await this.req(token, \"PUT\", `/db/${repo}?bulk=1`, data);\n\t}\n\n\tasync delete(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"DELETE\", `/db/${repo}/${id}`);\n\t}\n\n\tasync count(token: string, repo: string, filters) {\n\t\treturn await this.req(token, \"POST\", `/db/count/${repo}`, filters);\n\t}\n\n\tasync storeFile(token: string, form: HTMLFormElement) {\n\t\tlet fd = new FormData(form);\n\t\treturn await this.rawreq(\"\", token, \"POST\", \"/storage/upload\", fd);\n\t}\n\n\tasync resizeImage(token: string, maxWidth: number, form: HTMLFormElement) {\n\t\tlet fd = new FormData(form);\n\t\tfd.append(\"width\", maxWidth.toString());\n\t\treturn await this.rawreq(\"\", token, \"POST\", \"/extra/resizeimg\", fd);\n\t}\n\n\tasync convertURLToX(token: string, data: ConvertData) {\n\t\treturn await this.req(token, \"POST\", \"/extra/htmltox\", data);\n\t}\n\n\tconnectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void) {\n\t\tthis.ws = new WebSocket(this.wsURL + \"/ws\");\n\n\t\tthis.ws.onerror = (e) => { console.error(e); }\n\t\tthis.ws.onmessage = (e) => {\n\t\t\ttry {\n\t\t\t\tlet pl: Payload = JSON.parse(e.data);\n\t\t\t\t// for the init msg we authenticate the connection\n\t\t\t\tif (pl.type == this.types.init) {\n\t\t\t\t\tthis.wsId = pl.data;\n\t\t\t\t\tthis.send(this.types.auth, token);\n\t\t\t\t} else if (pl.type == this.types.token) {\n\t\t\t\t\tthis.wsToken = pl.data;\n\t\t\t\t\tonAuth(pl.data);\n\t\t\t\t} else {\n\t\t\t\t\tonMessage(pl);\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(ex);\n\t\t\t}\n\t\t}\n\t}\n\n\tsendWS(t: string, data: string, channel?: string): boolean {\n\t\tif (this.ws == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet pl: Payload = {\n\t\t\tsid: this.wsId,\n\t\t\ttoken: this.wsToken,\n\t\t\ttype: t,\n\t\t\tdata: data,\n\t\t\tchannel: channel\n\t\t}\n\t\tthis.ws.send(JSON.stringify(pl));\n\t\treturn true;\n\t}\n\n\tconnect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void) {\n\t\tthis.sseClient = new EventSource(this.baseURL + `/sse/connect?sbpk=${this.pubKey}`);\n\n\n\n\t\tthis.sseClient.onerror = (e) => { console.error(e); }\n\t\tthis.sseClient.onmessage = (e) => {\n\t\t\ttry {\n\t\t\t\tlet pl: Payload = JSON.parse(e.data);\n\t\t\t\t// for the init msg we authenticate the connection\n\t\t\t\tif (pl.type == this.types.init) {\n\t\t\t\t\tthis.wsId = pl.data;\n\t\t\t\t\tthis.wsToken = token;\n\t\t\t\t\tthis.send(this.types.auth, token);\n\t\t\t\t} else if (pl.type == this.types.token) {\n\t\t\t\t\t//this.wsToken = pl.data;\n\t\t\t\t\tonAuth(this.wsToken);\n\t\t\t\t} else {\n\t\t\t\t\tonMessage(pl);\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(ex);\n\t\t\t}\n\t\t}\n\t}\n\n\tsend(t: string, data: string, channel?: string): boolean {\n\t\tif (this.sseClient == null || this.sseClient.readyState == 2) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet pl: Payload = {\n\t\t\tsid: this.wsId,\n\t\t\ttoken: this.wsToken,\n\t\t\ttype: t,\n\t\t\tdata: data,\n\t\t\tchannel: channel\n\t\t};\n\n\t\t(async () => {\n\t\t\treturn await this.req(this.wsToken, \"POST\", \"/sse/msg\", pl);\n\t\t})();\n\n\t\treturn true;\n\t}\n\n\tprivate generateId(): string {\n\t\tlet dt = new Date().getTime();\n\t\tlet uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n\t\t\tlet r = (dt + Math.random() * 16) % 16 | 0;\n\t\t\tdt = Math.floor(dt / 16);\n\t\t\treturn (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n\t\t});\n\t\treturn \"R\" + uuid;\n\t}\n\n\n\tasync socialLogin(provider: \"twitter\" | \"google\" | \"facebook\"): Promise<ExternalUser> {\n\t\tconst reqId = this.generateId();\n\t\n\t\tconst url = `${this.baseURL}/oauth/login?provider=${provider}&reqid=${reqId}&sbpk=${this.pubKey}`;\n\t\twindow.open(url, \"_blank\");\n\n\t\treturn await this.checkExternalUser(1, reqId);\n\t}\n\n\tprivate timeout = (ms) => new Promise(resolve => setTimeout(resolve, ms));\n\n\tprivate async checkExternalUser(count: number, reqId: string): Promise<ExternalUser> {\n\t\tif (count >= 950) { \n\t\t\treturn {token: \"\", email: \"\", name: \"\", first: \"\", last: \"\", avatarUrl: \"\"};\n\t\t}\n\n\t\tconst res = await this.req(\"\", \"GET\", `/oauth/get-user?reqid=${reqId}`);\n\t\t// the API will return: false as content if user hasn't completed the\n\t\t// process yet.\n\t\t// TODO: when a real error occur !res.ok, might be better to stop and \n\t\t// notify the caller.\n\t\tif (!res.ok || !res.content) {\n\t\t\tcount++;\n\t\t\tawait this.timeout(1750);\n\t\t\treturn await this.checkExternalUser(count, reqId);\n\t\t}\n\n\t\tconst user = res.content as ExternalUser;\n\t\treturn user;\n\t}\n}","export { Backend } from \"./backend\";"]}