@openinc/parse-server-opendash 1.8.3 → 1.9.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.
Files changed (40) hide show
  1. package/dist/functions/_init.js +1 -1
  2. package/dist/functions/getAdminConfig.js +1 -1
  3. package/dist/functions/getSchemaForAdmin.js +1 -1
  4. package/dist/hooks/Alarm.js +6 -6
  5. package/dist/hooks/AlarmAction.js +3 -3
  6. package/dist/hooks/AlarmWebhook.js +3 -3
  7. package/dist/hooks/BDE_Form.js +2 -2
  8. package/dist/hooks/BDE_List.js +2 -2
  9. package/dist/hooks/BDE_ListEntry.js +2 -2
  10. package/dist/hooks/BDE_Page.js +3 -3
  11. package/dist/hooks/BDE_Result.js +3 -3
  12. package/dist/hooks/BDE_Unit.js +2 -2
  13. package/dist/hooks/Config.js +3 -3
  14. package/dist/hooks/Dashboard.js +4 -4
  15. package/dist/hooks/NavigationGroup.js +3 -3
  16. package/dist/hooks/NavigationItem.js +3 -3
  17. package/dist/hooks/Notification.js +85 -53
  18. package/dist/hooks/Permission.js +3 -3
  19. package/dist/hooks/Push.d.ts +1 -0
  20. package/dist/hooks/Push.js +81 -0
  21. package/dist/hooks/Report.js +3 -3
  22. package/dist/hooks/Share.js +3 -3
  23. package/dist/hooks/Source.js +5 -5
  24. package/dist/hooks/SourceMeta.js +4 -4
  25. package/dist/hooks/Tenant.js +14 -14
  26. package/dist/hooks/TenantMeta.js +3 -3
  27. package/dist/hooks/TenantTrustedDomain.js +3 -3
  28. package/dist/hooks/UserData.js +3 -3
  29. package/dist/hooks/WebPush.js +3 -3
  30. package/dist/hooks/Widget.js +3 -3
  31. package/dist/hooks/_User.js +9 -9
  32. package/dist/hooks/_beforeLogin.js +2 -2
  33. package/dist/hooks/_init.js +10 -6
  34. package/dist/index.js +13 -13
  35. package/dist/ow.js +7 -7
  36. package/dist/types/Push.d.ts +14 -0
  37. package/dist/types/Push.js +2 -0
  38. package/dist/types/index.d.ts +1 -0
  39. package/package.json +12 -12
  40. package/schema/Push.json +52 -0
@@ -57,7 +57,7 @@ function init() {
57
57
  case 1:
58
58
  if (!(_i < fns_1.length)) return [3 /*break*/, 4];
59
59
  name = fns_1[_i];
60
- init_1 = require("./" + name).init;
60
+ init_1 = require("./".concat(name)).init;
61
61
  return [4 /*yield*/, init_1(name).catch(function (e) { return console.error(e); })];
62
62
  case 2:
63
63
  _a.sent();
@@ -108,7 +108,7 @@ function evaluateClassLevelPermission(userId, roles, permissions) {
108
108
  }
109
109
  for (var _i = 0, roles_1 = roles; _i < roles_1.length; _i++) {
110
110
  var role = roles_1[_i];
111
- if (permissions["role:" + role]) {
111
+ if (permissions["role:".concat(role)]) {
112
112
  return true;
113
113
  }
114
114
  }
@@ -45,7 +45,7 @@ function init(name) {
45
45
  Parse.Cloud.define(name, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  return __generator(this, function (_a) {
47
47
  switch (_a.label) {
48
- case 0: return [4 /*yield*/, __1.requirePermission(request, "parse-admin", "You are not allowed to fetch the schema")];
48
+ case 0: return [4 /*yield*/, (0, __1.requirePermission)(request, "parse-admin", "You are not allowed to fetch the schema")];
49
49
  case 1:
50
50
  _a.sent();
51
51
  return [4 /*yield*/, Parse.Schema.all()];
@@ -57,30 +57,30 @@ function init(className) {
57
57
  return __awaiter(this, void 0, void 0, function () {
58
58
  var _this = this;
59
59
  return __generator(this, function (_a) {
60
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
60
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
61
61
  var object, original, user;
62
62
  return __generator(this, function (_a) {
63
63
  object = request.object, original = request.original, user = request.user;
64
- __1.defaultHandler(request);
64
+ (0, __1.defaultHandler)(request);
65
65
  return [2 /*return*/];
66
66
  });
67
67
  }); });
68
- __1.afterSaveHook(className, function (_a) {
68
+ (0, __1.afterSaveHook)(className, function (_a) {
69
69
  var object = _a.object, original = _a.original, user = _a.user;
70
70
  return __awaiter(_this, void 0, void 0, function () {
71
71
  var username, baseurl, headers, body;
72
72
  return __generator(this, function (_b) {
73
73
  switch (_b.label) {
74
74
  case 0:
75
- if (!__1.getEnvBoolean("PARSE_SERVER_OPENWARE")) return [3 /*break*/, 2];
75
+ if (!(0, __1.getEnvBoolean)("PARSE_SERVER_OPENWARE")) return [3 /*break*/, 2];
76
76
  username = user === null || user === void 0 ? void 0 : user.get("username");
77
- baseurl = __1.getEnv("PARSE_SERVER_OPENWARE_BASEURL");
77
+ baseurl = (0, __1.getEnv)("PARSE_SERVER_OPENWARE_BASEURL");
78
78
  headers = {
79
79
  "content-type": "application/json",
80
80
  "od-session": (user === null || user === void 0 ? void 0 : user.getSessionToken()) || "",
81
81
  };
82
82
  body = JSON.stringify(__assign(__assign({}, object.toJSON()), { owner: object.get("user"), createdAt: undefined, updatedAt: undefined, ACL: undefined }));
83
- return [4 /*yield*/, node_fetch_1.default(baseurl + "/api/alarmsV2/" + username, {
83
+ return [4 /*yield*/, (0, node_fetch_1.default)("".concat(baseurl, "/api/alarmsV2/").concat(username), {
84
84
  method: "POST",
85
85
  headers: headers,
86
86
  body: body,
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {
@@ -42,7 +42,7 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user, entries, form, Entry_1, promises, res_1, sCount_1, newEntries_1;
47
47
  return __generator(this, function (_a) {
48
48
  switch (_a.label) {
@@ -88,7 +88,7 @@ function init(className) {
88
88
  }
89
89
  });
90
90
  }); });
91
- __1.afterSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
91
+ (0, __1.afterSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
92
92
  var object, original, user;
93
93
  return __generator(this, function (_a) {
94
94
  object = request.object, original = request.original, user = request.user;
@@ -42,14 +42,14 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
49
  return [2 /*return*/];
50
50
  });
51
51
  }); });
52
- __1.afterSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
52
+ (0, __1.afterSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
53
53
  var object, original, user;
54
54
  return __generator(this, function (_a) {
55
55
  object = request.object, original = request.original, user = request.user;
@@ -42,14 +42,14 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
49
  return [2 /*return*/];
50
50
  });
51
51
  }); });
52
- __1.afterSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
52
+ (0, __1.afterSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
53
53
  var object, original, user;
54
54
  return __generator(this, function (_a) {
55
55
  object = request.object, original = request.original, user = request.user;
@@ -42,14 +42,14 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
49
  return [2 /*return*/];
50
50
  });
51
51
  }); });
52
- __1.afterSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
52
+ (0, __1.afterSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
53
53
  var object, original, user, query, affectedForms;
54
54
  return __generator(this, function (_a) {
55
55
  switch (_a.label) {
@@ -66,7 +66,7 @@ function init(className) {
66
66
  }
67
67
  });
68
68
  }); });
69
- __1.afterDeleteHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
69
+ (0, __1.afterDeleteHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
70
70
  var object, original, user, query, affectedForms;
71
71
  return __generator(this, function (_a) {
72
72
  switch (_a.label) {
@@ -43,14 +43,14 @@ function init(className) {
43
43
  return __awaiter(this, void 0, void 0, function () {
44
44
  var _this = this;
45
45
  return __generator(this, function (_a) {
46
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
47
47
  var object, original, user;
48
48
  return __generator(this, function (_a) {
49
49
  object = request.object, original = request.original, user = request.user;
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
53
+ (0, __1.afterSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
54
54
  var object, original, user, data, saveDateTimestamp, values, valueTypes;
55
55
  return __generator(this, function (_a) {
56
56
  switch (_a.label) {
@@ -162,7 +162,7 @@ function init(className) {
162
162
  unit: "",
163
163
  type: "String",
164
164
  });
165
- return [4 /*yield*/, ow_1.publishDataItem({
165
+ return [4 /*yield*/, (0, ow_1.publishDataItem)({
166
166
  id: data.source + data.formID,
167
167
  user: data.source,
168
168
  reference: data.reference,
@@ -42,14 +42,14 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
49
  return [2 /*return*/];
50
50
  });
51
51
  }); });
52
- __1.afterSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
52
+ (0, __1.afterSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
53
53
  var object, original, user;
54
54
  return __generator(this, function (_a) {
55
55
  object = request.object, original = request.original, user = request.user;
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  var acl, widgetIds, widgets, _i, widgets_1, widget;
@@ -61,7 +61,7 @@ function init(className) {
61
61
  widgetIds = object.get("widgets");
62
62
  if (!(acl && Array.isArray(widgetIds) && widgetIds.length > 0)) return [3 /*break*/, 3];
63
63
  widgets = widgetIds === null || widgetIds === void 0 ? void 0 : widgetIds.map(function (id) {
64
- return new Parse.Object(className, {
64
+ return new Parse.Object("".concat(__1.PREFIX, "Widget"), {
65
65
  objectId: id,
66
66
  });
67
67
  });
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {
@@ -46,77 +46,78 @@ function init(className) {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
47
  var _this = this;
48
48
  return __generator(this, function (_a) {
49
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
49
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
50
50
  var object, original, user;
51
51
  return __generator(this, function (_a) {
52
52
  object = request.object, original = request.original, user = request.user;
53
- __1.defaultHandler(request);
53
+ (0, __1.defaultHandler)(request);
54
54
  return [2 /*return*/];
55
55
  });
56
56
  }); });
57
- __1.afterSaveHook(className, function (_a) {
57
+ (0, __1.afterSaveHook)(className, function (_a) {
58
58
  var object = _a.object, original = _a.original, user = _a.user;
59
59
  return __awaiter(_this, void 0, void 0, function () {
60
- var subscriptions, _i, subscriptions_1, subscription, _b, _c, _d, _e, _f, _g, error_1;
61
- var _h, _j;
62
- var _k, _l;
63
- return __generator(this, function (_m) {
64
- switch (_m.label) {
60
+ var icon, _b, title, description, subscriptions, _i, subscriptions_1, subscription, webpushSubs, _c, webpushSubs_1, subscription;
61
+ return __generator(this, function (_d) {
62
+ switch (_d.label) {
65
63
  case 0:
66
- if (!!object.get("isSent")) return [3 /*break*/, 11];
67
- return [4 /*yield*/, new Parse.Query(className)
64
+ if (!!object.get("isSent")) return [3 /*break*/, 14];
65
+ _b = object.get("iconPath");
66
+ if (_b) return [3 /*break*/, 2];
67
+ return [4 /*yield*/, (0, __1.getConfig)("WEB_PUSH_ICON")];
68
+ case 1:
69
+ _b = (_d.sent());
70
+ _d.label = 2;
71
+ case 2:
72
+ icon = _b;
73
+ title = object.get("title");
74
+ description = object.get("description");
75
+ return [4 /*yield*/, new Parse.Query("".concat(__1.PREFIX, "Push"))
68
76
  .equalTo("user", object.get("user"))
77
+ .limit(100000)
69
78
  .find({
70
79
  useMasterKey: true,
71
80
  })];
72
- case 1:
73
- subscriptions = _m.sent();
74
- console.log("[@openinc/parse-server-opendash][Notification]", "notification=\"" + (object === null || object === void 0 ? void 0 : object.id) + "\"", "user=\"" + ((_k = object === null || object === void 0 ? void 0 : object.get("user")) === null || _k === void 0 ? void 0 : _k.id) + "\"", "type=\"webpush\"", "subscriptions=\"" + subscriptions.map(function (s) { return s.id; }).join(", ") + "\"");
75
- _i = 0, subscriptions_1 = subscriptions;
76
- _m.label = 2;
77
- case 2:
78
- if (!(_i < subscriptions_1.length)) return [3 /*break*/, 9];
79
- subscription = subscriptions_1[_i];
80
- _m.label = 3;
81
81
  case 3:
82
- _m.trys.push([3, 7, , 8]);
83
- _c = (_b = web_push_1.default).sendNotification;
84
- _d = [subscription.get("subscription")];
85
- _f = (_e = JSON).stringify;
86
- _h = {
87
- type: "notification",
88
- title: object.get("title")
89
- };
90
- _j = {
91
- body: object.get("description"),
92
- data: object.get("data")
93
- };
94
- _g = object.get("iconPath");
95
- if (_g) return [3 /*break*/, 5];
96
- return [4 /*yield*/, __1.getConfig("WEB_PUSH_ICON")];
82
+ subscriptions = _d.sent();
83
+ _i = 0, subscriptions_1 = subscriptions;
84
+ _d.label = 4;
97
85
  case 4:
98
- _g = (_m.sent());
99
- _m.label = 5;
100
- case 5: return [4 /*yield*/, _c.apply(_b, _d.concat([_f.apply(_e, [(_h.options = (_j.icon = _g,
101
- _j),
102
- _h)]), {
103
- TTL: 0,
104
- }]))];
86
+ if (!(_i < subscriptions_1.length)) return [3 /*break*/, 7];
87
+ subscription = subscriptions_1[_i];
88
+ if (!(subscription.get("type") === "web")) return [3 /*break*/, 6];
89
+ return [4 /*yield*/, sendWebPush(subscription.get("data"), object.id, title, description, icon, object.get("data"))];
90
+ case 5:
91
+ _d.sent();
92
+ _d.label = 6;
105
93
  case 6:
106
- _m.sent();
107
- return [3 /*break*/, 8];
108
- case 7:
109
- error_1 = _m.sent();
110
- console.error("[@openinc/parse-server-opendash][Notification]", "notification=\"" + (object === null || object === void 0 ? void 0 : object.id) + "\"", "user=\"" + ((_l = object === null || object === void 0 ? void 0 : object.get("user")) === null || _l === void 0 ? void 0 : _l.id) + "\"", "type=\"webpush\"", "subscription=\"" + (subscription === null || subscription === void 0 ? void 0 : subscription.id) + "\"", "error=\n", error_1);
111
- return [3 /*break*/, 8];
112
- case 8:
113
94
  _i++;
114
- return [3 /*break*/, 2];
115
- case 9: return [4 /*yield*/, object.save({ isSent: true }, { useMasterKey: true })];
95
+ return [3 /*break*/, 4];
96
+ case 7: return [4 /*yield*/, new Parse.Query("".concat(__1.PREFIX, "WebPush"))
97
+ .equalTo("user", object.get("user"))
98
+ .limit(100000)
99
+ .find({
100
+ useMasterKey: true,
101
+ })];
102
+ case 8:
103
+ webpushSubs = _d.sent();
104
+ _c = 0, webpushSubs_1 = webpushSubs;
105
+ _d.label = 9;
106
+ case 9:
107
+ if (!(_c < webpushSubs_1.length)) return [3 /*break*/, 12];
108
+ subscription = webpushSubs_1[_c];
109
+ return [4 /*yield*/, sendWebPush(subscription.get("subscription"), object.id, title, description, icon, object.get("data"))];
116
110
  case 10:
117
- _m.sent();
118
- _m.label = 11;
119
- case 11: return [2 /*return*/];
111
+ _d.sent();
112
+ _d.label = 11;
113
+ case 11:
114
+ _c++;
115
+ return [3 /*break*/, 9];
116
+ case 12: return [4 /*yield*/, object.save({ isSent: true }, { useMasterKey: true })];
117
+ case 13:
118
+ _d.sent();
119
+ _d.label = 14;
120
+ case 14: return [2 /*return*/];
120
121
  }
121
122
  });
122
123
  });
@@ -126,3 +127,34 @@ function init(className) {
126
127
  });
127
128
  }
128
129
  exports.init = init;
130
+ function sendWebPush(subscription, id, title, description, icon, data) {
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ var error_1;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ _a.trys.push([0, 2, , 3]);
137
+ console.log("[@openinc/parse-server-opendash][Notification]", "notification=\"".concat(id, "\""), "type=\"web\"", "subscription=\"".concat(subscription === null || subscription === void 0 ? void 0 : subscription.id, "\""));
138
+ return [4 /*yield*/, web_push_1.default.sendNotification(subscription, JSON.stringify({
139
+ type: "notification",
140
+ title: title,
141
+ options: {
142
+ body: description,
143
+ data: data,
144
+ icon: icon,
145
+ },
146
+ }), {
147
+ TTL: 0,
148
+ })];
149
+ case 1:
150
+ _a.sent();
151
+ return [3 /*break*/, 3];
152
+ case 2:
153
+ error_1 = _a.sent();
154
+ console.error("[@openinc/parse-server-opendash][Notification]", "notification=\"".concat(id, "\""), "type=\"web\"", "subscription=\"".concat(subscription === null || subscription === void 0 ? void 0 : subscription.id, "\""), "error=\n", error_1);
155
+ return [3 /*break*/, 3];
156
+ case 3: return [2 /*return*/];
157
+ }
158
+ });
159
+ });
160
+ }
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {
@@ -0,0 +1 @@
1
+ export declare function init(className: string): Promise<void>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.init = void 0;
40
+ var __1 = require("..");
41
+ function init(className) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var _this = this;
44
+ return __generator(this, function (_a) {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
+ var object, installationId, user;
47
+ var _a;
48
+ return __generator(this, function (_b) {
49
+ object = request.object, installationId = request.installationId, user = request.user;
50
+ (0, __1.defaultHandler)(request);
51
+ if (!user && !object.get("user")) {
52
+ throw new Parse.Error(142, "User Missing");
53
+ }
54
+ if (user && object.get("user") && user.id !== object.get("user").id) {
55
+ throw new Parse.Error(142, "Invalid User");
56
+ }
57
+ if (user) {
58
+ object.set("user", user);
59
+ }
60
+ if (installationId) {
61
+ object.set("installationId", installationId);
62
+ }
63
+ object.setACL(new Parse.ACL((_a = {},
64
+ _a[object.get("user").id] = { read: true, write: true },
65
+ _a)));
66
+ return [2 /*return*/];
67
+ });
68
+ }); });
69
+ (0, __1.afterSaveHook)(className, function (_a) {
70
+ var object = _a.object, original = _a.original, user = _a.user;
71
+ return __awaiter(_this, void 0, void 0, function () {
72
+ return __generator(this, function (_b) {
73
+ return [2 /*return*/];
74
+ });
75
+ });
76
+ });
77
+ return [2 /*return*/];
78
+ });
79
+ });
80
+ }
81
+ exports.init = init;
@@ -42,15 +42,15 @@ function init(className) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  var _this = this;
44
44
  return __generator(this, function (_a) {
45
- __1.beforeSaveHook(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
45
+ (0, __1.beforeSaveHook)(className, function (request) { return __awaiter(_this, void 0, void 0, function () {
46
46
  var object, original, user;
47
47
  return __generator(this, function (_a) {
48
48
  object = request.object, original = request.original, user = request.user;
49
- __1.defaultHandler(request);
49
+ (0, __1.defaultHandler)(request);
50
50
  return [2 /*return*/];
51
51
  });
52
52
  }); });
53
- __1.afterSaveHook(className, function (_a) {
53
+ (0, __1.afterSaveHook)(className, function (_a) {
54
54
  var object = _a.object, original = _a.original, user = _a.user;
55
55
  return __awaiter(_this, void 0, void 0, function () {
56
56
  return __generator(this, function (_b) {