@openinc/parse-server-opendash 1.10.2 → 1.11.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 (258) hide show
  1. package/dist/functions/_init.js +11 -65
  2. package/dist/functions/getAdminConfig.js +38 -91
  3. package/dist/functions/getSchemaForAdmin.js +5 -54
  4. package/dist/functions/opendash-geo-features.js +13 -58
  5. package/dist/functions/opendash-geo-google-autocomplete.js +53 -112
  6. package/dist/functions/opendash-geo-graphhopper-geocode-reverse.js +30 -83
  7. package/dist/functions/opendash-geo-graphhopper-geocode.js +33 -86
  8. package/dist/hooks/Alarm.d.ts +1 -1
  9. package/dist/hooks/Alarm.js +29 -95
  10. package/dist/hooks/AlarmAction.d.ts +1 -1
  11. package/dist/hooks/AlarmAction.js +9 -64
  12. package/dist/hooks/AlarmWebhook.d.ts +1 -1
  13. package/dist/hooks/AlarmWebhook.js +10 -64
  14. package/dist/hooks/Attachment.d.ts +1 -0
  15. package/dist/hooks/Attachment.js +18 -0
  16. package/dist/hooks/BDE_Form.d.ts +1 -1
  17. package/dist/hooks/BDE_Form.js +57 -114
  18. package/dist/hooks/BDE_List.d.ts +1 -1
  19. package/dist/hooks/BDE_List.js +11 -57
  20. package/dist/hooks/BDE_ListEntry.d.ts +1 -1
  21. package/dist/hooks/BDE_ListEntry.js +11 -57
  22. package/dist/hooks/BDE_Page.d.ts +1 -1
  23. package/dist/hooks/BDE_Page.js +19 -84
  24. package/dist/hooks/BDE_Result.d.ts +1 -1
  25. package/dist/hooks/BDE_Result.js +125 -177
  26. package/dist/hooks/BDE_Unit.d.ts +1 -1
  27. package/dist/hooks/BDE_Unit.js +11 -57
  28. package/dist/hooks/Config.d.ts +1 -1
  29. package/dist/hooks/Config.js +10 -64
  30. package/dist/hooks/Dashboard.d.ts +1 -1
  31. package/dist/hooks/Dashboard.js +26 -96
  32. package/dist/hooks/Group.d.ts +1 -0
  33. package/dist/hooks/Group.js +18 -0
  34. package/dist/hooks/Group_UserRelation.d.ts +1 -0
  35. package/dist/hooks/Group_UserRelation.js +18 -0
  36. package/dist/hooks/Knowledge_Article.d.ts +1 -0
  37. package/dist/hooks/Knowledge_Article.js +18 -0
  38. package/dist/hooks/Knowledge_Category.d.ts +1 -0
  39. package/dist/hooks/Knowledge_Category.js +18 -0
  40. package/dist/hooks/Knowledge_Document.d.ts +1 -0
  41. package/dist/hooks/Knowledge_Document.js +18 -0
  42. package/dist/hooks/Knowledge_DocumentPage.d.ts +1 -0
  43. package/dist/hooks/Knowledge_DocumentPage.js +18 -0
  44. package/dist/hooks/Knowledge_Video.d.ts +1 -0
  45. package/dist/hooks/Knowledge_Video.js +18 -0
  46. package/dist/hooks/Language.d.ts +1 -0
  47. package/dist/hooks/Language.js +18 -0
  48. package/dist/hooks/Maintenance_Article.d.ts +1 -0
  49. package/dist/hooks/Maintenance_Article.js +18 -0
  50. package/dist/hooks/Maintenance_Downtime.d.ts +1 -0
  51. package/dist/hooks/Maintenance_Downtime.js +18 -0
  52. package/dist/hooks/Maintenance_Duedate.d.ts +1 -0
  53. package/dist/hooks/Maintenance_Duedate.js +18 -0
  54. package/dist/hooks/Maintenance_Frequency.d.ts +1 -0
  55. package/dist/hooks/Maintenance_Frequency.js +18 -0
  56. package/dist/hooks/Maintenance_Issuecategory.d.ts +1 -0
  57. package/dist/hooks/Maintenance_Issuecategory.js +18 -0
  58. package/dist/hooks/Maintenance_Kanban_State.d.ts +1 -0
  59. package/dist/hooks/Maintenance_Kanban_State.js +18 -0
  60. package/dist/hooks/Maintenance_Media.d.ts +1 -0
  61. package/dist/hooks/Maintenance_Media.js +18 -0
  62. package/dist/hooks/Maintenance_Priority.d.ts +1 -0
  63. package/dist/hooks/Maintenance_Priority.js +18 -0
  64. package/dist/hooks/Maintenance_Restriction.d.ts +1 -0
  65. package/dist/hooks/Maintenance_Restriction.js +18 -0
  66. package/dist/hooks/Maintenance_Schedule.d.ts +1 -0
  67. package/dist/hooks/Maintenance_Schedule.js +18 -0
  68. package/dist/hooks/Maintenance_Schedule_Step.d.ts +1 -0
  69. package/dist/hooks/Maintenance_Schedule_Step.js +18 -0
  70. package/dist/hooks/Maintenance_Ticket.d.ts +1 -0
  71. package/dist/hooks/Maintenance_Ticket.js +18 -0
  72. package/dist/hooks/Maintenance_Ticket_Issuecategory.d.ts +1 -0
  73. package/dist/hooks/Maintenance_Ticket_Issuecategory.js +18 -0
  74. package/dist/hooks/Maintenance_Ticket_Kanban_State.d.ts +1 -0
  75. package/dist/hooks/Maintenance_Ticket_Kanban_State.js +18 -0
  76. package/dist/hooks/Maintenance_Ticket_Source.d.ts +1 -0
  77. package/dist/hooks/Maintenance_Ticket_Source.js +18 -0
  78. package/dist/hooks/NavigationGroup.d.ts +1 -1
  79. package/dist/hooks/NavigationGroup.js +9 -64
  80. package/dist/hooks/NavigationItem.d.ts +1 -1
  81. package/dist/hooks/NavigationItem.js +10 -64
  82. package/dist/hooks/Notification.d.ts +1 -1
  83. package/dist/hooks/Notification.js +55 -153
  84. package/dist/hooks/Permission.d.ts +1 -1
  85. package/dist/hooks/Permission.js +9 -64
  86. package/dist/hooks/Push.d.ts +1 -1
  87. package/dist/hooks/Push.js +24 -80
  88. package/dist/hooks/Report.d.ts +1 -1
  89. package/dist/hooks/Report.js +10 -64
  90. package/dist/hooks/Share.d.ts +1 -1
  91. package/dist/hooks/Share.js +10 -64
  92. package/dist/hooks/Source.d.ts +1 -1
  93. package/dist/hooks/Source.js +123 -240
  94. package/dist/hooks/SourceMeta.d.ts +1 -1
  95. package/dist/hooks/SourceMeta.js +36 -115
  96. package/dist/hooks/Tenant.d.ts +1 -1
  97. package/dist/hooks/Tenant.js +87 -168
  98. package/dist/hooks/TenantMeta.d.ts +1 -1
  99. package/dist/hooks/TenantMeta.js +6 -56
  100. package/dist/hooks/TenantTrustedDomain.d.ts +1 -1
  101. package/dist/hooks/TenantTrustedDomain.js +6 -56
  102. package/dist/hooks/UserData.d.ts +1 -1
  103. package/dist/hooks/UserData.js +10 -64
  104. package/dist/hooks/WebPush.d.ts +1 -1
  105. package/dist/hooks/WebPush.js +21 -77
  106. package/dist/hooks/Widget.d.ts +1 -1
  107. package/dist/hooks/Widget.js +10 -64
  108. package/dist/hooks/WidgetPreset.d.ts +1 -0
  109. package/dist/hooks/WidgetPreset.js +18 -0
  110. package/dist/hooks/_User.js +102 -208
  111. package/dist/hooks/_beforeLogin.js +16 -71
  112. package/dist/hooks/_init.js +15 -78
  113. package/dist/index.d.ts +4 -0
  114. package/dist/index.js +241 -487
  115. package/dist/ow.js +79 -137
  116. package/dist/types/Alarm.d.ts +25 -5
  117. package/dist/types/Alarm.js +57 -0
  118. package/dist/types/AlarmAction.d.ts +29 -7
  119. package/dist/types/AlarmAction.js +63 -0
  120. package/dist/types/AlarmWebhook.d.ts +30 -9
  121. package/dist/types/AlarmWebhook.js +63 -0
  122. package/dist/types/Attachment.d.ts +21 -0
  123. package/dist/types/Attachment.js +29 -0
  124. package/dist/types/BDE_Form.d.ts +14 -3
  125. package/dist/types/BDE_Form.js +33 -0
  126. package/dist/types/BDE_List.d.ts +6 -1
  127. package/dist/types/BDE_List.js +15 -0
  128. package/dist/types/BDE_ListEntry.d.ts +12 -4
  129. package/dist/types/BDE_ListEntry.js +27 -0
  130. package/dist/types/BDE_Page.d.ts +9 -2
  131. package/dist/types/BDE_Page.js +21 -0
  132. package/dist/types/BDE_Result.d.ts +11 -2
  133. package/dist/types/BDE_Result.js +27 -0
  134. package/dist/types/BDE_Unit.d.ts +14 -3
  135. package/dist/types/BDE_Unit.js +33 -0
  136. package/dist/types/Config.d.ts +14 -3
  137. package/dist/types/Config.js +33 -0
  138. package/dist/types/Dashboard.d.ts +24 -5
  139. package/dist/types/Dashboard.js +51 -0
  140. package/dist/types/Group.d.ts +18 -0
  141. package/dist/types/Group.js +23 -0
  142. package/dist/types/Group_UserRelation.d.ts +19 -0
  143. package/dist/types/Group_UserRelation.js +23 -0
  144. package/dist/types/Knowledge_Article.d.ts +29 -0
  145. package/dist/types/Knowledge_Article.js +41 -0
  146. package/dist/types/Knowledge_Category.d.ts +25 -0
  147. package/dist/types/Knowledge_Category.js +35 -0
  148. package/dist/types/Knowledge_Document.d.ts +29 -0
  149. package/dist/types/Knowledge_Document.js +41 -0
  150. package/dist/types/Knowledge_DocumentPage.d.ts +27 -0
  151. package/dist/types/Knowledge_DocumentPage.js +41 -0
  152. package/dist/types/Knowledge_Video.d.ts +35 -0
  153. package/dist/types/Knowledge_Video.js +53 -0
  154. package/dist/types/Language.d.ts +14 -0
  155. package/dist/types/Language.js +17 -0
  156. package/dist/types/Maintenance_Article.d.ts +33 -0
  157. package/dist/types/Maintenance_Article.js +47 -0
  158. package/dist/types/Maintenance_Downtime.d.ts +26 -0
  159. package/dist/types/Maintenance_Downtime.js +35 -0
  160. package/dist/types/Maintenance_Duedate.d.ts +35 -0
  161. package/dist/types/Maintenance_Duedate.js +53 -0
  162. package/dist/types/Maintenance_Frequency.d.ts +26 -0
  163. package/dist/types/Maintenance_Frequency.js +35 -0
  164. package/dist/types/Maintenance_Issuecategory.d.ts +34 -0
  165. package/dist/types/Maintenance_Issuecategory.js +53 -0
  166. package/dist/types/Maintenance_Kanban_State.d.ts +33 -0
  167. package/dist/types/Maintenance_Kanban_State.js +53 -0
  168. package/dist/types/Maintenance_Media.d.ts +21 -0
  169. package/dist/types/Maintenance_Media.js +29 -0
  170. package/dist/types/Maintenance_Priority.d.ts +26 -0
  171. package/dist/types/Maintenance_Priority.js +35 -0
  172. package/dist/types/Maintenance_Restriction.d.ts +26 -0
  173. package/dist/types/Maintenance_Restriction.js +35 -0
  174. package/dist/types/Maintenance_Schedule.d.ts +29 -0
  175. package/dist/types/Maintenance_Schedule.js +41 -0
  176. package/dist/types/Maintenance_Schedule_Step.d.ts +34 -0
  177. package/dist/types/Maintenance_Schedule_Step.js +53 -0
  178. package/dist/types/Maintenance_Ticket.d.ts +25 -0
  179. package/dist/types/Maintenance_Ticket.js +35 -0
  180. package/dist/types/Maintenance_Ticket_Issuecategory.d.ts +27 -0
  181. package/dist/types/Maintenance_Ticket_Issuecategory.js +35 -0
  182. package/dist/types/Maintenance_Ticket_Kanban_State.d.ts +27 -0
  183. package/dist/types/Maintenance_Ticket_Kanban_State.js +35 -0
  184. package/dist/types/Maintenance_Ticket_Source.d.ts +27 -0
  185. package/dist/types/Maintenance_Ticket_Source.js +35 -0
  186. package/dist/types/NavigationGroup.d.ts +14 -3
  187. package/dist/types/NavigationGroup.js +33 -0
  188. package/dist/types/NavigationItem.d.ts +36 -9
  189. package/dist/types/NavigationItem.js +81 -0
  190. package/dist/types/Notification.d.ts +20 -5
  191. package/dist/types/Notification.js +45 -0
  192. package/dist/types/Permission.d.ts +9 -2
  193. package/dist/types/Permission.js +21 -0
  194. package/dist/types/Push.d.ts +18 -5
  195. package/dist/types/Push.js +39 -0
  196. package/dist/types/Report.d.ts +16 -3
  197. package/dist/types/Report.js +39 -0
  198. package/dist/types/Share.d.ts +25 -8
  199. package/dist/types/Share.js +51 -0
  200. package/dist/types/Source.d.ts +20 -5
  201. package/dist/types/Source.js +45 -0
  202. package/dist/types/SourceMeta.d.ts +9 -2
  203. package/dist/types/SourceMeta.js +21 -0
  204. package/dist/types/Tenant.d.ts +20 -5
  205. package/dist/types/Tenant.js +45 -0
  206. package/dist/types/TenantMeta.d.ts +7 -2
  207. package/dist/types/TenantMeta.js +15 -0
  208. package/dist/types/TenantTrustedDomain.d.ts +10 -3
  209. package/dist/types/TenantTrustedDomain.js +21 -0
  210. package/dist/types/UserData.d.ts +12 -3
  211. package/dist/types/UserData.js +27 -0
  212. package/dist/types/WebPush.d.ts +13 -4
  213. package/dist/types/WebPush.js +27 -0
  214. package/dist/types/Widget.d.ts +14 -3
  215. package/dist/types/Widget.js +33 -0
  216. package/dist/types/WidgetPreset.d.ts +40 -0
  217. package/dist/types/WidgetPreset.js +65 -0
  218. package/dist/types/_Role.d.ts +3 -3
  219. package/dist/types/_Session.d.ts +5 -5
  220. package/dist/types/_User.d.ts +11 -9
  221. package/dist/types/index.d.ts +108 -29
  222. package/dist/types/index.js +104 -0
  223. package/package.json +2 -2
  224. package/schema/Alarm.json +4 -0
  225. package/schema/AlarmAction.json +5 -0
  226. package/schema/Attachment.json +44 -0
  227. package/schema/BDE_Form.json +9 -10
  228. package/schema/BDE_List.json +7 -9
  229. package/schema/BDE_ListEntry.json +7 -9
  230. package/schema/BDE_Page.json +7 -9
  231. package/schema/BDE_Result.json +7 -9
  232. package/schema/BDE_Unit.json +9 -8
  233. package/schema/Dashboard.json +9 -0
  234. package/schema/Group.json +39 -0
  235. package/schema/Group_UserRelation.json +40 -0
  236. package/schema/Knowledge_Article.json +54 -0
  237. package/schema/Knowledge_Category.json +50 -0
  238. package/schema/Knowledge_Document.json +54 -0
  239. package/schema/Knowledge_DocumentPage.json +53 -0
  240. package/schema/Knowledge_Video.json +62 -0
  241. package/schema/Language.json +35 -0
  242. package/schema/Maintenance_Article.json +56 -0
  243. package/schema/Maintenance_Downtime.json +48 -0
  244. package/schema/Maintenance_Duedate.json +61 -0
  245. package/schema/Maintenance_Frequency.json +48 -0
  246. package/schema/Maintenance_Issuecategory.json +60 -0
  247. package/schema/Maintenance_Kanban_State.json +60 -0
  248. package/schema/Maintenance_Media.json +43 -0
  249. package/schema/Maintenance_Priority.json +48 -0
  250. package/schema/Maintenance_Restriction.json +48 -0
  251. package/schema/Maintenance_Schedule.json +53 -0
  252. package/schema/Maintenance_Schedule_Step.json +60 -0
  253. package/schema/Maintenance_Ticket.json +47 -0
  254. package/schema/Maintenance_Ticket_Issuecategory.json +48 -0
  255. package/schema/Maintenance_Ticket_Kanban_State.json +48 -0
  256. package/schema/Maintenance_Ticket_Source.json +48 -0
  257. package/schema/Tenant.json +3 -0
  258. package/schema/WidgetPreset.json +79 -0
@@ -1,70 +1,16 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  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, original, user;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- object = request.object, original = request.original, user = request.user;
51
- return [4 /*yield*/, (0, __1.defaultHandler)(request)];
52
- case 1:
53
- _a.sent();
54
- return [2 /*return*/];
55
- }
56
- });
57
- }); });
58
- (0, __1.afterSaveHook)(className, function (_a) {
59
- var object = _a.object, original = _a.original, user = _a.user;
60
- return __awaiter(_this, void 0, void 0, function () {
61
- return __generator(this, function (_b) {
62
- return [2 /*return*/];
63
- });
64
- });
65
- });
66
- return [2 /*return*/];
67
- });
4
+ const __1 = require("..");
5
+ const types_1 = require("../types");
6
+ async function init() {
7
+ (0, __1.beforeSaveHook)(types_1.Share, async (request) => {
8
+ const { object, original, user } = request;
9
+ await (0, __1.defaultHandler)(request);
10
+ // TODO
11
+ });
12
+ (0, __1.afterSaveHook)(types_1.Share, async ({ object, original, user }) => {
13
+ // TODO
68
14
  });
69
15
  }
70
16
  exports.init = init;
@@ -1 +1 @@
1
- export declare function init(className: string): Promise<void>;
1
+ export declare function init(): Promise<void>;
@@ -1,247 +1,130 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  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, original, user, acl, tenant_1, duplicates, tenant, meta;
47
- var _a, _b, _c;
48
- return __generator(this, function (_d) {
49
- switch (_d.label) {
50
- case 0:
51
- object = request.object, original = request.original, user = request.user;
52
- return [4 /*yield*/, (0, __1.defaultHandler)(request)];
53
- case 1:
54
- _d.sent();
55
- acl = object.getACL();
56
- if (!acl) {
57
- acl = new Parse.ACL();
58
- }
59
- if (!(object.get("tag") && object.get("tag") !== (original === null || original === void 0 ? void 0 : original.get("tag")))) return [3 /*break*/, 9];
60
- if (!((_a = object.get("tag")) === null || _a === void 0 ? void 0 : _a.startsWith("group:"))) return [3 /*break*/, 3];
61
- return [4 /*yield*/, (0, __1.requirePermission)(request, "opendash:source:write-tag-group", "User is not allowed to write sources with a tag starting with 'group:'")];
62
- case 2:
63
- _d.sent();
64
- _d.label = 3;
65
- case 3: return [4 /*yield*/, ((_b = object.get("tenant")) === null || _b === void 0 ? void 0 : _b.fetch({ useMasterKey: true }))];
66
- case 4:
67
- tenant_1 = _d.sent();
68
- if (!(tenant_1 && tenant_1.get("tagPrefix"))) return [3 /*break*/, 6];
69
- if (!!((_c = object.get("tag")) === null || _c === void 0 ? void 0 : _c.startsWith(tenant_1.get("tagPrefix")))) return [3 /*break*/, 6];
70
- return [4 /*yield*/, (0, __1.requirePermission)(request, "opendash:source:write-tag-ignore-tenant-prefix", "User is not allowed to use tag which ignores tenant prefix")];
71
- case 5:
72
- _d.sent();
73
- _d.label = 6;
74
- case 6: return [4 /*yield*/, new Parse.Query(className)
75
- .notEqualTo("id", object.id)
76
- .equalTo("tag", object.get("tag"))
77
- .find({ useMasterKey: true })];
78
- case 7:
79
- duplicates = _d.sent();
80
- if (!(duplicates.length > 0)) return [3 /*break*/, 9];
81
- return [4 /*yield*/, (0, __1.requirePermission)(request, "opendash:source:write-tag-duplicate", "User is not allowed to write sources with a duplicate tag")];
82
- case 8:
83
- _d.sent();
84
- _d.label = 9;
85
- case 9:
86
- acl.setRoleReadAccess("od-admin", true);
87
- acl.setRoleWriteAccess("od-admin", true);
88
- tenant = object.get("tenant");
89
- if (tenant === null || tenant === void 0 ? void 0 : tenant.id) {
90
- acl.setRoleReadAccess("od-tenant-admin-".concat(tenant === null || tenant === void 0 ? void 0 : tenant.id), true);
91
- acl.setRoleWriteAccess("od-tenant-admin-".concat(tenant === null || tenant === void 0 ? void 0 : tenant.id), true);
92
- }
93
- object.setACL(acl);
94
- // ACL end
95
- if (!object.get("meta")) {
96
- object.set("meta", new Parse.Object(__1.PREFIX + "SourceMeta", {}));
97
- }
98
- meta = object.get("meta");
99
- meta === null || meta === void 0 ? void 0 : meta.setACL(object.getACL());
100
- meta === null || meta === void 0 ? void 0 : meta.set("name", object.get("name"));
101
- return [4 /*yield*/, (meta === null || meta === void 0 ? void 0 : meta.save(null, { useMasterKey: true }))];
102
- case 10:
103
- _d.sent();
104
- return [2 /*return*/];
105
- }
106
- });
107
- }); });
108
- (0, __1.afterSaveHook)(className, function (_a) {
109
- var object = _a.object, original = _a.original, user = _a.user;
110
- return __awaiter(_this, void 0, void 0, function () {
111
- var meta, locations, _i, locations_1, location, error_1, permissions, _b, permissions_1, permission, error_2;
112
- return __generator(this, function (_c) {
113
- switch (_c.label) {
114
- case 0:
115
- _c.trys.push([0, 7, , 8]);
116
- meta = object.get("meta");
117
- return [4 /*yield*/, (meta === null || meta === void 0 ? void 0 : meta.fetch({ useMasterKey: true }))];
118
- case 1:
119
- _c.sent();
120
- return [4 /*yield*/, new Parse.Query("Locations")
121
- .equalTo("source", object)
122
- .find({ useMasterKey: true })];
123
- case 2:
124
- locations = _c.sent();
125
- if (locations.length === 0) {
126
- locations.push(new Parse.Object("Locations", {
127
- source: object,
128
- }));
129
- }
130
- _i = 0, locations_1 = locations;
131
- _c.label = 3;
132
- case 3:
133
- if (!(_i < locations_1.length)) return [3 /*break*/, 6];
134
- location = locations_1[_i];
135
- location.set("name", object.get("name"));
136
- location.set("spsid", object.get("tag"));
137
- location.setACL(object.getACL());
138
- return [4 /*yield*/, location.save(null, { useMasterKey: true, cascadeSave: false })];
139
- case 4:
140
- _c.sent();
141
- _c.label = 5;
142
- case 5:
143
- _i++;
144
- return [3 /*break*/, 3];
145
- case 6: return [3 /*break*/, 8];
146
- case 7:
147
- error_1 = _c.sent();
148
- console.log("[@openinc/parse-server-opendash][Source] open.DASH 2 Compatibility not saved.");
149
- console.log(error_1);
150
- return [3 /*break*/, 8];
151
- case 8:
152
- _c.trys.push([8, 17, , 18]);
153
- return [4 /*yield*/, new Parse.Query("AccessPermissions")
154
- .equalTo("source", object)
155
- .find({ useMasterKey: true })];
156
- case 9:
157
- permissions = _c.sent();
158
- if (object.get("tag") && permissions.length === 0) {
159
- permissions.push(new Parse.Object("AccessPermissions", {
160
- source: object,
161
- read: ".*",
162
- write: ".*",
163
- delete: ".*",
164
- }));
165
- }
166
- if (!object.get("tag")) return [3 /*break*/, 14];
167
- _b = 0, permissions_1 = permissions;
168
- _c.label = 10;
169
- case 10:
170
- if (!(_b < permissions_1.length)) return [3 /*break*/, 13];
171
- permission = permissions_1[_b];
172
- permission.set("owner", object.get("tag"));
173
- permission.setACL(object.getACL());
174
- return [4 /*yield*/, permission.save(null, {
175
- useMasterKey: true,
176
- cascadeSave: false,
177
- })];
178
- case 11:
179
- _c.sent();
180
- _c.label = 12;
181
- case 12:
182
- _b++;
183
- return [3 /*break*/, 10];
184
- case 13: return [3 /*break*/, 16];
185
- case 14: return [4 /*yield*/, Parse.Object.destroyAll(permissions, { useMasterKey: true })];
186
- case 15:
187
- _c.sent();
188
- _c.label = 16;
189
- case 16: return [3 /*break*/, 18];
190
- case 17:
191
- error_2 = _c.sent();
192
- console.log("[@openinc/parse-server-opendash][Source] open.WARE AccessPermissions were not saved.");
193
- console.log(error_2);
194
- return [3 /*break*/, 18];
195
- case 18: return [2 /*return*/];
196
- }
197
- });
198
- });
199
- });
200
- (0, __1.beforeDeleteHook)(className, function (_a) {
201
- var object = _a.object, original = _a.original, user = _a.user;
202
- return __awaiter(_this, void 0, void 0, function () {
203
- var locations, error_3, permissions, error_4;
204
- return __generator(this, function (_b) {
205
- switch (_b.label) {
206
- case 0:
207
- _b.trys.push([0, 3, , 4]);
208
- return [4 /*yield*/, new Parse.Query("Locations")
209
- .equalTo("source", object)
210
- .find({ useMasterKey: true })];
211
- case 1:
212
- locations = _b.sent();
213
- return [4 /*yield*/, Parse.Object.destroyAll(locations, { useMasterKey: true })];
214
- case 2:
215
- _b.sent();
216
- return [3 /*break*/, 4];
217
- case 3:
218
- error_3 = _b.sent();
219
- console.log("[@openinc/parse-server-opendash][Source] open.DASH 2 Compatibility not saved.");
220
- console.log(error_3);
221
- return [3 /*break*/, 4];
222
- case 4:
223
- _b.trys.push([4, 7, , 8]);
224
- return [4 /*yield*/, new Parse.Query("AccessPermissions")
225
- .equalTo("source", object)
226
- .find({ useMasterKey: true })];
227
- case 5:
228
- permissions = _b.sent();
229
- return [4 /*yield*/, Parse.Object.destroyAll(permissions, { useMasterKey: true })];
230
- case 6:
231
- _b.sent();
232
- return [3 /*break*/, 8];
233
- case 7:
234
- error_4 = _b.sent();
235
- console.log("[@openinc/parse-server-opendash][Source] open.WARE AccessPermissions were not saved.");
236
- console.log(error_4);
237
- return [3 /*break*/, 8];
238
- case 8: return [2 /*return*/];
239
- }
4
+ const __1 = require("..");
5
+ const types_1 = require("../types");
6
+ async function init() {
7
+ (0, __1.beforeSaveHook)(types_1.Source, async (request) => {
8
+ const { object, original, user } = request;
9
+ await (0, __1.defaultHandler)(request);
10
+ // ACL start
11
+ let acl = object.getACL();
12
+ if (!acl) {
13
+ acl = new Parse.ACL();
14
+ }
15
+ if (object.get("tag") && object.get("tag") !== original?.get("tag")) {
16
+ // Handle group: regex tags, which require special permission
17
+ if (object.get("tag")?.startsWith("group:")) {
18
+ await (0, __1.requirePermission)(request, "opendash:source:write-tag-group", "User is not allowed to write sources with a tag starting with 'group:'");
19
+ }
20
+ // Handle tenant prefix, which requires special permission
21
+ const tenant = await object.get("tenant")?.fetch({ useMasterKey: true });
22
+ if (tenant && tenant.get("tagPrefix")) {
23
+ if (!object.get("tag")?.startsWith(tenant.get("tagPrefix"))) {
24
+ await (0, __1.requirePermission)(request, "opendash:source:write-tag-ignore-tenant-prefix", "User is not allowed to use tag which ignores tenant prefix");
25
+ }
26
+ }
27
+ // Handle duplicates, which require special permission
28
+ const duplicates = await new Parse.Query(types_1.Source)
29
+ .notEqualTo("id", object.id)
30
+ .equalTo("tag", object.get("tag"))
31
+ .find({ useMasterKey: true });
32
+ if (duplicates.length > 0) {
33
+ await (0, __1.requirePermission)(request, "opendash:source:write-tag-duplicate", "User is not allowed to write sources with a duplicate tag");
34
+ }
35
+ }
36
+ acl.setRoleReadAccess("od-admin", true);
37
+ acl.setRoleWriteAccess("od-admin", true);
38
+ const tenant = object.get("tenant");
39
+ if (tenant?.id) {
40
+ acl.setRoleReadAccess(`od-tenant-admin-${tenant?.id}`, true);
41
+ acl.setRoleWriteAccess(`od-tenant-admin-${tenant?.id}`, true);
42
+ }
43
+ object.setACL(acl);
44
+ // ACL end
45
+ if (!object.get("meta")) {
46
+ object.set("meta", new Parse.Object(__1.PREFIX + "SourceMeta", {}));
47
+ }
48
+ const meta = object.get("meta");
49
+ meta?.setACL(object.getACL());
50
+ meta?.set("name", object.get("name"));
51
+ await meta?.save(null, { useMasterKey: true });
52
+ });
53
+ (0, __1.afterSaveHook)(types_1.Source, async ({ object, original, user }) => {
54
+ try {
55
+ const meta = object.get("meta");
56
+ await meta?.fetch({ useMasterKey: true });
57
+ const locations = await new Parse.Query("Locations")
58
+ .equalTo("source", object)
59
+ .find({ useMasterKey: true });
60
+ if (locations.length === 0) {
61
+ locations.push(new Parse.Object("Locations", {
62
+ source: object,
63
+ }));
64
+ }
65
+ for (const location of locations) {
66
+ location.set("name", object.get("name"));
67
+ location.set("spsid", object.get("tag"));
68
+ location.setACL(object.getACL());
69
+ await location.save(null, { useMasterKey: true, cascadeSave: false });
70
+ }
71
+ }
72
+ catch (error) {
73
+ console.log("[@openinc/parse-server-opendash][Source] open.DASH 2 Compatibility not saved.");
74
+ console.log(error);
75
+ }
76
+ try {
77
+ const permissions = await new Parse.Query("AccessPermissions")
78
+ .equalTo("source", object)
79
+ .find({ useMasterKey: true });
80
+ if (object.get("tag") && permissions.length === 0) {
81
+ permissions.push(new Parse.Object("AccessPermissions", {
82
+ source: object,
83
+ read: ".*",
84
+ write: ".*",
85
+ delete: ".*",
86
+ }));
87
+ }
88
+ if (object.get("tag")) {
89
+ for (const permission of permissions) {
90
+ permission.set("owner", object.get("tag"));
91
+ permission.setACL(object.getACL());
92
+ await permission.save(null, {
93
+ useMasterKey: true,
94
+ cascadeSave: false,
240
95
  });
241
- });
242
- });
243
- return [2 /*return*/];
244
- });
96
+ }
97
+ }
98
+ else {
99
+ await Parse.Object.destroyAll(permissions, { useMasterKey: true });
100
+ }
101
+ }
102
+ catch (error) {
103
+ console.log("[@openinc/parse-server-opendash][Source] open.WARE AccessPermissions were not saved.");
104
+ console.log(error);
105
+ }
106
+ });
107
+ (0, __1.beforeDeleteHook)(types_1.Source, async ({ object, original, user }) => {
108
+ try {
109
+ const locations = await new Parse.Query("Locations")
110
+ .equalTo("source", object)
111
+ .find({ useMasterKey: true });
112
+ await Parse.Object.destroyAll(locations, { useMasterKey: true });
113
+ }
114
+ catch (error) {
115
+ console.log("[@openinc/parse-server-opendash][Source] open.DASH 2 Compatibility not saved.");
116
+ console.log(error);
117
+ }
118
+ try {
119
+ const permissions = await new Parse.Query("AccessPermissions")
120
+ .equalTo("source", object)
121
+ .find({ useMasterKey: true });
122
+ await Parse.Object.destroyAll(permissions, { useMasterKey: true });
123
+ }
124
+ catch (error) {
125
+ console.log("[@openinc/parse-server-opendash][Source] open.WARE AccessPermissions were not saved.");
126
+ console.log(error);
127
+ }
245
128
  });
246
129
  }
247
130
  exports.init = init;
@@ -1 +1 @@
1
- export declare function init(className: string): Promise<void>;
1
+ export declare function init(): Promise<void>;
@@ -1,121 +1,42 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  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, original, user;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- object = request.object, original = request.original, user = request.user;
51
- return [4 /*yield*/, (0, __1.defaultHandler)(request)];
52
- case 1:
53
- _a.sent();
54
- return [2 /*return*/];
55
- }
56
- });
57
- }); });
58
- (0, __1.afterSaveHook)(className, function (_a) {
59
- var object = _a.object, original = _a.original, user = _a.user;
60
- return __awaiter(_this, void 0, void 0, function () {
61
- var sources, _i, sources_1, source, locations, _b, locations_1, location, error_1;
62
- return __generator(this, function (_c) {
63
- switch (_c.label) {
64
- case 0:
65
- _c.trys.push([0, 9, , 10]);
66
- return [4 /*yield*/, new Parse.Query("".concat(__1.PREFIX, "Source"))
67
- .equalTo("meta", object)
68
- .find({ useMasterKey: true })];
69
- case 1:
70
- sources = _c.sent();
71
- _i = 0, sources_1 = sources;
72
- _c.label = 2;
73
- case 2:
74
- if (!(_i < sources_1.length)) return [3 /*break*/, 8];
75
- source = sources_1[_i];
76
- return [4 /*yield*/, new Parse.Query("Locations")
77
- .equalTo("source", source)
78
- .find({ useMasterKey: true })];
79
- case 3:
80
- locations = _c.sent();
81
- _b = 0, locations_1 = locations;
82
- _c.label = 4;
83
- case 4:
84
- if (!(_b < locations_1.length)) return [3 /*break*/, 7];
85
- location = locations_1[_b];
86
- // @ts-ignore
87
- location.set("location", object === null || object === void 0 ? void 0 : object.get("location"));
88
- // @ts-ignore
89
- location.set("province", object === null || object === void 0 ? void 0 : object.get("province"));
90
- // @ts-ignore
91
- location.set("city", object === null || object === void 0 ? void 0 : object.get("city"));
92
- // @ts-ignore
93
- location.set("postCode", object === null || object === void 0 ? void 0 : object.get("postCode"));
94
- // @ts-ignore
95
- location.set("address", object === null || object === void 0 ? void 0 : object.get("address"));
96
- return [4 /*yield*/, location.save(null, { useMasterKey: true, cascadeSave: false })];
97
- case 5:
98
- _c.sent();
99
- _c.label = 6;
100
- case 6:
101
- _b++;
102
- return [3 /*break*/, 4];
103
- case 7:
104
- _i++;
105
- return [3 /*break*/, 2];
106
- case 8: return [3 /*break*/, 10];
107
- case 9:
108
- error_1 = _c.sent();
109
- console.log("[@openinc/parse-server-opendash][SourceMeta] open.DASH 2 Compatibility not saved.");
110
- console.log(error_1);
111
- return [3 /*break*/, 10];
112
- case 10: return [2 /*return*/];
113
- }
114
- });
115
- });
116
- });
117
- return [2 /*return*/];
118
- });
4
+ const __1 = require("..");
5
+ const types_1 = require("../types");
6
+ async function init() {
7
+ (0, __1.beforeSaveHook)(types_1.SourceMeta, async (request) => {
8
+ const { object, original, user } = request;
9
+ await (0, __1.defaultHandler)(request);
10
+ // TODO
11
+ });
12
+ (0, __1.afterSaveHook)(types_1.SourceMeta, async ({ object, original, user }) => {
13
+ try {
14
+ const sources = await new Parse.Query(`${__1.PREFIX}Source`)
15
+ .equalTo("meta", object)
16
+ .find({ useMasterKey: true });
17
+ for (const source of sources) {
18
+ const locations = await new Parse.Query("Locations")
19
+ .equalTo("source", source)
20
+ .find({ useMasterKey: true });
21
+ for (const location of locations) {
22
+ // @ts-ignore
23
+ location.set("location", object?.get("location"));
24
+ // @ts-ignore
25
+ location.set("province", object?.get("province"));
26
+ // @ts-ignore
27
+ location.set("city", object?.get("city"));
28
+ // @ts-ignore
29
+ location.set("postCode", object?.get("postCode"));
30
+ // @ts-ignore
31
+ location.set("address", object?.get("address"));
32
+ await location.save(null, { useMasterKey: true, cascadeSave: false });
33
+ }
34
+ }
35
+ }
36
+ catch (error) {
37
+ console.log("[@openinc/parse-server-opendash][SourceMeta] open.DASH 2 Compatibility not saved.");
38
+ console.log(error);
39
+ }
119
40
  });
120
41
  }
121
42
  exports.init = init;
@@ -1 +1 @@
1
- export declare function init(className: string): Promise<void>;
1
+ export declare function init(): Promise<void>;