@openinc/parse-server-opendash 1.8.0 → 1.8.4
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/hooks/BDE_Result.js +1 -1
- package/dist/hooks/Source.js +6 -5
- package/dist/hooks/SourceMeta.js +2 -2
- package/dist/hooks/Tenant.js +3 -3
- package/dist/ow.d.ts +2 -1
- package/dist/ow.js +69 -17
- package/package.json +3 -1
package/dist/hooks/BDE_Result.js
CHANGED
package/dist/hooks/Source.js
CHANGED
|
@@ -49,9 +49,6 @@ function init(className) {
|
|
|
49
49
|
case 0:
|
|
50
50
|
object = request.object, original = request.original, user = request.user;
|
|
51
51
|
(0, __1.defaultHandler)(request);
|
|
52
|
-
if (!object.get("meta")) {
|
|
53
|
-
object.set("meta", new Parse.Object(className, {}));
|
|
54
|
-
}
|
|
55
52
|
acl = object.getACL();
|
|
56
53
|
if (!acl) {
|
|
57
54
|
acl = new Parse.ACL();
|
|
@@ -64,6 +61,10 @@ function init(className) {
|
|
|
64
61
|
acl.setRoleWriteAccess("od-tenant-admin-" + (tenant === null || tenant === void 0 ? void 0 : tenant.id), true);
|
|
65
62
|
}
|
|
66
63
|
object.setACL(acl);
|
|
64
|
+
// ACL end
|
|
65
|
+
if (!object.get("meta")) {
|
|
66
|
+
object.set("meta", new Parse.Object(__1.PREFIX + "SourceMeta", {}));
|
|
67
|
+
}
|
|
67
68
|
meta = object.get("meta");
|
|
68
69
|
meta === null || meta === void 0 ? void 0 : meta.setACL(object.getACL());
|
|
69
70
|
meta === null || meta === void 0 ? void 0 : meta.set("name", object.get("name"));
|
|
@@ -104,7 +105,7 @@ function init(className) {
|
|
|
104
105
|
location.set("name", object.get("name"));
|
|
105
106
|
location.set("spsid", object.get("tag"));
|
|
106
107
|
location.setACL(object.getACL());
|
|
107
|
-
return [4 /*yield*/, location.save(null, { useMasterKey: true })];
|
|
108
|
+
return [4 /*yield*/, location.save(null, { useMasterKey: true, cascadeSave: false })];
|
|
108
109
|
case 4:
|
|
109
110
|
_c.sent();
|
|
110
111
|
_c.label = 5;
|
|
@@ -139,7 +140,7 @@ function init(className) {
|
|
|
139
140
|
permission = permissions_1[_b];
|
|
140
141
|
permission.set("owner", object.get("tag"));
|
|
141
142
|
permission.setACL(object.getACL());
|
|
142
|
-
return [4 /*yield*/, permission.save(null, { useMasterKey: true })];
|
|
143
|
+
return [4 /*yield*/, permission.save(null, { useMasterKey: true, cascadeSave: false })];
|
|
143
144
|
case 11:
|
|
144
145
|
_c.sent();
|
|
145
146
|
_c.label = 12;
|
package/dist/hooks/SourceMeta.js
CHANGED
|
@@ -58,7 +58,7 @@ function init(className) {
|
|
|
58
58
|
switch (_c.label) {
|
|
59
59
|
case 0:
|
|
60
60
|
_c.trys.push([0, 9, , 10]);
|
|
61
|
-
return [4 /*yield*/, new Parse.Query(
|
|
61
|
+
return [4 /*yield*/, new Parse.Query(__1.PREFIX + "Source")
|
|
62
62
|
.equalTo("meta", object)
|
|
63
63
|
.find({ useMasterKey: true })];
|
|
64
64
|
case 1:
|
|
@@ -88,7 +88,7 @@ function init(className) {
|
|
|
88
88
|
location.set("postCode", object === null || object === void 0 ? void 0 : object.get("postCode"));
|
|
89
89
|
// @ts-ignore
|
|
90
90
|
location.set("address", object === null || object === void 0 ? void 0 : object.get("address"));
|
|
91
|
-
return [4 /*yield*/, location.save(null, { useMasterKey: true })];
|
|
91
|
+
return [4 /*yield*/, location.save(null, { useMasterKey: true, cascadeSave: false })];
|
|
92
92
|
case 5:
|
|
93
93
|
_c.sent();
|
|
94
94
|
_c.label = 6;
|
package/dist/hooks/Tenant.js
CHANGED
|
@@ -65,7 +65,7 @@ function init(className) {
|
|
|
65
65
|
},
|
|
66
66
|
_a)));
|
|
67
67
|
if (!!object.get("meta")) return [3 /*break*/, 2];
|
|
68
|
-
meta = new Parse.Object(
|
|
68
|
+
meta = new Parse.Object(__1.PREFIX + "TenantMeta", {
|
|
69
69
|
tenant: object,
|
|
70
70
|
});
|
|
71
71
|
return [4 /*yield*/, meta.save(null, { useMasterKey: true, cascadeSave: false })];
|
|
@@ -73,7 +73,7 @@ function init(className) {
|
|
|
73
73
|
_c.sent();
|
|
74
74
|
object.set("meta", meta);
|
|
75
75
|
_c.label = 2;
|
|
76
|
-
case 2: return [4 /*yield*/, new Parse.Query(
|
|
76
|
+
case 2: return [4 /*yield*/, new Parse.Query(__1.PREFIX + "Source")
|
|
77
77
|
.equalTo("tag", "tenant-root-source")
|
|
78
78
|
.first({ useMasterKey: true })];
|
|
79
79
|
case 3:
|
|
@@ -85,7 +85,7 @@ function init(className) {
|
|
|
85
85
|
_b));
|
|
86
86
|
dataSource = object.get("dataSource");
|
|
87
87
|
if (!dataSource) {
|
|
88
|
-
dataSource = new Parse.Object(
|
|
88
|
+
dataSource = new Parse.Object(__1.PREFIX + "Source");
|
|
89
89
|
}
|
|
90
90
|
dataSource.setACL(sourceACL);
|
|
91
91
|
if (rootSource) {
|
package/dist/ow.d.ts
CHANGED
|
@@ -17,4 +17,5 @@ export interface DataItemValueInterface {
|
|
|
17
17
|
date: number;
|
|
18
18
|
value: any[];
|
|
19
19
|
}
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function getToken(usermail?: string): Promise<string | null>;
|
|
21
|
+
export declare function publishDataItem(dataItem: DataItemInterface, usermail?: string): Promise<void>;
|
package/dist/ow.js
CHANGED
|
@@ -39,25 +39,51 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.publishDataItem = void 0;
|
|
42
|
+
exports.publishDataItem = exports.getToken = void 0;
|
|
43
43
|
var node_fetch_1 = __importDefault(require("node-fetch"));
|
|
44
|
+
var jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
44
45
|
var _1 = require(".");
|
|
45
46
|
var LOG_PREFIX = "[@openinc/parse-server-opendash][open.WARE] ";
|
|
46
|
-
function
|
|
47
|
+
function getToken(usermail) {
|
|
47
48
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var
|
|
49
|
-
return __generator(this, function (
|
|
50
|
-
|
|
49
|
+
var JWT_EMAIL, JWT_SECRET, JWT_ISS, JWT_TOKEN;
|
|
50
|
+
return __generator(this, function (_a) {
|
|
51
|
+
JWT_EMAIL = usermail || (0, _1.getEnv)("PARSE_SERVER_OPENWARE_JWT_ADMIN_EMAIL");
|
|
52
|
+
JWT_SECRET = (0, _1.getEnv)("PARSE_SERVER_OPENWARE_JWT_SECRET");
|
|
53
|
+
JWT_ISS = (0, _1.getEnv)("PARSE_SERVER_OPENWARE_JWT_ISS");
|
|
54
|
+
JWT_TOKEN = (0, _1.getEnv)("PARSE_SERVER_OPENWARE_JWT_TOKEN");
|
|
55
|
+
if (JWT_EMAIL && JWT_SECRET && JWT_ISS) {
|
|
56
|
+
return [2 /*return*/, jsonwebtoken_1.default.sign({ usermail: JWT_EMAIL }, JWT_SECRET, {
|
|
57
|
+
algorithm: "HS256",
|
|
58
|
+
issuer: JWT_ISS,
|
|
59
|
+
noTimestamp: true,
|
|
60
|
+
})];
|
|
61
|
+
}
|
|
62
|
+
if (JWT_TOKEN) {
|
|
63
|
+
return [2 /*return*/, JWT_TOKEN];
|
|
64
|
+
}
|
|
65
|
+
return [2 /*return*/, null];
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
exports.getToken = getToken;
|
|
70
|
+
function publishDataItem(dataItem, usermail) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
+
var active, token, baseurl, url, headers, response, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
73
|
+
return __generator(this, function (_m) {
|
|
74
|
+
switch (_m.label) {
|
|
51
75
|
case 0:
|
|
52
76
|
active = (0, _1.getEnvBoolean)("PARSE_SERVER_OPENWARE");
|
|
53
77
|
if (!active) {
|
|
54
78
|
return [2 /*return*/, console.log(LOG_PREFIX +
|
|
55
79
|
"PARSE_SERVER_OPENWARE = false => Sending Data to open.WARE is not available.")];
|
|
56
80
|
}
|
|
57
|
-
|
|
81
|
+
return [4 /*yield*/, getToken(usermail)];
|
|
82
|
+
case 1:
|
|
83
|
+
token = _m.sent();
|
|
58
84
|
if (!token) {
|
|
59
85
|
return [2 /*return*/, console.log(LOG_PREFIX +
|
|
60
|
-
"PARSE_SERVER_OPENWARE_JWT_TOKEN = undefined => Sending Data to open.WARE is not available.")];
|
|
86
|
+
"PARSE_SERVER_OPENWARE_JWT_TOKEN OR _JWT_SECERT/_ADMIN_EMAIL/_ISS = undefined => Sending Data to open.WARE is not available.")];
|
|
61
87
|
}
|
|
62
88
|
baseurl = (0, _1.getEnv)("PARSE_SERVER_OPENWARE_BASEURL");
|
|
63
89
|
if (!baseurl) {
|
|
@@ -73,22 +99,48 @@ function publishDataItem(dataItem) {
|
|
|
73
99
|
headers: headers,
|
|
74
100
|
body: JSON.stringify(dataItem),
|
|
75
101
|
})];
|
|
76
|
-
case
|
|
77
|
-
response =
|
|
78
|
-
if (!!response.ok) return [3 /*break*/,
|
|
79
|
-
_a =
|
|
80
|
-
|
|
81
|
-
"Bad Status Code: " +
|
|
102
|
+
case 2:
|
|
103
|
+
response = _m.sent();
|
|
104
|
+
if (!!response.ok) return [3 /*break*/, 6];
|
|
105
|
+
_b = (_a = console).log;
|
|
106
|
+
_c = LOG_PREFIX +
|
|
107
|
+
"PUBLISH ERROR Bad Status Code: " +
|
|
82
108
|
response.status +
|
|
83
109
|
"\n";
|
|
84
110
|
return [4 /*yield*/, response.text()];
|
|
85
|
-
case 2: throw new (_a.apply(Error, [void 0, _b +
|
|
86
|
-
(_e.sent())]))();
|
|
87
111
|
case 3:
|
|
88
|
-
|
|
112
|
+
_b.apply(_a, [_c +
|
|
113
|
+
(_m.sent())]);
|
|
114
|
+
_e = (_d = console).log;
|
|
115
|
+
_f = LOG_PREFIX +
|
|
116
|
+
"PUBLISH ERROR DEBUG: \n" +
|
|
117
|
+
"URL = " +
|
|
118
|
+
url +
|
|
119
|
+
"\n" +
|
|
120
|
+
"TOKEN = " +
|
|
121
|
+
token +
|
|
122
|
+
"\n" +
|
|
123
|
+
"PAYLOAD = " +
|
|
124
|
+
JSON.stringify(dataItem, null, 2) +
|
|
125
|
+
"\n";
|
|
89
126
|
return [4 /*yield*/, response.text()];
|
|
90
127
|
case 4:
|
|
91
|
-
|
|
128
|
+
_e.apply(_d, [_f +
|
|
129
|
+
(_m.sent())]);
|
|
130
|
+
_g = Error.bind;
|
|
131
|
+
_h = LOG_PREFIX +
|
|
132
|
+
"Bad Status Code: " +
|
|
133
|
+
response.status +
|
|
134
|
+
"\n";
|
|
135
|
+
return [4 /*yield*/, response.text()];
|
|
136
|
+
case 5: throw new (_g.apply(Error, [void 0, _h +
|
|
137
|
+
(_m.sent())]))();
|
|
138
|
+
case 6:
|
|
139
|
+
_k = (_j = console).log;
|
|
140
|
+
_l = LOG_PREFIX + "PUBLISH SUCCESS ";
|
|
141
|
+
return [4 /*yield*/, response.text()];
|
|
142
|
+
case 7:
|
|
143
|
+
_k.apply(_j, [_l + (_m.sent())]);
|
|
92
144
|
return [2 /*return*/];
|
|
93
145
|
}
|
|
94
146
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openinc/parse-server-opendash",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.4",
|
|
4
4
|
"description": "Parse Server Cloud Code for open.DASH",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"parse",
|
|
@@ -21,10 +21,12 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@openinc/parse-server-schema": "^1.3.1",
|
|
23
23
|
"fast-deep-equal": "^3.1.3",
|
|
24
|
+
"jsonwebtoken": "^8.5.1",
|
|
24
25
|
"node-fetch": "^2.6.1",
|
|
25
26
|
"web-push": "^3.4.4"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
29
|
+
"@types/jsonwebtoken": "^8.5.6",
|
|
28
30
|
"@types/node": "^15.0.2",
|
|
29
31
|
"@types/node-fetch": "^2.5.10",
|
|
30
32
|
"@types/parse": "^2.18.6",
|