identity-admin 1.28.9 → 1.28.10

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 (183) hide show
  1. package/README.md +294 -294
  2. package/lib/Dashboard.d.ts +14 -14
  3. package/lib/Dashboard.js +95 -95
  4. package/lib/container/helpers/HelperInversify.d.ts +6 -6
  5. package/lib/container/helpers/HelperInversify.js +10 -10
  6. package/lib/container/helpers/HelperTypes.d.ts +5 -5
  7. package/lib/container/helpers/HelperTypes.js +7 -7
  8. package/lib/container/index.d.ts +1 -1
  9. package/lib/container/index.js +14 -14
  10. package/lib/container/repositories/RepositoryInversify.d.ts +4 -4
  11. package/lib/container/repositories/RepositoryInversify.js +13 -13
  12. package/lib/container/repositories/RepositoryTypes.d.ts +4 -4
  13. package/lib/container/repositories/RepositoryTypes.js +6 -6
  14. package/lib/container/types.d.ts +8 -8
  15. package/lib/container/types.js +9 -9
  16. package/lib/controllers/ActionController.d.ts +9 -9
  17. package/lib/controllers/ActionController.js +141 -141
  18. package/lib/controllers/AdminNotificationController.d.ts +8 -8
  19. package/lib/controllers/AdminNotificationController.js +69 -69
  20. package/lib/controllers/DashboardController.d.ts +44 -44
  21. package/lib/controllers/DashboardController.js +787 -787
  22. package/lib/controllers/ResourceController.d.ts +15 -15
  23. package/lib/controllers/ResourceController.js +135 -135
  24. package/lib/helpers/ActionsGenerator.d.ts +11 -11
  25. package/lib/helpers/ActionsGenerator.js +179 -179
  26. package/lib/helpers/AdminNotifications/AdminNotificationCreation.d.ts +53 -49
  27. package/lib/helpers/AdminNotifications/AdminNotificationCreation.js +66 -66
  28. package/lib/helpers/AdminNotifications/AdminNotificationFetcher.d.ts +61 -51
  29. package/lib/helpers/AdminNotifications/AdminNotificationFetcher.js +44 -39
  30. package/lib/helpers/FilterQueryHelper.d.ts +9 -9
  31. package/lib/helpers/FilterQueryHelper.js +83 -83
  32. package/lib/helpers/FiltersHelper.d.ts +9 -9
  33. package/lib/helpers/FiltersHelper.js +126 -126
  34. package/lib/helpers/LocalesHelper.d.ts +4 -4
  35. package/lib/helpers/LocalesHelper.js +73 -73
  36. package/lib/helpers/LocalizedStringHelper.d.ts +11 -11
  37. package/lib/helpers/LocalizedStringHelper.js +74 -74
  38. package/lib/helpers/Permissions/PermissionFetcher.d.ts +8 -8
  39. package/lib/helpers/Permissions/PermissionFetcher.js +95 -95
  40. package/lib/helpers/Permissions/PermissionLabel.d.ts +2 -2
  41. package/lib/helpers/Permissions/PermissionLabel.js +42 -42
  42. package/lib/helpers/Permissions/PermissionMapper.d.ts +13 -13
  43. package/lib/helpers/Permissions/PermissionMapper.js +35 -35
  44. package/lib/helpers/Permissions/PermissionResource.d.ts +6 -6
  45. package/lib/helpers/Permissions/PermissionResource.js +62 -62
  46. package/lib/helpers/Permissions/PermissionSavingService.d.ts +13 -13
  47. package/lib/helpers/Permissions/PermissionSavingService.js +32 -32
  48. package/lib/helpers/Permissions/SavePermissionGroup.d.ts +6 -6
  49. package/lib/helpers/Permissions/SavePermissionGroup.js +32 -32
  50. package/lib/helpers/Permissions/UpdatePermissionGroup.d.ts +6 -6
  51. package/lib/helpers/Permissions/UpdatePermissionGroup.js +50 -50
  52. package/lib/helpers/Permissions/types.d.ts +17 -17
  53. package/lib/helpers/Permissions/types.js +2 -2
  54. package/lib/helpers/PopulationHelper.d.ts +12 -12
  55. package/lib/helpers/PopulationHelper.js +50 -50
  56. package/lib/helpers/RecordsCounter.d.ts +10 -10
  57. package/lib/helpers/RecordsCounter.js +33 -33
  58. package/lib/helpers/ReportsGenerator.d.ts +26 -26
  59. package/lib/helpers/ReportsGenerator.js +162 -162
  60. package/lib/helpers/ResourceGenerator.d.ts +9 -9
  61. package/lib/helpers/ResourceGenerator.js +172 -172
  62. package/lib/helpers/ResourceHelper.d.ts +28 -28
  63. package/lib/helpers/ResourceHelper.js +395 -395
  64. package/lib/helpers/RportsGenerator.d.ts +10 -10
  65. package/lib/helpers/RportsGenerator.js +21 -21
  66. package/lib/helpers/SchemaGenerator.d.ts +7 -7
  67. package/lib/helpers/SchemaGenerator.js +132 -132
  68. package/lib/helpers/SchemaHelper.d.ts +5 -5
  69. package/lib/helpers/SchemaHelper.js +21 -21
  70. package/lib/helpers/UserActionsLog/UserActionsLogHelper.d.ts +2 -2
  71. package/lib/helpers/UserActionsLog/UserActionsLogHelper.js +49 -49
  72. package/lib/locales/en.json +53 -53
  73. package/lib/middlewares/cache/decorator.d.ts +3 -3
  74. package/lib/middlewares/cache/decorator.js +60 -60
  75. package/lib/middlewares/cache/deletionMethods.d.ts +3 -3
  76. package/lib/middlewares/cache/deletionMethods.js +23 -23
  77. package/lib/middlewares/isAuth.d.ts +13 -13
  78. package/lib/middlewares/isAuth.js +43 -43
  79. package/lib/models/ModelNames.d.ts +10 -10
  80. package/lib/models/ModelNames.js +13 -13
  81. package/lib/models/adminNotification/AdminNotification.d.ts +5 -5
  82. package/lib/models/adminNotification/AdminNotification.js +65 -53
  83. package/lib/models/adminNotification/IAdminNotification.d.ts +34 -30
  84. package/lib/models/adminNotification/IAdminNotification.js +15 -15
  85. package/lib/models/adminpermission/AdminPermission.d.ts +11 -11
  86. package/lib/models/adminpermission/AdminPermission.js +23 -23
  87. package/lib/models/adminpermission/IAdminPermission.d.ts +13 -13
  88. package/lib/models/adminpermission/IAdminPermission.js +2 -2
  89. package/lib/models/customPage/CustomPage.d.ts +2 -2
  90. package/lib/models/customPage/CustomPage.js +38 -38
  91. package/lib/models/customPage/ICustomPage.d.ts +17 -17
  92. package/lib/models/customPage/ICustomPage.js +2 -2
  93. package/lib/models/file/File.d.ts +2 -2
  94. package/lib/models/file/File.js +23 -23
  95. package/lib/models/file/IFile.d.ts +15 -15
  96. package/lib/models/file/IFile.js +2 -2
  97. package/lib/models/location/ILocation.d.ts +14 -14
  98. package/lib/models/location/ILocation.js +2 -2
  99. package/lib/models/location/Location.d.ts +2 -2
  100. package/lib/models/location/Location.js +21 -21
  101. package/lib/models/mailLog/IMailLog.d.ts +14 -14
  102. package/lib/models/mailLog/IMailLog.js +2 -2
  103. package/lib/models/mailLog/MailLog.d.ts +3 -3
  104. package/lib/models/mailLog/MailLog.js +23 -23
  105. package/lib/models/modelConfiguration/IModelConfigurations.d.ts +29 -29
  106. package/lib/models/modelConfiguration/IModelConfigurations.js +2 -2
  107. package/lib/models/modelConfiguration/ModelConfiguration.d.ts +13 -13
  108. package/lib/models/modelConfiguration/ModelConfiguration.js +95 -95
  109. package/lib/models/permission/IPermission.d.ts +14 -14
  110. package/lib/models/permission/IPermission.js +2 -2
  111. package/lib/models/permission/Permission.d.ts +2 -2
  112. package/lib/models/permission/Permission.js +21 -21
  113. package/lib/models/request-log/IRequestLog.d.ts +22 -22
  114. package/lib/models/request-log/IRequestLog.js +2 -2
  115. package/lib/models/request-log/RequestLog.d.ts +3 -3
  116. package/lib/models/request-log/RequestLog.js +51 -51
  117. package/lib/models/userActionsLog/IUserActionsLog.d.ts +26 -26
  118. package/lib/models/userActionsLog/IUserActionsLog.js +11 -11
  119. package/lib/models/userActionsLog/UserActionsLog.d.ts +3 -3
  120. package/lib/models/userActionsLog/UserActionsLog.js +41 -41
  121. package/lib/pdf/ReportTemplate.d.ts +71 -71
  122. package/lib/pdf/ReportTemplate.js +94 -94
  123. package/lib/repositories/AdminNotificationRepository.d.ts +7 -7
  124. package/lib/repositories/AdminNotificationRepository.js +23 -23
  125. package/lib/repositories/DashboardRepository.d.ts +5 -5
  126. package/lib/repositories/DashboardRepository.js +12 -12
  127. package/lib/repositories/Repository.d.ts +68 -68
  128. package/lib/repositories/Repository.js +215 -215
  129. package/lib/repositories/RequestLogRepository.d.ts +10 -10
  130. package/lib/repositories/RequestLogRepository.js +54 -54
  131. package/lib/repositories/SaveResult.d.ts +14 -14
  132. package/lib/repositories/SaveResult.js +18 -18
  133. package/lib/resources/AdminNotificationsResource.d.ts +3 -3
  134. package/lib/resources/AdminNotificationsResource.js +23 -23
  135. package/lib/resources/parents.d.ts +4 -4
  136. package/lib/resources/parents.js +7 -7
  137. package/lib/router/index.d.ts +8 -8
  138. package/lib/router/index.js +104 -104
  139. package/lib/types/DashbordConfig.d.ts +21 -21
  140. package/lib/types/DashbordConfig.js +2 -2
  141. package/lib/types/IConfigurationFile.d.ts +11 -11
  142. package/lib/types/IConfigurationFile.js +2 -2
  143. package/lib/types/IResourceFile.d.ts +719 -719
  144. package/lib/types/IResourceFile.js +2 -2
  145. package/lib/types/IResourceResponse.d.ts +95 -95
  146. package/lib/types/IResourceResponse.js +2 -2
  147. package/lib/types/helpers.d.ts +67 -67
  148. package/lib/types/helpers.js +82 -82
  149. package/lib/utils/DateUtils.d.ts +7 -7
  150. package/lib/utils/DateUtils.js +45 -45
  151. package/lib/utils/ResourceUtils.d.ts +2 -2
  152. package/lib/utils/ResourceUtils.js +7 -7
  153. package/lib/utils/ResponseUtils.d.ts +11 -11
  154. package/lib/utils/ResponseUtils.js +41 -41
  155. package/lib/utils/StringUtils.d.ts +9 -9
  156. package/lib/utils/StringUtils.js +46 -46
  157. package/lib/view/asset-manifest.json +18 -18
  158. package/lib/view/assets/icons/delete_icon.svg +3 -3
  159. package/lib/view/assets/icons/flags/ic_flag_cn.svg +9 -9
  160. package/lib/view/assets/icons/flags/ic_flag_sa.svg +9 -9
  161. package/lib/view/assets/icons/flags/ic_flag_vn.svg +9 -9
  162. package/lib/view/assets/icons/info_icon.svg +3 -3
  163. package/lib/view/assets/icons/navbar/ic_banking.svg +5 -5
  164. package/lib/view/assets/icons/navbar/ic_invoice.svg +4 -4
  165. package/lib/view/assets/icons/navbar/ic_kanban.svg +7 -7
  166. package/lib/view/assets/icons/navbar/ic_menu_item.svg +8 -8
  167. package/lib/view/assets/icons/small_info_icon.svg +3 -3
  168. package/lib/view/assets/illustrations/Group 16.svg +4 -4
  169. package/lib/view/assets/illustrations/logo.svg +5 -5
  170. package/lib/view/favicon/browserconfig.xml +9 -9
  171. package/lib/view/favicon/safari-pinned-tab.svg +182 -182
  172. package/lib/view/favicon/site.webmanifest +19 -19
  173. package/lib/view/fonts/index.css +18 -18
  174. package/lib/view/index.html +52 -52
  175. package/lib/view/manifest.json +20 -20
  176. package/lib/view/robots.txt +3 -3
  177. package/lib/view/static/css/main.54de06ef.css +1 -1
  178. package/lib/view/static/js/574.778b5963.chunk.js +1 -1
  179. package/lib/view/static/js/678.521704a3.chunk.js +1 -1
  180. package/lib/view/static/js/798.54856416.chunk.js +1 -1
  181. package/lib/view/static/js/main.4687f255.js +2 -2
  182. package/lib/view/static/js/main.4687f255.js.LICENSE.txt +214 -214
  183. package/package.json +63 -63
@@ -1,141 +1,141 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __param = (this && this.__param) || function (paramIndex, decorator) {
9
- return function (target, key) { decorator(target, key, paramIndex); }
10
- };
11
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
- return new (P || (P = Promise))(function (resolve, reject) {
14
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
- step((generator = generator.apply(thisArg, _arguments || [])).next());
18
- });
19
- };
20
- var __importDefault = (this && this.__importDefault) || function (mod) {
21
- return (mod && mod.__esModule) ? mod : { "default": mod };
22
- };
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- const inversify_express_utils_1 = require("inversify-express-utils");
25
- const inversify_1 = require("inversify");
26
- const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
27
- const StringUtils_1 = __importDefault(require("../utils/StringUtils"));
28
- const Repository_1 = __importDefault(require("../repositories/Repository"));
29
- const ResourceUtils_1 = require("../utils/ResourceUtils");
30
- const UserActionsLog_1 = __importDefault(require("../models/userActionsLog/UserActionsLog"));
31
- const PermissionResource_1 = require("../helpers/Permissions/PermissionResource");
32
- const helpers_1 = require("../types/helpers");
33
- let ActionController = class ActionController {
34
- constructor(resources) {
35
- this.resources = resources;
36
- }
37
- sendDraftEmail(req, res) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const record = req.body.record;
40
- const modelName = req.body.modelName;
41
- const resource = (0, ResourceUtils_1.getResource)(modelName, this.resources);
42
- if (!resource) {
43
- return ResponseUtils_1.default.notFound(res, 'Resource not found', []);
44
- }
45
- const repository = new Repository_1.default(resource.properties.resource);
46
- const sendDraftMail = resource.properties.sendDraftMail;
47
- if (!sendDraftMail) {
48
- return ResponseUtils_1.default.unprocessable(res, 'Mail sender is not defined in resource properties', []);
49
- }
50
- const oldRecord = yield repository.findById(record._id);
51
- sendDraftMail(record);
52
- const response = {
53
- action: helpers_1.ActionNames.LIST,
54
- path: StringUtils_1.default.lowerCaseFirstLetter(modelName),
55
- };
56
- const newRecord = yield repository.findById(record._id);
57
- const userActionsLog = new UserActionsLog_1.default({
58
- action: 'Send Draft',
59
- modelName,
60
- userId: req.user._id,
61
- dataBefore: JSON.stringify(oldRecord),
62
- dataAfter: JSON.stringify(newRecord),
63
- resourceId: record._id,
64
- });
65
- yield userActionsLog.save();
66
- return ResponseUtils_1.default.send(res, 200, 'Ok', {
67
- response,
68
- });
69
- });
70
- }
71
- execute(req, res) {
72
- var _a, _b, _c;
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const record = req.body.record;
75
- const modelName = req.body.modelName;
76
- const resource = (0, ResourceUtils_1.getResource)(modelName, this.resources);
77
- if (!resource) {
78
- return ResponseUtils_1.default.notFound(res, 'Resource not found', []);
79
- }
80
- const repository = new Repository_1.default(resource.properties.resource);
81
- const actionKey = req.params.actionKey;
82
- const currentUser = req.user;
83
- var response = {};
84
- const data = {
85
- record,
86
- currentUser,
87
- resource: {
88
- name: modelName,
89
- path: StringUtils_1.default.lowerCaseFirstLetter(modelName),
90
- repository,
91
- },
92
- };
93
- const extraActions = (_b = (_a = resource.properties.actions) === null || _a === void 0 ? void 0 : _a.extras) !== null && _b !== void 0 ? _b : [];
94
- const havePermission = yield PermissionResource_1.PermissionResource.havePermission(currentUser.permissionGroupId, actionKey);
95
- if (!havePermission) {
96
- return ResponseUtils_1.default.forbidden(res);
97
- }
98
- for (var i = 0; i < extraActions.length; i++) {
99
- const extraAction = extraActions[i];
100
- if (extraAction.key === actionKey) {
101
- if ((_c = resource.properties) === null || _c === void 0 ? void 0 : _c.enableLog) {
102
- const oldRecord = yield repository.findById(record._id);
103
- response = yield extraAction.handler(req, res, data);
104
- const newRecord = yield repository.findById(record._id);
105
- const userActionsLog = new UserActionsLog_1.default({
106
- action: extraAction.name,
107
- modelName,
108
- userId: req.user._id,
109
- dataBefore: JSON.stringify(oldRecord),
110
- dataAfter: JSON.stringify(newRecord),
111
- resourceId: record._id,
112
- });
113
- yield userActionsLog.save();
114
- }
115
- else {
116
- response = yield extraAction.handler(req, res, data);
117
- }
118
- break;
119
- }
120
- }
121
- return ResponseUtils_1.default.send(res, 200, 'Ok', {
122
- response,
123
- });
124
- });
125
- }
126
- };
127
- __decorate([
128
- (0, inversify_express_utils_1.httpPost)('/execute/send_draft_email'),
129
- __param(0, (0, inversify_express_utils_1.request)()),
130
- __param(1, (0, inversify_express_utils_1.response)())
131
- ], ActionController.prototype, "sendDraftEmail", null);
132
- __decorate([
133
- (0, inversify_express_utils_1.httpPost)('/execute/:actionKey'),
134
- __param(0, (0, inversify_express_utils_1.request)()),
135
- __param(1, (0, inversify_express_utils_1.response)())
136
- ], ActionController.prototype, "execute", null);
137
- ActionController = __decorate([
138
- (0, inversify_1.injectable)(),
139
- __param(0, (0, inversify_1.unmanaged)())
140
- ], ActionController);
141
- exports.default = ActionController;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const inversify_express_utils_1 = require("inversify-express-utils");
25
+ const inversify_1 = require("inversify");
26
+ const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
27
+ const StringUtils_1 = __importDefault(require("../utils/StringUtils"));
28
+ const Repository_1 = __importDefault(require("../repositories/Repository"));
29
+ const ResourceUtils_1 = require("../utils/ResourceUtils");
30
+ const UserActionsLog_1 = __importDefault(require("../models/userActionsLog/UserActionsLog"));
31
+ const PermissionResource_1 = require("../helpers/Permissions/PermissionResource");
32
+ const helpers_1 = require("../types/helpers");
33
+ let ActionController = class ActionController {
34
+ constructor(resources) {
35
+ this.resources = resources;
36
+ }
37
+ sendDraftEmail(req, res) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const record = req.body.record;
40
+ const modelName = req.body.modelName;
41
+ const resource = (0, ResourceUtils_1.getResource)(modelName, this.resources);
42
+ if (!resource) {
43
+ return ResponseUtils_1.default.notFound(res, 'Resource not found', []);
44
+ }
45
+ const repository = new Repository_1.default(resource.properties.resource);
46
+ const sendDraftMail = resource.properties.sendDraftMail;
47
+ if (!sendDraftMail) {
48
+ return ResponseUtils_1.default.unprocessable(res, 'Mail sender is not defined in resource properties', []);
49
+ }
50
+ const oldRecord = yield repository.findById(record._id);
51
+ sendDraftMail(record);
52
+ const response = {
53
+ action: helpers_1.ActionNames.LIST,
54
+ path: StringUtils_1.default.lowerCaseFirstLetter(modelName),
55
+ };
56
+ const newRecord = yield repository.findById(record._id);
57
+ const userActionsLog = new UserActionsLog_1.default({
58
+ action: 'Send Draft',
59
+ modelName,
60
+ userId: req.user._id,
61
+ dataBefore: JSON.stringify(oldRecord),
62
+ dataAfter: JSON.stringify(newRecord),
63
+ resourceId: record._id,
64
+ });
65
+ yield userActionsLog.save();
66
+ return ResponseUtils_1.default.send(res, 200, 'Ok', {
67
+ response,
68
+ });
69
+ });
70
+ }
71
+ execute(req, res) {
72
+ var _a, _b, _c;
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const record = req.body.record;
75
+ const modelName = req.body.modelName;
76
+ const resource = (0, ResourceUtils_1.getResource)(modelName, this.resources);
77
+ if (!resource) {
78
+ return ResponseUtils_1.default.notFound(res, 'Resource not found', []);
79
+ }
80
+ const repository = new Repository_1.default(resource.properties.resource);
81
+ const actionKey = req.params.actionKey;
82
+ const currentUser = req.user;
83
+ var response = {};
84
+ const data = {
85
+ record,
86
+ currentUser,
87
+ resource: {
88
+ name: modelName,
89
+ path: StringUtils_1.default.lowerCaseFirstLetter(modelName),
90
+ repository,
91
+ },
92
+ };
93
+ const extraActions = (_b = (_a = resource.properties.actions) === null || _a === void 0 ? void 0 : _a.extras) !== null && _b !== void 0 ? _b : [];
94
+ const havePermission = yield PermissionResource_1.PermissionResource.havePermission(currentUser.permissionGroupId, actionKey);
95
+ if (!havePermission) {
96
+ return ResponseUtils_1.default.forbidden(res);
97
+ }
98
+ for (var i = 0; i < extraActions.length; i++) {
99
+ const extraAction = extraActions[i];
100
+ if (extraAction.key === actionKey) {
101
+ if ((_c = resource.properties) === null || _c === void 0 ? void 0 : _c.enableLog) {
102
+ const oldRecord = yield repository.findById(record._id);
103
+ response = yield extraAction.handler(req, res, data);
104
+ const newRecord = yield repository.findById(record._id);
105
+ const userActionsLog = new UserActionsLog_1.default({
106
+ action: extraAction.name,
107
+ modelName,
108
+ userId: req.user._id,
109
+ dataBefore: JSON.stringify(oldRecord),
110
+ dataAfter: JSON.stringify(newRecord),
111
+ resourceId: record._id,
112
+ });
113
+ yield userActionsLog.save();
114
+ }
115
+ else {
116
+ response = yield extraAction.handler(req, res, data);
117
+ }
118
+ break;
119
+ }
120
+ }
121
+ return ResponseUtils_1.default.send(res, 200, 'Ok', {
122
+ response,
123
+ });
124
+ });
125
+ }
126
+ };
127
+ __decorate([
128
+ (0, inversify_express_utils_1.httpPost)('/execute/send_draft_email'),
129
+ __param(0, (0, inversify_express_utils_1.request)()),
130
+ __param(1, (0, inversify_express_utils_1.response)())
131
+ ], ActionController.prototype, "sendDraftEmail", null);
132
+ __decorate([
133
+ (0, inversify_express_utils_1.httpPost)('/execute/:actionKey'),
134
+ __param(0, (0, inversify_express_utils_1.request)()),
135
+ __param(1, (0, inversify_express_utils_1.response)())
136
+ ], ActionController.prototype, "execute", null);
137
+ ActionController = __decorate([
138
+ (0, inversify_1.injectable)(),
139
+ __param(0, (0, inversify_1.unmanaged)())
140
+ ], ActionController);
141
+ exports.default = ActionController;
@@ -1,8 +1,8 @@
1
- import { Response } from 'express';
2
- import { IRequest } from '../middlewares/isAuth';
3
- export default class DashboardNotificationController {
4
- constructor();
5
- index(req: IRequest, res: Response): Promise<Response<any, Record<string, any>>>;
6
- markOneRead(req: IRequest, res: Response): Promise<void>;
7
- markAllRead(req: IRequest, res: Response): Promise<void>;
8
- }
1
+ import { Response } from 'express';
2
+ import { IRequest } from '../middlewares/isAuth';
3
+ export default class DashboardNotificationController {
4
+ constructor();
5
+ index(req: IRequest, res: Response): Promise<Response<any, Record<string, any>>>;
6
+ markOneRead(req: IRequest, res: Response): Promise<void>;
7
+ markAllRead(req: IRequest, res: Response): Promise<void>;
8
+ }
@@ -1,69 +1,69 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __param = (this && this.__param) || function (paramIndex, decorator) {
9
- return function (target, key) { decorator(target, key, paramIndex); }
10
- };
11
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
- return new (P || (P = Promise))(function (resolve, reject) {
14
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
- step((generator = generator.apply(thisArg, _arguments || [])).next());
18
- });
19
- };
20
- var __importDefault = (this && this.__importDefault) || function (mod) {
21
- return (mod && mod.__esModule) ? mod : { "default": mod };
22
- };
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- const inversify_express_utils_1 = require("inversify-express-utils");
25
- const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
26
- const inversify_1 = require("inversify");
27
- const AdminNotificationFetcher_1 = require("../helpers/AdminNotifications/AdminNotificationFetcher");
28
- const AdminNotification_1 = __importDefault(require("../models/adminNotification/AdminNotification"));
29
- let DashboardNotificationController = class DashboardNotificationController {
30
- constructor() { }
31
- index(req, res) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const notifications = yield AdminNotificationFetcher_1.AdminNotificationFetcher.fetchNotifications();
34
- return ResponseUtils_1.default.send(res, 200, 'OK', notifications);
35
- });
36
- }
37
- markOneRead(req, res) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const { id } = req.params;
40
- yield AdminNotification_1.default.updateOne({ _id: id }, { isRead: true });
41
- return ResponseUtils_1.default.ok(res, {});
42
- });
43
- }
44
- markAllRead(req, res) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- yield AdminNotification_1.default.updateMany({ isRead: false }, { $set: { isRead: true } });
47
- return ResponseUtils_1.default.ok(res, {});
48
- });
49
- }
50
- };
51
- __decorate([
52
- (0, inversify_express_utils_1.httpGet)('/'),
53
- __param(0, (0, inversify_express_utils_1.request)()),
54
- __param(1, (0, inversify_express_utils_1.response)())
55
- ], DashboardNotificationController.prototype, "index", null);
56
- __decorate([
57
- (0, inversify_express_utils_1.httpPost)('/markAsRead/:id'),
58
- __param(0, (0, inversify_express_utils_1.request)()),
59
- __param(1, (0, inversify_express_utils_1.response)())
60
- ], DashboardNotificationController.prototype, "markOneRead", null);
61
- __decorate([
62
- (0, inversify_express_utils_1.httpPost)('/markAllAsRead'),
63
- __param(0, (0, inversify_express_utils_1.request)()),
64
- __param(1, (0, inversify_express_utils_1.response)())
65
- ], DashboardNotificationController.prototype, "markAllRead", null);
66
- DashboardNotificationController = __decorate([
67
- (0, inversify_1.injectable)()
68
- ], DashboardNotificationController);
69
- exports.default = DashboardNotificationController;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const inversify_express_utils_1 = require("inversify-express-utils");
25
+ const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
26
+ const inversify_1 = require("inversify");
27
+ const AdminNotificationFetcher_1 = require("../helpers/AdminNotifications/AdminNotificationFetcher");
28
+ const AdminNotification_1 = __importDefault(require("../models/adminNotification/AdminNotification"));
29
+ let DashboardNotificationController = class DashboardNotificationController {
30
+ constructor() { }
31
+ index(req, res) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const notifications = yield AdminNotificationFetcher_1.AdminNotificationFetcher.fetchNotifications();
34
+ return ResponseUtils_1.default.send(res, 200, 'OK', notifications);
35
+ });
36
+ }
37
+ markOneRead(req, res) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const { id } = req.params;
40
+ yield AdminNotification_1.default.updateOne({ _id: id }, { isRead: true });
41
+ return ResponseUtils_1.default.ok(res, {});
42
+ });
43
+ }
44
+ markAllRead(req, res) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ yield AdminNotification_1.default.updateMany({ isRead: false }, { $set: { isRead: true } });
47
+ return ResponseUtils_1.default.ok(res, {});
48
+ });
49
+ }
50
+ };
51
+ __decorate([
52
+ (0, inversify_express_utils_1.httpGet)('/'),
53
+ __param(0, (0, inversify_express_utils_1.request)()),
54
+ __param(1, (0, inversify_express_utils_1.response)())
55
+ ], DashboardNotificationController.prototype, "index", null);
56
+ __decorate([
57
+ (0, inversify_express_utils_1.httpPost)('/markAsRead/:id'),
58
+ __param(0, (0, inversify_express_utils_1.request)()),
59
+ __param(1, (0, inversify_express_utils_1.response)())
60
+ ], DashboardNotificationController.prototype, "markOneRead", null);
61
+ __decorate([
62
+ (0, inversify_express_utils_1.httpPost)('/markAllAsRead'),
63
+ __param(0, (0, inversify_express_utils_1.request)()),
64
+ __param(1, (0, inversify_express_utils_1.response)())
65
+ ], DashboardNotificationController.prototype, "markAllRead", null);
66
+ DashboardNotificationController = __decorate([
67
+ (0, inversify_1.injectable)()
68
+ ], DashboardNotificationController);
69
+ exports.default = DashboardNotificationController;
@@ -1,44 +1,44 @@
1
- import { Response } from 'express';
2
- import { Document } from 'mongoose';
3
- import { IResourceFile } from '../types/IResourceFile';
4
- import { IDashboardRepository } from '../repositories/Repository';
5
- import { IRequest } from '../middlewares/isAuth';
6
- import { IModelConfigurationDocument } from '../models/modelConfiguration/IModelConfigurations';
7
- export interface PaginateParams {
8
- page: number;
9
- perPage: number;
10
- }
11
- export default class DashboardController {
12
- private resource?;
13
- private repository?;
14
- private resources?;
15
- private modelConfigurations?;
16
- protected static DEFAULT_PAGE: number;
17
- protected static DEFAULT_PER_PAGE: number;
18
- constructor(resource?: IResourceFile, repository?: IDashboardRepository);
19
- constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[]);
20
- constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[], modelConfigurations?: Map<string, IModelConfigurationDocument>);
21
- protected validateRequest(req: IRequest, res: Response): boolean;
22
- protected paginateParams(request: IRequest): PaginateParams;
23
- protected getSearchableSubStringFilter(resource: IResourceFile, filter: {
24
- [key: string]: any;
25
- }, subString: RegExp): {
26
- [key: string]: any;
27
- };
28
- protected getScopeFilter(filter: {
29
- [key: string]: any;
30
- }, scope: string): {
31
- [key: string]: any;
32
- };
33
- protected getVisibileExtraActions(currentUser: Document, record: any, resource: IResourceFile, repository: any, modelName: string): Promise<string[] | undefined>;
34
- protected getHiddenActions(currentUser: Document, record: any, resource: IResourceFile, repository: any, modelName: string): Promise<string[] | undefined>;
35
- private getModelConfiguration;
36
- index(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
37
- create(req: IRequest, res: Response): Promise<void>;
38
- update(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
39
- report(req: IRequest, res: Response): Promise<void>;
40
- show(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
41
- deleteAll(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
42
- delete(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
43
- getNeighbors(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
44
- }
1
+ import { Response } from 'express';
2
+ import { Document } from 'mongoose';
3
+ import { IResourceFile } from '../types/IResourceFile';
4
+ import { IDashboardRepository } from '../repositories/Repository';
5
+ import { IRequest } from '../middlewares/isAuth';
6
+ import { IModelConfigurationDocument } from '../models/modelConfiguration/IModelConfigurations';
7
+ export interface PaginateParams {
8
+ page: number;
9
+ perPage: number;
10
+ }
11
+ export default class DashboardController {
12
+ private resource?;
13
+ private repository?;
14
+ private resources?;
15
+ private modelConfigurations?;
16
+ protected static DEFAULT_PAGE: number;
17
+ protected static DEFAULT_PER_PAGE: number;
18
+ constructor(resource?: IResourceFile, repository?: IDashboardRepository);
19
+ constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[]);
20
+ constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[], modelConfigurations?: Map<string, IModelConfigurationDocument>);
21
+ protected validateRequest(req: IRequest, res: Response): boolean;
22
+ protected paginateParams(request: IRequest): PaginateParams;
23
+ protected getSearchableSubStringFilter(resource: IResourceFile, filter: {
24
+ [key: string]: any;
25
+ }, subString: RegExp): {
26
+ [key: string]: any;
27
+ };
28
+ protected getScopeFilter(filter: {
29
+ [key: string]: any;
30
+ }, scope: string): {
31
+ [key: string]: any;
32
+ };
33
+ protected getVisibileExtraActions(currentUser: Document, record: any, resource: IResourceFile, repository: any, modelName: string): Promise<string[] | undefined>;
34
+ protected getHiddenActions(currentUser: Document, record: any, resource: IResourceFile, repository: any, modelName: string): Promise<string[] | undefined>;
35
+ private getModelConfiguration;
36
+ index(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
37
+ create(req: IRequest, res: Response): Promise<void>;
38
+ update(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
39
+ report(req: IRequest, res: Response): Promise<void>;
40
+ show(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
41
+ deleteAll(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
42
+ delete(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
43
+ getNeighbors(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
44
+ }