@staticbackend/js 1.0.2 → 1.4.0-rc2
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/backend.d.ts +37 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/module/backend.d.ts +112 -0
- package/dist/module/backend.js +272 -0
- package/dist/module/backend.js.map +1 -0
- package/dist/module/index.d.ts +1 -0
- package/dist/module/index.js +2 -0
- package/dist/module/index.js.map +1 -0
- package/package.json +3 -2
package/dist/backend.d.ts
CHANGED
|
@@ -5,6 +5,23 @@ export interface Payload {
|
|
|
5
5
|
channel: string;
|
|
6
6
|
token: string;
|
|
7
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
|
+
}
|
|
8
25
|
export declare class Backend {
|
|
9
26
|
private baseURL;
|
|
10
27
|
private wsURL;
|
|
@@ -44,6 +61,10 @@ export declare class Backend {
|
|
|
44
61
|
ok: boolean;
|
|
45
62
|
content: any;
|
|
46
63
|
}>;
|
|
64
|
+
createBulk(token: string, repo: string, docs: Array<any>): Promise<{
|
|
65
|
+
ok: boolean;
|
|
66
|
+
content: any;
|
|
67
|
+
}>;
|
|
47
68
|
list(token: string, repo: string): Promise<{
|
|
48
69
|
ok: boolean;
|
|
49
70
|
content: any;
|
|
@@ -60,6 +81,10 @@ export declare class Backend {
|
|
|
60
81
|
ok: boolean;
|
|
61
82
|
content: any;
|
|
62
83
|
}>;
|
|
84
|
+
updateBulk(token: string, repo: string, data: BulkUpdate): Promise<{
|
|
85
|
+
ok: boolean;
|
|
86
|
+
content: any;
|
|
87
|
+
}>;
|
|
63
88
|
delete(token: string, repo: string, id: string): Promise<{
|
|
64
89
|
ok: boolean;
|
|
65
90
|
content: any;
|
|
@@ -68,8 +93,20 @@ export declare class Backend {
|
|
|
68
93
|
ok: boolean;
|
|
69
94
|
content: any;
|
|
70
95
|
}>;
|
|
96
|
+
resizeImage(token: string, maxWidth: number, form: HTMLFormElement): Promise<{
|
|
97
|
+
ok: boolean;
|
|
98
|
+
content: any;
|
|
99
|
+
}>;
|
|
100
|
+
convertURLToX(token: string, data: ConvertData): Promise<{
|
|
101
|
+
ok: boolean;
|
|
102
|
+
content: any;
|
|
103
|
+
}>;
|
|
71
104
|
connectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
|
|
72
105
|
sendWS(t: string, data: string, channel?: string): boolean;
|
|
73
106
|
connect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
|
|
74
107
|
send(t: string, data: string, channel?: string): boolean;
|
|
108
|
+
private generateId;
|
|
109
|
+
socialLogin(provider: "twitter" | "google" | "facebook"): Promise<ExternalUser>;
|
|
110
|
+
private timeout;
|
|
111
|
+
private checkExternalUser;
|
|
75
112
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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";
|
|
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{u(n.next(e))}catch(t){s(t)}}function o(e){try{u(n.throw(e))}catch(t){s(t)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,o)}u((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,o,u,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),o={"SB-PUBLIC-KEY":this.pubKey},e&&e.length&&(o["Content-Type"]=e),t&&(o.Authorization="Bearer ".concat(t)),n.next=8,fetch("".concat(this.baseURL).concat(a),{method:r,headers:o,body:i});case 8:if(u=n.sent,c=null,!(u.status>299)){n.next=15;break}return n.next=13,u.text();case 13:return c=n.sent,n.abrupt("return",{ok:!1,content:c});case 15:return n.next=17,u.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:"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:"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(),console.log("reqid",r),n="".concat(this.baseURL,"/oauth/login?provider=").concat(e,"&reqid=").concat(r,"&sbpk=").concat(this.pubKey),window.open(n,"_blank"),t.next=6,this.checkExternalUser(1,r);case 6:return t.abrupt("return",t.sent);case 7: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){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
3
|
},{}],"QCba":[function(require,module,exports) {
|
|
4
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
5
|
},{"./backend":"oKSM"}]},{},["QCba"], null)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 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 create(token: string, repo: string, doc) {\n\t\treturn await this.req(token, \"POST\", `/db/${repo}`, doc)\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 delete(token: string, repo: string, id: string) {\n\t\treturn await this.req(token, \"DELETE\", `/db/${repo}/${id}`);\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\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}","export { Backend } from \"./backend\";"]}
|
|
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 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 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\tconsole.log(\"reqid\", reqId);\n\t\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\tif (!res.ok) {\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\";"]}
|
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
create(token: string, repo: string, doc: any): Promise<{
|
|
61
|
+
ok: boolean;
|
|
62
|
+
content: any;
|
|
63
|
+
}>;
|
|
64
|
+
createBulk(token: string, repo: string, docs: Array<any>): Promise<{
|
|
65
|
+
ok: boolean;
|
|
66
|
+
content: any;
|
|
67
|
+
}>;
|
|
68
|
+
list(token: string, repo: string): Promise<{
|
|
69
|
+
ok: boolean;
|
|
70
|
+
content: any;
|
|
71
|
+
}>;
|
|
72
|
+
getById(token: string, repo: string, id: string): Promise<{
|
|
73
|
+
ok: boolean;
|
|
74
|
+
content: any;
|
|
75
|
+
}>;
|
|
76
|
+
query(token: string, repo: string, filters: any): Promise<{
|
|
77
|
+
ok: boolean;
|
|
78
|
+
content: any;
|
|
79
|
+
}>;
|
|
80
|
+
update(token: string, repo: string, id: string, doc: any): Promise<{
|
|
81
|
+
ok: boolean;
|
|
82
|
+
content: any;
|
|
83
|
+
}>;
|
|
84
|
+
updateBulk(token: string, repo: string, data: BulkUpdate): Promise<{
|
|
85
|
+
ok: boolean;
|
|
86
|
+
content: any;
|
|
87
|
+
}>;
|
|
88
|
+
delete(token: string, repo: string, id: string): Promise<{
|
|
89
|
+
ok: boolean;
|
|
90
|
+
content: any;
|
|
91
|
+
}>;
|
|
92
|
+
storeFile(token: string, form: HTMLFormElement): Promise<{
|
|
93
|
+
ok: boolean;
|
|
94
|
+
content: any;
|
|
95
|
+
}>;
|
|
96
|
+
resizeImage(token: string, maxWidth: number, form: HTMLFormElement): Promise<{
|
|
97
|
+
ok: boolean;
|
|
98
|
+
content: any;
|
|
99
|
+
}>;
|
|
100
|
+
convertURLToX(token: string, data: ConvertData): Promise<{
|
|
101
|
+
ok: boolean;
|
|
102
|
+
content: any;
|
|
103
|
+
}>;
|
|
104
|
+
connectWS(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
|
|
105
|
+
sendWS(t: string, data: string, channel?: string): boolean;
|
|
106
|
+
connect(token: string, onAuth: (tok: string) => void, onMessage: (pl: Payload) => void): void;
|
|
107
|
+
send(t: string, data: string, channel?: string): boolean;
|
|
108
|
+
private generateId;
|
|
109
|
+
socialLogin(provider: "twitter" | "google" | "facebook"): Promise<ExternalUser>;
|
|
110
|
+
private timeout;
|
|
111
|
+
private checkExternalUser;
|
|
112
|
+
}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
export class Backend {
|
|
11
|
+
constructor(key, region) {
|
|
12
|
+
this.baseURL = "https://na1.staticbackend.com";
|
|
13
|
+
this.wsURL = "wss://na1.staticbackend.com";
|
|
14
|
+
this.ws = null;
|
|
15
|
+
this.wsId = null;
|
|
16
|
+
this.wsToken = null;
|
|
17
|
+
this.sseClient = null;
|
|
18
|
+
this.pubKey = "";
|
|
19
|
+
this.types = {
|
|
20
|
+
ok: "ok",
|
|
21
|
+
error: "error",
|
|
22
|
+
init: "init",
|
|
23
|
+
token: "token",
|
|
24
|
+
joined: "joined",
|
|
25
|
+
chanOut: "chan_out",
|
|
26
|
+
dbCreated: "db_created",
|
|
27
|
+
dbUpdated: "db_updated",
|
|
28
|
+
dbDeleted: "db_deleted",
|
|
29
|
+
echo: "echo",
|
|
30
|
+
auth: "auth",
|
|
31
|
+
join: "join",
|
|
32
|
+
chanIn: "chan_in",
|
|
33
|
+
presence: "presence"
|
|
34
|
+
};
|
|
35
|
+
this.timeout = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
36
|
+
this.pubKey = key;
|
|
37
|
+
if (region) {
|
|
38
|
+
if (region == "dev") {
|
|
39
|
+
this.baseURL = "http://localhost:8099";
|
|
40
|
+
this.wsURL = "ws://localhost:8099";
|
|
41
|
+
}
|
|
42
|
+
else if (region.length < 10) {
|
|
43
|
+
this.baseURL = `https://${region}.staticbackend.com`;
|
|
44
|
+
this.wsURL = `wss://${region}.staticbackend.com`;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.baseURL = region;
|
|
48
|
+
this.wsURL = region.replace("https", "wss");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
rawreq(ct, token, method, path, body) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
try {
|
|
55
|
+
let rawBody = null;
|
|
56
|
+
if (body) {
|
|
57
|
+
rawBody = ct == "application/json" ? JSON.stringify(body) : body;
|
|
58
|
+
}
|
|
59
|
+
let headers = {
|
|
60
|
+
"SB-PUBLIC-KEY": this.pubKey
|
|
61
|
+
};
|
|
62
|
+
if (ct && ct.length) {
|
|
63
|
+
headers["Content-Type"] = ct;
|
|
64
|
+
}
|
|
65
|
+
if (token) {
|
|
66
|
+
headers["Authorization"] = `Bearer ${token}`;
|
|
67
|
+
}
|
|
68
|
+
const resp = yield fetch(`${this.baseURL}${path}`, {
|
|
69
|
+
method: method,
|
|
70
|
+
headers: headers,
|
|
71
|
+
body: rawBody
|
|
72
|
+
});
|
|
73
|
+
var content = null;
|
|
74
|
+
if (resp.status > 299) {
|
|
75
|
+
content = yield resp.text();
|
|
76
|
+
return { ok: false, content: content };
|
|
77
|
+
}
|
|
78
|
+
content = yield resp.json();
|
|
79
|
+
return { ok: true, content: content };
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
console.error(err);
|
|
83
|
+
return { ok: false, content: err };
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
req(token, method, path, body) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return yield this.rawreq("application/json", token, method, path, body);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
register(email, pw) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const body = { email: email, password: pw };
|
|
95
|
+
return yield this.req("", "POST", "/register", body);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
login(email, pw) {
|
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const body = { email: email, password: pw };
|
|
101
|
+
return yield this.req("", "POST", "/login", body);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
create(token, repo, doc) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
return yield this.req(token, "POST", `/db/${repo}`, doc);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
createBulk(token, repo, docs) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
return yield this.req(token, "POST", `/db/${repo}?bulk=1`, docs);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
list(token, repo) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
return yield this.req(token, "GET", `/db/${repo}`);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
getById(token, repo, id) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return yield this.req(token, "GET", `/db/${repo}/${id}`);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
query(token, repo, filters) {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
return yield this.req(token, "POST", `/query/${repo}`, filters);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
update(token, repo, id, doc) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
return yield this.req(token, "PUT", `/db/${repo}/${id}`, doc);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
updateBulk(token, repo, data) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
return yield this.req(token, "PUT", `/db/${repo}?bulk=1`, data);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
delete(token, repo, id) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
return yield this.req(token, "DELETE", `/db/${repo}/${id}`);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
storeFile(token, form) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
let fd = new FormData(form);
|
|
147
|
+
return yield this.rawreq("", token, "POST", "/storage/upload", fd);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
resizeImage(token, maxWidth, form) {
|
|
151
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
let fd = new FormData(form);
|
|
153
|
+
fd.append("width", maxWidth.toString());
|
|
154
|
+
return yield this.rawreq("", token, "POST", "/extra/resizeimg", fd);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
convertURLToX(token, data) {
|
|
158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
return yield this.req(token, "POST", "/extra/htmltox", data);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
connectWS(token, onAuth, onMessage) {
|
|
163
|
+
this.ws = new WebSocket(this.wsURL + "/ws");
|
|
164
|
+
this.ws.onerror = (e) => { console.error(e); };
|
|
165
|
+
this.ws.onmessage = (e) => {
|
|
166
|
+
try {
|
|
167
|
+
let pl = JSON.parse(e.data);
|
|
168
|
+
if (pl.type == this.types.init) {
|
|
169
|
+
this.wsId = pl.data;
|
|
170
|
+
this.send(this.types.auth, token);
|
|
171
|
+
}
|
|
172
|
+
else if (pl.type == this.types.token) {
|
|
173
|
+
this.wsToken = pl.data;
|
|
174
|
+
onAuth(pl.data);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
onMessage(pl);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch (ex) {
|
|
181
|
+
console.error(ex);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
sendWS(t, data, channel) {
|
|
186
|
+
if (this.ws == null) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
let pl = {
|
|
190
|
+
sid: this.wsId,
|
|
191
|
+
token: this.wsToken,
|
|
192
|
+
type: t,
|
|
193
|
+
data: data,
|
|
194
|
+
channel: channel
|
|
195
|
+
};
|
|
196
|
+
this.ws.send(JSON.stringify(pl));
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
connect(token, onAuth, onMessage) {
|
|
200
|
+
this.sseClient = new EventSource(this.baseURL + `/sse/connect?sbpk=${this.pubKey}`);
|
|
201
|
+
this.sseClient.onerror = (e) => { console.error(e); };
|
|
202
|
+
this.sseClient.onmessage = (e) => {
|
|
203
|
+
try {
|
|
204
|
+
let pl = JSON.parse(e.data);
|
|
205
|
+
if (pl.type == this.types.init) {
|
|
206
|
+
this.wsId = pl.data;
|
|
207
|
+
this.wsToken = token;
|
|
208
|
+
this.send(this.types.auth, token);
|
|
209
|
+
}
|
|
210
|
+
else if (pl.type == this.types.token) {
|
|
211
|
+
onAuth(this.wsToken);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
onMessage(pl);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (ex) {
|
|
218
|
+
console.error(ex);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
send(t, data, channel) {
|
|
223
|
+
if (this.sseClient == null || this.sseClient.readyState == 2) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
let pl = {
|
|
227
|
+
sid: this.wsId,
|
|
228
|
+
token: this.wsToken,
|
|
229
|
+
type: t,
|
|
230
|
+
data: data,
|
|
231
|
+
channel: channel
|
|
232
|
+
};
|
|
233
|
+
(() => __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
return yield this.req(this.wsToken, "POST", "/sse/msg", pl);
|
|
235
|
+
}))();
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
generateId() {
|
|
239
|
+
let dt = new Date().getTime();
|
|
240
|
+
let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
241
|
+
let r = (dt + Math.random() * 16) % 16 | 0;
|
|
242
|
+
dt = Math.floor(dt / 16);
|
|
243
|
+
return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
|
|
244
|
+
});
|
|
245
|
+
return "R" + uuid;
|
|
246
|
+
}
|
|
247
|
+
socialLogin(provider) {
|
|
248
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
249
|
+
const reqId = this.generateId();
|
|
250
|
+
console.log("reqid", reqId);
|
|
251
|
+
const url = `${this.baseURL}/oauth/login?provider=${provider}&reqid=${reqId}&sbpk=${this.pubKey}`;
|
|
252
|
+
window.open(url, "_blank");
|
|
253
|
+
return yield this.checkExternalUser(1, reqId);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
checkExternalUser(count, reqId) {
|
|
257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
258
|
+
if (count >= 950) {
|
|
259
|
+
return { token: "", email: "", name: "", first: "", last: "", avatarUrl: "" };
|
|
260
|
+
}
|
|
261
|
+
const res = yield this.req("", "GET", `/oauth/get-user?reqid=${reqId}`);
|
|
262
|
+
if (!res.ok) {
|
|
263
|
+
count++;
|
|
264
|
+
yield this.timeout(1750);
|
|
265
|
+
return yield this.checkExternalUser(count, reqId);
|
|
266
|
+
}
|
|
267
|
+
const user = res.content;
|
|
268
|
+
return user;
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Backend } from "./backend";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@staticbackend/js",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.4.0-rc2",
|
|
4
4
|
"description": "JavaScript client library for StaticBackend",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"build": "rm -rf libs/* && tsc && parcel build src/index.ts && cp lib/*.d.ts dist/"
|
|
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
9
|
},
|
|
9
10
|
"repository": {
|
|
10
11
|
"type": "git",
|