@joystick.js/node-canary 0.0.0-canary.320 → 0.0.0-canary.322
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 +0 -1
- package/dist/app/validateInstanceToken.js +16 -0
- package/dist/push/logs/index.js +23 -15
- package/package.json +1 -2
package/_package.json
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
const { readFile } = fs.promises;
|
|
3
|
+
var validateInstanceToken_default = (instance_token_from_headers = "") => {
|
|
4
|
+
return new Promise(async (resolve, reject) => {
|
|
5
|
+
const instance_token_from_disk = await readFile("/root/push/instance_token.txt", "utf-8");
|
|
6
|
+
const is_valid_token = instance_token_from_headers === instance_token_from_disk?.replace("\n", "");
|
|
7
|
+
if (is_valid_token) {
|
|
8
|
+
return resolve();
|
|
9
|
+
} else {
|
|
10
|
+
reject();
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
validateInstanceToken_default as default
|
|
16
|
+
};
|
package/dist/push/logs/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import TuskDB from "@tuskdb/node";
|
|
1
|
+
import { MongoClient } from "mongodb";
|
|
3
2
|
import timestamps from "../../lib/timestamps";
|
|
3
|
+
const KILOBYTE = 1e3;
|
|
4
|
+
const MEGABYTE = KILOBYTE * 1e3;
|
|
4
5
|
const captureLog = (callback = null) => {
|
|
5
6
|
process.stdout.write = (data) => {
|
|
6
7
|
if (callback) {
|
|
@@ -23,32 +24,39 @@ const captureLog = (callback = null) => {
|
|
|
23
24
|
}
|
|
24
25
|
});
|
|
25
26
|
};
|
|
27
|
+
const connectMongoDB = async () => {
|
|
28
|
+
const client = new MongoClient("mongodb://localhost:27017");
|
|
29
|
+
const db = client.db("push");
|
|
30
|
+
try {
|
|
31
|
+
await db.createCollection("logs", { capped: true, size: MEGABYTE * 50, max: 1e3 });
|
|
32
|
+
await db.createCollection("metrics", { capped: true, size: MEGABYTE * 50, max: 1e3 });
|
|
33
|
+
} catch {
|
|
34
|
+
}
|
|
35
|
+
await client.connect();
|
|
36
|
+
return {
|
|
37
|
+
client,
|
|
38
|
+
db
|
|
39
|
+
};
|
|
40
|
+
};
|
|
26
41
|
const writeLogsToDisk = () => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
development: "logs.json",
|
|
30
|
-
staging: "/root/logs.json",
|
|
31
|
-
production: "/root/logs.json"
|
|
32
|
-
}[process.env.NODE_ENV || "development"],
|
|
33
|
-
collections: {
|
|
34
|
-
logs: []
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
captureLog((source = "", data = "") => {
|
|
42
|
+
captureLog(async (source = "", data = "") => {
|
|
43
|
+
const mongodb = await connectMongoDB();
|
|
38
44
|
switch (source) {
|
|
39
45
|
case "stdout":
|
|
40
|
-
|
|
46
|
+
await mongodb.db.collection("logs").insertOne({
|
|
41
47
|
error: false,
|
|
42
48
|
timestamp: timestamps.get_current_time(),
|
|
43
49
|
data
|
|
44
50
|
});
|
|
51
|
+
return mongodb.client.close();
|
|
45
52
|
case "stderr":
|
|
46
53
|
case "uncaughtException":
|
|
47
|
-
|
|
54
|
+
await mongodb.db.collection("logs").insertOne({
|
|
48
55
|
error: true,
|
|
49
56
|
timestamp: timestamps.get_current_time(),
|
|
50
57
|
data
|
|
51
58
|
});
|
|
59
|
+
return mongodb.client.close();
|
|
52
60
|
default:
|
|
53
61
|
return;
|
|
54
62
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joystick.js/node-canary",
|
|
3
|
-
"version": "0.0.0-canary.
|
|
3
|
+
"version": "0.0.0-canary.322",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A Node.js framework for building web apps.",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
"author": "",
|
|
17
17
|
"license": "SAUCR",
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@tuskdb/node": "^0.11.0",
|
|
20
19
|
"aws-sdk": "^2.1046.0",
|
|
21
20
|
"bcrypt": "^5.0.1",
|
|
22
21
|
"chalk": "^4.1.2",
|