roamjs-components 0.81.0 → 0.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -3
- package/backend/emailCatch.d.ts +0 -3
- package/backend/emailCatch.js +0 -22
- package/backend/emailCatch.js.map +0 -1
- package/backend/emailError.d.ts +0 -3
- package/backend/emailError.js +0 -55
- package/backend/emailError.js.map +0 -1
- package/backend/getRoamJSUser.d.ts +0 -17
- package/backend/getRoamJSUser.js +0 -53
- package/backend/getRoamJSUser.js.map +0 -1
- package/backend/headers.d.ts +0 -5
- package/backend/headers.js +0 -8
- package/backend/headers.js.map +0 -1
- package/backend/index.d.ts +0 -6
- package/backend/index.js +0 -21
- package/backend/index.js.map +0 -1
- package/backend/meterRoamJSUser.d.ts +0 -4
- package/backend/meterRoamJSUser.js +0 -38
- package/backend/meterRoamJSUser.js.map +0 -1
- package/backend/putRoamJSUser.d.ts +0 -32
- package/backend/putRoamJSUser.js +0 -55
- package/backend/putRoamJSUser.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "roamjs-components",
|
|
3
3
|
"description": "Expansive toolset, utilities, & components for developing RoamJS extensions.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.82.0",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
"@blueprintjs/core": "3.50.4",
|
|
21
21
|
"@blueprintjs/datetime": "3.23.14",
|
|
22
22
|
"@blueprintjs/select": "3.18.6",
|
|
23
|
-
"@samepage/scripts": "^0.74.2",
|
|
24
23
|
"@types/crypto-js": "4.1.1",
|
|
25
24
|
"@types/cytoscape": "^3.19.9",
|
|
26
25
|
"@types/file-saver": "2.0.5",
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
"use-sync-external-store": "^1.2.0"
|
|
48
47
|
},
|
|
49
48
|
"dependencies": {
|
|
50
|
-
"@
|
|
49
|
+
"@samepage/scripts": "^0.74.2",
|
|
51
50
|
"aws-sdk-plus": "^0.5.3",
|
|
52
51
|
"color": "^4.0.1",
|
|
53
52
|
"date-fns": "^2.27.0",
|
|
@@ -78,6 +77,12 @@
|
|
|
78
77
|
"bin": {
|
|
79
78
|
"roamjs": "./scripts/index.js"
|
|
80
79
|
},
|
|
80
|
+
"overrides": {
|
|
81
|
+
"@testing-library/react": {
|
|
82
|
+
"react": "17.0.2",
|
|
83
|
+
"react-dom": "17.0.2"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
81
86
|
"samepage": {
|
|
82
87
|
"external": [
|
|
83
88
|
"react-dom/client",
|
package/backend/emailCatch.d.ts
DELETED
package/backend/emailCatch.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const emailError_1 = tslib_1.__importDefault(require("./emailError"));
|
|
5
|
-
const headers_1 = tslib_1.__importDefault(require("./headers"));
|
|
6
|
-
const emailCatch = (subject) => (e) => {
|
|
7
|
-
const errorCode = Number(e.name);
|
|
8
|
-
if (errorCode >= 400 && errorCode < 500) {
|
|
9
|
-
return Promise.resolve({
|
|
10
|
-
statusCode: errorCode,
|
|
11
|
-
body: e.message,
|
|
12
|
-
headers: headers_1.default,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
return (0, emailError_1.default)(subject, e).then((id) => ({
|
|
16
|
-
statusCode: 500,
|
|
17
|
-
body: `Unknown error - Message Id ${id}`,
|
|
18
|
-
headers: headers_1.default,
|
|
19
|
-
}));
|
|
20
|
-
};
|
|
21
|
-
exports.default = emailCatch;
|
|
22
|
-
//# sourceMappingURL=emailCatch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emailCatch.js","sourceRoot":"","sources":["../../src/backend/emailCatch.ts"],"names":[],"mappings":";;;AACA,sEAAsC;AACtC,gEAAgC;AAEhC,MAAM,UAAU,GACd,CAAC,OAAe,EAAE,EAAE,CACpB,CAAC,CAAQ,EAAkC,EAAE;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,GAAG,GAAG,EAAE;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,CAAC,CAAC,OAAO;YACf,OAAO,EAAP,iBAAO;SACR,CAAC,CAAC;KACJ;IACD,OAAO,IAAA,oBAAU,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,UAAU,EAAE,GAAG;QACf,IAAI,EAAE,8BAA8B,EAAE,EAAE;QACxC,OAAO,EAAP,iBAAO;KACR,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEJ,kBAAe,UAAU,CAAC","sourcesContent":["import type { APIGatewayProxyResult } from \"aws-lambda\";\nimport emailError from \"./emailError\";\nimport headers from \"./headers\";\n\nconst emailCatch =\n (subject: string) =>\n (e: Error): Promise<APIGatewayProxyResult> => {\n const errorCode = Number(e.name);\n if (errorCode >= 400 && errorCode < 500) {\n return Promise.resolve({\n statusCode: errorCode,\n body: e.message,\n headers,\n });\n }\n return emailError(subject, e).then((id) => ({\n statusCode: 500,\n body: `Unknown error - Message Id ${id}`,\n headers,\n }));\n };\n\nexport default emailCatch;\n"]}
|
package/backend/emailError.d.ts
DELETED
package/backend/emailError.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const sendEmail_1 = tslib_1.__importDefault(require("aws-sdk-plus/dist/sendEmail"));
|
|
5
|
-
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const emailError = (subject, e, moreBody) => {
|
|
7
|
-
return (0, sendEmail_1.default)({
|
|
8
|
-
to: process.env.ROAMJS_EMAIL,
|
|
9
|
-
from: "support@roamjs.com",
|
|
10
|
-
subject: `RoamJS Error: ${subject}`,
|
|
11
|
-
body: react_1.default.createElement("div", {
|
|
12
|
-
style: {
|
|
13
|
-
margin: "0 auto",
|
|
14
|
-
maxWidth: 600,
|
|
15
|
-
fontFamily: `"Proxima Nova","proxima-nova",Helvetica,Arial sans-serif`,
|
|
16
|
-
padding: `20px 0`,
|
|
17
|
-
},
|
|
18
|
-
}, react_1.default.createElement("div", {
|
|
19
|
-
style: {
|
|
20
|
-
width: "80%",
|
|
21
|
-
margin: "0 auto",
|
|
22
|
-
paddingBottom: 20,
|
|
23
|
-
borderBottom: "1px dashed #dadada",
|
|
24
|
-
textAlign: "center",
|
|
25
|
-
},
|
|
26
|
-
}, react_1.default.createElement("img", {
|
|
27
|
-
src: "https://roamjs.com/images/logo-low-res.png",
|
|
28
|
-
width: 128,
|
|
29
|
-
})), react_1.default.createElement("div", {
|
|
30
|
-
style: {
|
|
31
|
-
width: "80%",
|
|
32
|
-
margin: "30px auto",
|
|
33
|
-
fontSize: 16,
|
|
34
|
-
whiteSpace: "pre-wrap",
|
|
35
|
-
},
|
|
36
|
-
}, react_1.default.createElement("h3", {}, `An error was thrown in a RoamJS Lambda`), react_1.default.createElement("p", {}, `${e.name}: ${e.message}`), react_1.default.createElement("p", {}, e.stack), ...(moreBody ? [react_1.default.createElement("div", {}, moreBody)] : [])), react_1.default.createElement("div", {
|
|
37
|
-
style: {
|
|
38
|
-
width: "80%",
|
|
39
|
-
margin: "30px auto",
|
|
40
|
-
borderTop: "1px dashed #dadada",
|
|
41
|
-
display: "flex",
|
|
42
|
-
color: "#a8a8a8",
|
|
43
|
-
paddingTop: 15,
|
|
44
|
-
},
|
|
45
|
-
}, react_1.default.createElement("div", { style: { width: "50%" } }, "Sent From ", react_1.default.createElement("a", {
|
|
46
|
-
href: "https://roamjs.com",
|
|
47
|
-
style: { color: "#3ba4dc", textDecoration: "none" },
|
|
48
|
-
}, "RoamJS")), react_1.default.createElement("div", { style: { width: "50%", textAlign: "right" } }, react_1.default.createElement("a", {
|
|
49
|
-
href: "mailto:support@roamjs.com",
|
|
50
|
-
style: { color: "#3ba4dc", textDecoration: "none" },
|
|
51
|
-
}, "Contact Support")))),
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
exports.default = emailError;
|
|
55
|
-
//# sourceMappingURL=emailError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emailError.js","sourceRoot":"","sources":["../../src/backend/emailError.ts"],"names":[],"mappings":";;;AAAA,oFAAoD;AACpD,0DAA0B;AAE1B,MAAM,UAAU,GAAG,CACjB,OAAe,EACf,CAAQ,EACR,QAA0B,EACT,EAAE;IACnB,OAAO,IAAA,mBAAS,EAAC;QACf,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAC5B,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,iBAAiB,OAAO,EAAE;QACnC,IAAI,EAAE,eAAK,CAAC,aAAa,CACvB,KAAK,EACL;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,0DAA0D;gBACtE,OAAO,EAAE,QAAQ;aAClB;SACF,EACD,eAAK,CAAC,aAAa,CACjB,KAAK,EACL;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,oBAAoB;gBAClC,SAAS,EAAE,QAAQ;aACpB;SACF,EACD,eAAK,CAAC,aAAa,CAAC,KAAK,EAAE;YACzB,GAAG,EAAE,4CAA4C;YACjD,KAAK,EAAE,GAAG;SACX,CAAC,CACH,EACD,eAAK,CAAC,aAAa,CACjB,KAAK,EACL;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,UAAU;aACvB;SACF,EACD,eAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,wCAAwC,CAAC,EACvE,eAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EACvD,eAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EACrC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,EACD,eAAK,CAAC,aAAa,CACjB,KAAK,EACL;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,oBAAoB;gBAC/B,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,EAAE;aACf;SACF,EACD,eAAK,CAAC,aAAa,CACjB,KAAK,EACL,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAC3B,YAAY,EACZ,eAAK,CAAC,aAAa,CACjB,GAAG,EACH;YACE,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE;SACpD,EACD,QAAQ,CACT,CACF,EACD,eAAK,CAAC,aAAa,CACjB,KAAK,EACL,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAC/C,eAAK,CAAC,aAAa,CACjB,GAAG,EACH;YACE,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE;SACpD,EACD,iBAAiB,CAClB,CACF,CACF,CACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC","sourcesContent":["import sendEmail from \"aws-sdk-plus/dist/sendEmail\";\nimport React from \"react\";\n\nconst emailError = (\n subject: string,\n e: Error,\n moreBody?: React.ReactNode\n): Promise<string> => {\n return sendEmail({\n to: process.env.ROAMJS_EMAIL,\n from: \"support@roamjs.com\",\n subject: `RoamJS Error: ${subject}`,\n body: React.createElement(\n \"div\",\n {\n style: {\n margin: \"0 auto\",\n maxWidth: 600,\n fontFamily: `\"Proxima Nova\",\"proxima-nova\",Helvetica,Arial sans-serif`,\n padding: `20px 0`,\n },\n },\n React.createElement(\n \"div\",\n {\n style: {\n width: \"80%\",\n margin: \"0 auto\",\n paddingBottom: 20,\n borderBottom: \"1px dashed #dadada\",\n textAlign: \"center\",\n },\n },\n React.createElement(\"img\", {\n src: \"https://roamjs.com/images/logo-low-res.png\",\n width: 128,\n })\n ),\n React.createElement(\n \"div\",\n {\n style: {\n width: \"80%\",\n margin: \"30px auto\",\n fontSize: 16,\n whiteSpace: \"pre-wrap\",\n },\n },\n React.createElement(\"h3\", {}, `An error was thrown in a RoamJS Lambda`),\n React.createElement(\"p\", {}, `${e.name}: ${e.message}`),\n React.createElement(\"p\", {}, e.stack),\n ...(moreBody ? [React.createElement(\"div\", {}, moreBody)] : [])\n ),\n React.createElement(\n \"div\",\n {\n style: {\n width: \"80%\",\n margin: \"30px auto\",\n borderTop: \"1px dashed #dadada\",\n display: \"flex\",\n color: \"#a8a8a8\",\n paddingTop: 15,\n },\n },\n React.createElement(\n \"div\",\n { style: { width: \"50%\" } },\n \"Sent From \",\n React.createElement(\n \"a\",\n {\n href: \"https://roamjs.com\",\n style: { color: \"#3ba4dc\", textDecoration: \"none\" },\n },\n \"RoamJS\"\n )\n ),\n React.createElement(\n \"div\",\n { style: { width: \"50%\", textAlign: \"right\" } },\n React.createElement(\n \"a\",\n {\n href: \"mailto:support@roamjs.com\",\n style: { color: \"#3ba4dc\", textDecoration: \"none\" },\n },\n \"Contact Support\"\n )\n )\n )\n ),\n });\n};\n\nexport default emailError;\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { APIGatewayProxyResult, APIGatewayProxyHandler } from "aws-lambda";
|
|
2
|
-
declare type RoamJSUser = {
|
|
3
|
-
email: string;
|
|
4
|
-
id: string;
|
|
5
|
-
[k: string]: unknown;
|
|
6
|
-
};
|
|
7
|
-
declare const getRoamJSUser: ({ token, extensionId, email, dev, params, }: {
|
|
8
|
-
token: string;
|
|
9
|
-
extensionId?: string | undefined;
|
|
10
|
-
email?: string | undefined;
|
|
11
|
-
dev?: boolean | undefined;
|
|
12
|
-
params?: Record<string, string> | undefined;
|
|
13
|
-
}) => Promise<RoamJSUser>;
|
|
14
|
-
export declare const awsGetRoamJSUser: <T = Record<string, unknown>>(handler: (u: RoamJSUser & {
|
|
15
|
-
token: string;
|
|
16
|
-
}, body: T) => Promise<APIGatewayProxyResult>, params?: Record<string, string>) => APIGatewayProxyHandler;
|
|
17
|
-
export default getRoamJSUser;
|
package/backend/getRoamJSUser.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.awsGetRoamJSUser = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const https_1 = tslib_1.__importDefault(require("https"));
|
|
6
|
-
const http_1 = tslib_1.__importDefault(require("http"));
|
|
7
|
-
const url_1 = require("url");
|
|
8
|
-
const headers_1 = tslib_1.__importDefault(require("./headers"));
|
|
9
|
-
const getRoamJSUser = ({ token, extensionId = process.env.ROAMJS_EXTENSION_ID || "", email = process.env.ROAMJS_EMAIL, dev = process.env.NODE_ENV === "development", params = {}, }) => {
|
|
10
|
-
const url = new url_1.URL(`${process.env.API_URL || "https://lambda.roamjs.com"}/user`);
|
|
11
|
-
const mod = url.protocol === "http:" ? http_1.default : https_1.default;
|
|
12
|
-
Object.entries(params).forEach(([k, v]) => url.searchParams.append(k, v));
|
|
13
|
-
return new Promise((resolve, reject) => mod
|
|
14
|
-
.get(url, {
|
|
15
|
-
headers: Object.assign({ Authorization: `Bearer ${Buffer.from(`${email}:${process.env.ROAMJS_DEVELOPER_TOKEN}`).toString("base64")}`, "x-roamjs-token": token, "x-roamjs-extension": extensionId }, (dev
|
|
16
|
-
? {
|
|
17
|
-
"x-roamjs-dev": "true",
|
|
18
|
-
}
|
|
19
|
-
: {})),
|
|
20
|
-
}, (res) => {
|
|
21
|
-
res.setEncoding("utf8");
|
|
22
|
-
let body = "";
|
|
23
|
-
res.on("data", (data) => {
|
|
24
|
-
body += data;
|
|
25
|
-
});
|
|
26
|
-
res.on("end", () => {
|
|
27
|
-
if (!res.statusCode)
|
|
28
|
-
reject("Missing Status Code");
|
|
29
|
-
else if (res.statusCode >= 200 && res.statusCode < 400)
|
|
30
|
-
resolve(JSON.parse(body));
|
|
31
|
-
else {
|
|
32
|
-
const err = new Error(body);
|
|
33
|
-
err.name = `${res.statusCode}`;
|
|
34
|
-
reject(err);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
res.on("error", reject);
|
|
38
|
-
})
|
|
39
|
-
.on("error", reject));
|
|
40
|
-
};
|
|
41
|
-
const awsGetRoamJSUser = (handler, params) => (event) => {
|
|
42
|
-
const token = event.headers.Authorization || event.headers.authorization || "";
|
|
43
|
-
return getRoamJSUser({ token, params })
|
|
44
|
-
.then((u) => handler(Object.assign(Object.assign({}, u), { token }), Object.assign(Object.assign({}, event.queryStringParameters), JSON.parse(event.body || "{}"))))
|
|
45
|
-
.catch((e) => ({
|
|
46
|
-
statusCode: Number(e.name) || 500,
|
|
47
|
-
body: e.message,
|
|
48
|
-
headers: headers_1.default,
|
|
49
|
-
}));
|
|
50
|
-
};
|
|
51
|
-
exports.awsGetRoamJSUser = awsGetRoamJSUser;
|
|
52
|
-
exports.default = getRoamJSUser;
|
|
53
|
-
//# sourceMappingURL=getRoamJSUser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getRoamJSUser.js","sourceRoot":"","sources":["../../src/backend/getRoamJSUser.ts"],"names":[],"mappings":"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","sourcesContent":["import https from \"https\";\nimport http from \"http\";\nimport { URL } from \"url\";\nimport { APIGatewayProxyResult, APIGatewayProxyHandler } from \"aws-lambda\";\nimport headers from \"./headers\";\n\ntype RoamJSUser = { email: string; id: string; [k: string]: unknown };\n\nconst getRoamJSUser = ({\n token,\n extensionId = process.env.ROAMJS_EXTENSION_ID || \"\",\n email = process.env.ROAMJS_EMAIL,\n dev = process.env.NODE_ENV === \"development\",\n params = {},\n}: {\n token: string;\n extensionId?: string;\n email?: string;\n dev?: boolean;\n params?: Record<string, string>;\n}) => {\n const url = new URL(\n `${process.env.API_URL || \"https://lambda.roamjs.com\"}/user`\n );\n const mod = url.protocol === \"http:\" ? http : https;\n Object.entries(params).forEach(([k, v]) => url.searchParams.append(k, v));\n return new Promise<RoamJSUser>((resolve, reject) =>\n mod\n .get(\n url,\n {\n headers: {\n Authorization: `Bearer ${Buffer.from(\n `${email}:${process.env.ROAMJS_DEVELOPER_TOKEN}`\n ).toString(\"base64\")}`,\n \"x-roamjs-token\": token,\n \"x-roamjs-extension\": extensionId,\n ...(dev\n ? {\n \"x-roamjs-dev\": \"true\",\n }\n : {}),\n },\n },\n (res) => {\n res.setEncoding(\"utf8\");\n let body = \"\";\n res.on(\"data\", (data) => {\n body += data;\n });\n res.on(\"end\", () => {\n if (!res.statusCode) reject(\"Missing Status Code\");\n else if (res.statusCode >= 200 && res.statusCode < 400)\n resolve(JSON.parse(body) as RoamJSUser);\n else {\n const err = new Error(body);\n err.name = `${res.statusCode}`;\n reject(err);\n }\n });\n res.on(\"error\", reject);\n }\n )\n .on(\"error\", reject)\n );\n};\n\nexport const awsGetRoamJSUser =\n <T = Record<string, unknown>>(\n handler: (\n u: RoamJSUser & { token: string },\n body: T\n ) => Promise<APIGatewayProxyResult>,\n params?: Record<string, string>\n ): APIGatewayProxyHandler =>\n (event) => {\n const token =\n event.headers.Authorization || event.headers.authorization || \"\";\n return getRoamJSUser({ token, params })\n .then((u) =>\n handler({ ...u, token }, {\n ...event.queryStringParameters,\n ...JSON.parse(event.body || \"{}\"),\n } as T)\n )\n .catch((e) => ({\n statusCode: Number(e.name) || 500,\n body: e.message,\n headers,\n }));\n };\n\nexport default getRoamJSUser;\n"]}
|
package/backend/headers.d.ts
DELETED
package/backend/headers.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const headers = {
|
|
4
|
-
"Access-Control-Allow-Origin": "https://roamresearch.com",
|
|
5
|
-
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE",
|
|
6
|
-
};
|
|
7
|
-
exports.default = headers;
|
|
8
|
-
//# sourceMappingURL=headers.js.map
|
package/backend/headers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/backend/headers.ts"],"names":[],"mappings":";;AAAA,MAAM,OAAO,GAAG;IACd,6BAA6B,EAAE,0BAA0B;IACzD,8BAA8B,EAAE,wBAAwB;CACzD,CAAC;AAEF,kBAAe,OAAO,CAAC","sourcesContent":["const headers = {\n \"Access-Control-Allow-Origin\": \"https://roamresearch.com\",\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, DELETE\",\n};\n\nexport default headers;\n"]}
|
package/backend/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { default as emailCatch } from "./emailCatch";
|
|
2
|
-
export { default as emailError } from "./emailError";
|
|
3
|
-
export { default as getRoamJSUser, awsGetRoamJSUser } from "./getRoamJSUser";
|
|
4
|
-
export { default as headers } from "./headers";
|
|
5
|
-
export { default as meterRoamJSUser } from "./meterRoamJSUser";
|
|
6
|
-
export { default as putRoamJSUser, awsPutRoamJSUser } from "./putRoamJSUser";
|
package/backend/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.awsPutRoamJSUser = exports.putRoamJSUser = exports.meterRoamJSUser = exports.headers = exports.awsGetRoamJSUser = exports.getRoamJSUser = exports.emailError = exports.emailCatch = void 0;
|
|
7
|
-
var emailCatch_1 = require("./emailCatch");
|
|
8
|
-
Object.defineProperty(exports, "emailCatch", { enumerable: true, get: function () { return __importDefault(emailCatch_1).default; } });
|
|
9
|
-
var emailError_1 = require("./emailError");
|
|
10
|
-
Object.defineProperty(exports, "emailError", { enumerable: true, get: function () { return __importDefault(emailError_1).default; } });
|
|
11
|
-
var getRoamJSUser_1 = require("./getRoamJSUser");
|
|
12
|
-
Object.defineProperty(exports, "getRoamJSUser", { enumerable: true, get: function () { return __importDefault(getRoamJSUser_1).default; } });
|
|
13
|
-
Object.defineProperty(exports, "awsGetRoamJSUser", { enumerable: true, get: function () { return getRoamJSUser_1.awsGetRoamJSUser; } });
|
|
14
|
-
var headers_1 = require("./headers");
|
|
15
|
-
Object.defineProperty(exports, "headers", { enumerable: true, get: function () { return __importDefault(headers_1).default; } });
|
|
16
|
-
var meterRoamJSUser_1 = require("./meterRoamJSUser");
|
|
17
|
-
Object.defineProperty(exports, "meterRoamJSUser", { enumerable: true, get: function () { return __importDefault(meterRoamJSUser_1).default; } });
|
|
18
|
-
var putRoamJSUser_1 = require("./putRoamJSUser");
|
|
19
|
-
Object.defineProperty(exports, "putRoamJSUser", { enumerable: true, get: function () { return __importDefault(putRoamJSUser_1).default; } });
|
|
20
|
-
Object.defineProperty(exports, "awsPutRoamJSUser", { enumerable: true, get: function () { return putRoamJSUser_1.awsPutRoamJSUser; } });
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
package/backend/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,iDAA6E;AAApE,+HAAA,OAAO,OAAiB;AAAE,iHAAA,gBAAgB,OAAA;AACnD,qCAA+C;AAAtC,mHAAA,OAAO,OAAW;AAC3B,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,iDAA6E;AAApE,+HAAA,OAAO,OAAiB;AAAE,iHAAA,gBAAgB,OAAA","sourcesContent":["export { default as emailCatch } from \"./emailCatch\";\nexport { default as emailError } from \"./emailError\";\nexport { default as getRoamJSUser, awsGetRoamJSUser } from \"./getRoamJSUser\";\nexport { default as headers } from \"./headers\";\nexport { default as meterRoamJSUser } from \"./meterRoamJSUser\";\nexport { default as putRoamJSUser, awsPutRoamJSUser } from \"./putRoamJSUser\";\n"]}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const https_1 = tslib_1.__importDefault(require("https"));
|
|
5
|
-
const meterRoamJSUser = (user, quantity = 1, extensionId = process.env.ROAMJS_EXTENSION_ID || "", email = process.env.ROAMJS_EMAIL, dev = process.env.NODE_ENV === "development") => new Promise((resolve, reject) => {
|
|
6
|
-
const req = https_1.default
|
|
7
|
-
.request(`https://lambda.roamjs.com/meter`, {
|
|
8
|
-
method: "POST",
|
|
9
|
-
headers: Object.assign({ Authorization: `Bearer ${Buffer.from(`${email}:${process.env.ROAMJS_DEVELOPER_TOKEN}`).toString("base64")}`, "x-roamjs-extension": extensionId }, (dev
|
|
10
|
-
? {
|
|
11
|
-
"x-roamjs-dev": "true",
|
|
12
|
-
}
|
|
13
|
-
: {})),
|
|
14
|
-
}, (res) => {
|
|
15
|
-
res.setEncoding("utf8");
|
|
16
|
-
let body = "";
|
|
17
|
-
res.on("data", (data) => {
|
|
18
|
-
body += data;
|
|
19
|
-
});
|
|
20
|
-
res.on("end", () => {
|
|
21
|
-
if (!res.statusCode)
|
|
22
|
-
reject("Missing Status Code");
|
|
23
|
-
else if (res.statusCode >= 200 && res.statusCode < 400)
|
|
24
|
-
resolve(JSON.parse(body));
|
|
25
|
-
else {
|
|
26
|
-
const err = new Error(body);
|
|
27
|
-
err.name = `${res.statusCode}`;
|
|
28
|
-
reject(err);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
res.on("error", reject);
|
|
32
|
-
})
|
|
33
|
-
.on("error", reject);
|
|
34
|
-
req.write(JSON.stringify(Object.assign(Object.assign({}, (user.startsWith("user_") ? { id: user } : { email: user })), { quantity })));
|
|
35
|
-
req.end();
|
|
36
|
-
});
|
|
37
|
-
exports.default = meterRoamJSUser;
|
|
38
|
-
//# sourceMappingURL=meterRoamJSUser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meterRoamJSUser.js","sourceRoot":"","sources":["../../src/backend/meterRoamJSUser.ts"],"names":[],"mappings":";;;AAAA,0DAA0B;AAE1B,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,QAAQ,GAAG,CAAC,EACZ,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,EACnD,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAChC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAC5C,EAAE,CACF,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9C,MAAM,GAAG,GAAG,eAAK;SACd,OAAO,CACN,iCAAiC,EACjC;QACE,MAAM,EAAE,MAAM;QACd,OAAO,kBACL,aAAa,EAAE,UAAU,MAAM,CAAC,IAAI,CAClC,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CACjD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EACtB,oBAAoB,EAAE,WAAW,IAC9B,CAAC,GAAG;YACL,CAAC,CAAC;gBACE,cAAc,EAAE,MAAM;aACvB;YACH,CAAC,CAAC,EAAE,CAAC,CACR;KACF,EACD,CAAC,GAAG,EAAE,EAAE;QACN,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,IAAI,IAAI,CAAC;QACf,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,UAAU;gBAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;iBAC9C,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG;gBACpD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC,CAAC;iBACzC;gBACH,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CACF;SACA,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvB,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,SAAS,iCACT,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAC9D,QAAQ,IACR,CACH,CAAC;IACF,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEL,kBAAe,eAAe,CAAC","sourcesContent":["import https from \"https\";\n\nconst meterRoamJSUser = (\n user: string,\n quantity = 1,\n extensionId = process.env.ROAMJS_EXTENSION_ID || \"\",\n email = process.env.ROAMJS_EMAIL,\n dev = process.env.NODE_ENV === \"development\"\n) =>\n new Promise<{ id: string }>((resolve, reject) => {\n const req = https\n .request(\n `https://lambda.roamjs.com/meter`,\n {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${Buffer.from(\n `${email}:${process.env.ROAMJS_DEVELOPER_TOKEN}`\n ).toString(\"base64\")}`,\n \"x-roamjs-extension\": extensionId,\n ...(dev\n ? {\n \"x-roamjs-dev\": \"true\",\n }\n : {}),\n },\n },\n (res) => {\n res.setEncoding(\"utf8\");\n let body = \"\";\n res.on(\"data\", (data) => {\n body += data;\n });\n res.on(\"end\", () => {\n if (!res.statusCode) reject(\"Missing Status Code\");\n else if (res.statusCode >= 200 && res.statusCode < 400)\n resolve(JSON.parse(body) as { id: string });\n else {\n const err = new Error(body);\n err.name = `${res.statusCode}`;\n reject(err);\n }\n });\n res.on(\"error\", reject);\n }\n )\n .on(\"error\", reject);\n req.write(\n JSON.stringify({\n ...(user.startsWith(\"user_\") ? { id: user } : { email: user }),\n quantity,\n })\n );\n req.end();\n });\n\nexport default meterRoamJSUser;\n"]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import headers from "./headers";
|
|
2
|
-
declare const putRoamJSUser: ({ token, data, extensionId, email, dev, }: {
|
|
3
|
-
token: string;
|
|
4
|
-
data: {
|
|
5
|
-
[k: string]: unknown;
|
|
6
|
-
};
|
|
7
|
-
extensionId?: string | undefined;
|
|
8
|
-
email?: string | undefined;
|
|
9
|
-
dev?: boolean | undefined;
|
|
10
|
-
}) => Promise<{
|
|
11
|
-
success: boolean;
|
|
12
|
-
}>;
|
|
13
|
-
export declare const awsPutRoamJSUser: (event: {
|
|
14
|
-
headers: {
|
|
15
|
-
[k: string]: string;
|
|
16
|
-
};
|
|
17
|
-
}, data: Record<string, unknown>) => Promise<{
|
|
18
|
-
statusCode: number;
|
|
19
|
-
body: string;
|
|
20
|
-
headers: {
|
|
21
|
-
"Access-Control-Allow-Origin": string;
|
|
22
|
-
"Access-Control-Allow-Methods": string;
|
|
23
|
-
};
|
|
24
|
-
} | {
|
|
25
|
-
statusCode: number;
|
|
26
|
-
body: string;
|
|
27
|
-
headers: {
|
|
28
|
-
"Access-Control-Allow-Origin": string;
|
|
29
|
-
"Access-Control-Allow-Methods": string;
|
|
30
|
-
};
|
|
31
|
-
}>;
|
|
32
|
-
export default putRoamJSUser;
|
package/backend/putRoamJSUser.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.awsPutRoamJSUser = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const https_1 = tslib_1.__importDefault(require("https"));
|
|
6
|
-
const headers_1 = tslib_1.__importDefault(require("./headers"));
|
|
7
|
-
const putRoamJSUser = ({ token, data, extensionId = process.env.ROAMJS_EXTENSION_ID || "", email = process.env.ROAMJS_EMAIL, dev = process.env.NODE_ENV === "development", }) => new Promise((resolve, reject) => {
|
|
8
|
-
const req = https_1.default
|
|
9
|
-
.request(`https://lambda.roamjs.com/user`, {
|
|
10
|
-
method: "PUT",
|
|
11
|
-
headers: Object.assign({ Authorization: `Bearer ${Buffer.from(`${email}:${process.env.ROAMJS_DEVELOPER_TOKEN}`).toString("base64")}`, "x-roamjs-token": token, "x-roamjs-extension": extensionId }, (dev
|
|
12
|
-
? {
|
|
13
|
-
"x-roamjs-dev": "true",
|
|
14
|
-
}
|
|
15
|
-
: {})),
|
|
16
|
-
}, (res) => {
|
|
17
|
-
res.setEncoding("utf8");
|
|
18
|
-
let body = "";
|
|
19
|
-
res.on("data", (data) => {
|
|
20
|
-
body += data;
|
|
21
|
-
});
|
|
22
|
-
res.on("end", () => {
|
|
23
|
-
if (!res.statusCode)
|
|
24
|
-
reject("Missing Status Code");
|
|
25
|
-
else if (res.statusCode >= 200 && res.statusCode < 400)
|
|
26
|
-
resolve(JSON.parse(body));
|
|
27
|
-
else {
|
|
28
|
-
const err = new Error(body);
|
|
29
|
-
err.name = `${res.statusCode}`;
|
|
30
|
-
reject(err);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
res.on("error", reject);
|
|
34
|
-
})
|
|
35
|
-
.on("error", reject);
|
|
36
|
-
req.write(JSON.stringify(data));
|
|
37
|
-
req.end();
|
|
38
|
-
});
|
|
39
|
-
const awsPutRoamJSUser = (event, data) => putRoamJSUser({
|
|
40
|
-
token: event.headers.Authorization || event.headers.authorization || "",
|
|
41
|
-
data,
|
|
42
|
-
})
|
|
43
|
-
.then((data) => ({
|
|
44
|
-
statusCode: 200,
|
|
45
|
-
body: JSON.stringify(data),
|
|
46
|
-
headers: headers_1.default,
|
|
47
|
-
}))
|
|
48
|
-
.catch((e) => ({
|
|
49
|
-
statusCode: Number(e.name) || 500,
|
|
50
|
-
body: e.message,
|
|
51
|
-
headers: headers_1.default,
|
|
52
|
-
}));
|
|
53
|
-
exports.awsPutRoamJSUser = awsPutRoamJSUser;
|
|
54
|
-
exports.default = putRoamJSUser;
|
|
55
|
-
//# sourceMappingURL=putRoamJSUser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"putRoamJSUser.js","sourceRoot":"","sources":["../../src/backend/putRoamJSUser.ts"],"names":[],"mappings":"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","sourcesContent":["import https from \"https\";\nimport headers from \"./headers\";\n\nconst putRoamJSUser = ({\n token,\n data,\n extensionId = process.env.ROAMJS_EXTENSION_ID || \"\",\n email = process.env.ROAMJS_EMAIL,\n dev = process.env.NODE_ENV === \"development\",\n}: {\n token: string;\n data: { [k: string]: unknown };\n extensionId?: string;\n email?: string;\n dev?: boolean;\n}) =>\n new Promise<{ success: boolean }>((resolve, reject) => {\n const req = https\n .request(\n `https://lambda.roamjs.com/user`,\n {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${Buffer.from(\n `${email}:${process.env.ROAMJS_DEVELOPER_TOKEN}`\n ).toString(\"base64\")}`,\n \"x-roamjs-token\": token,\n \"x-roamjs-extension\": extensionId,\n ...(dev\n ? {\n \"x-roamjs-dev\": \"true\",\n }\n : {}),\n },\n },\n (res) => {\n res.setEncoding(\"utf8\");\n let body = \"\";\n res.on(\"data\", (data) => {\n body += data;\n });\n res.on(\"end\", () => {\n if (!res.statusCode) reject(\"Missing Status Code\");\n else if (res.statusCode >= 200 && res.statusCode < 400)\n resolve(JSON.parse(body) as { success: boolean });\n else {\n const err = new Error(body);\n err.name = `${res.statusCode}`;\n reject(err);\n }\n });\n res.on(\"error\", reject);\n }\n )\n .on(\"error\", reject);\n req.write(JSON.stringify(data));\n req.end();\n });\n\nexport const awsPutRoamJSUser = (\n event: { headers: { [k: string]: string } },\n data: Record<string, unknown>\n) =>\n putRoamJSUser({\n token: event.headers.Authorization || event.headers.authorization || \"\",\n data,\n })\n .then((data) => ({\n statusCode: 200,\n body: JSON.stringify(data),\n headers,\n }))\n .catch((e: Error) => ({\n statusCode: Number(e.name) || 500,\n body: e.message,\n headers,\n }));\n\nexport default putRoamJSUser;\n"]}
|