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,51 +1,61 @@
1
- /// <reference types="mongoose" />
2
- /// <reference types="mongoose" />
3
- /// <reference types="mongoose" />
4
- /// <reference types="mongoose" />
5
- /// <reference types="mongoose" />
6
- /// <reference types="mongoose" />
7
- /// <reference types="mongoose" />
8
- /// <reference types="mongoose" />
9
- /// <reference types="mongoose" />
10
- /// <reference types="mongoose" />
11
- /// <reference types="mongoose" />
12
- /// <reference types="mongoose" />
13
- /// <reference types="mongoose" />
14
- /// <reference types="mongoose" />
15
- /// <reference types="mongoose" />
16
- /// <reference types="mongoose" />
17
- /// <reference types="mongoose" />
18
- /// <reference types="mongoose" />
19
- /// <reference types="mongoose" />
20
- /// <reference types="mongoose" />
21
- /// <reference types="mongoose" />
22
- /// <reference types="mongoose" />
23
- /// <reference types="mongoose" />
24
- /// <reference types="mongoose" />
25
- /// <reference types="passport-local-mongoose" />
26
- /// <reference types="mongoose" />
27
- import { AdminNotificationNavigationType, AdminNotificationTypePriority } from '../../models/adminNotification/IAdminNotification';
28
- export interface IMappedAdminNotification {
29
- id: string;
30
- text: string;
31
- createdAt: Date;
32
- clickable: boolean;
33
- redirectUrl?: string;
34
- redirectUrlType: AdminNotificationNavigationType;
35
- isRead: boolean;
36
- priority: AdminNotificationTypePriority;
37
- type?: string;
38
- }
39
- export declare class AdminNotificationFetcher {
40
- static fetchNotifications(): Promise<{
41
- id: import("mongoose").Types.ObjectId;
42
- text: string;
43
- createdAt: Date;
44
- clickable: boolean;
45
- redirectUrl: String | undefined;
46
- redirectUrlType: AdminNotificationNavigationType | undefined;
47
- isRead: boolean | undefined;
48
- priority: AdminNotificationTypePriority | undefined;
49
- type: string | undefined;
50
- }[]>;
51
- }
1
+ /// <reference types="mongoose" />
2
+ /// <reference types="mongoose" />
3
+ /// <reference types="mongoose" />
4
+ /// <reference types="mongoose" />
5
+ /// <reference types="mongoose" />
6
+ /// <reference types="mongoose" />
7
+ /// <reference types="mongoose" />
8
+ /// <reference types="mongoose" />
9
+ /// <reference types="mongoose" />
10
+ /// <reference types="mongoose" />
11
+ /// <reference types="mongoose" />
12
+ /// <reference types="mongoose" />
13
+ /// <reference types="mongoose" />
14
+ /// <reference types="mongoose" />
15
+ /// <reference types="mongoose" />
16
+ /// <reference types="mongoose" />
17
+ /// <reference types="mongoose" />
18
+ /// <reference types="mongoose" />
19
+ /// <reference types="mongoose" />
20
+ /// <reference types="mongoose" />
21
+ /// <reference types="mongoose" />
22
+ /// <reference types="mongoose" />
23
+ /// <reference types="mongoose" />
24
+ /// <reference types="mongoose" />
25
+ /// <reference types="passport-local-mongoose" />
26
+ /// <reference types="mongoose" />
27
+ import { AdminNotificationNavigationType, AdminNotificationTypePriority } from '../../models/adminNotification/IAdminNotification';
28
+ export interface IMappedAdminNotification {
29
+ id: string;
30
+ text: string;
31
+ createdAt: Date;
32
+ clickable: boolean;
33
+ redirectUrl?: string;
34
+ redirectUrlType: AdminNotificationNavigationType;
35
+ isRead: boolean;
36
+ priority: AdminNotificationTypePriority;
37
+ type?: string;
38
+ actorIcon?: string;
39
+ targetIcon?: string;
40
+ targetName?: string;
41
+ hideCheckNow?: boolean;
42
+ message?: string;
43
+ }
44
+ export declare class AdminNotificationFetcher {
45
+ static fetchNotifications(): Promise<{
46
+ id: import("mongoose").Types.ObjectId;
47
+ text: string;
48
+ createdAt: Date;
49
+ clickable: boolean;
50
+ redirectUrl: String | undefined;
51
+ redirectUrlType: AdminNotificationNavigationType | undefined;
52
+ isRead: boolean | undefined;
53
+ priority: AdminNotificationTypePriority | undefined;
54
+ type: string | undefined;
55
+ actorIcon: string | undefined;
56
+ targetIcon: string | undefined;
57
+ targetName: string | undefined;
58
+ hideCheckNow: boolean | undefined;
59
+ message: string | undefined;
60
+ }[]>;
61
+ }
@@ -1,39 +1,44 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AdminNotificationFetcher = void 0;
16
- const AdminNotification_1 = __importDefault(require("../../models/adminNotification/AdminNotification"));
17
- const IAdminNotification_1 = require("../../models/adminNotification/IAdminNotification");
18
- class AdminNotificationFetcher {
19
- static fetchNotifications() {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- const notifications = yield AdminNotification_1.default.find({ isRead: false }).sort({ createdAt: -1 });
22
- const mappedNotifications = notifications.map((notification) => {
23
- return {
24
- id: notification._id,
25
- text: notification.title,
26
- createdAt: notification.createdAt,
27
- clickable: notification.redirectUrlType === IAdminNotification_1.AdminNotificationNavigationType.NONE ? false : true,
28
- redirectUrl: notification.redirectUrl,
29
- redirectUrlType: notification.redirectUrlType,
30
- isRead: notification.isRead,
31
- priority: notification.priority,
32
- type: notification.type,
33
- };
34
- });
35
- return mappedNotifications;
36
- });
37
- }
38
- }
39
- exports.AdminNotificationFetcher = AdminNotificationFetcher;
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AdminNotificationFetcher = void 0;
16
+ const AdminNotification_1 = __importDefault(require("../../models/adminNotification/AdminNotification"));
17
+ const IAdminNotification_1 = require("../../models/adminNotification/IAdminNotification");
18
+ class AdminNotificationFetcher {
19
+ static fetchNotifications() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const notifications = yield AdminNotification_1.default.find({ isRead: false }).sort({ createdAt: -1 });
22
+ const mappedNotifications = notifications.map((notification) => {
23
+ return {
24
+ id: notification._id,
25
+ text: notification.title,
26
+ createdAt: notification.createdAt,
27
+ clickable: notification.redirectUrlType === IAdminNotification_1.AdminNotificationNavigationType.NONE ? false : true,
28
+ redirectUrl: notification.redirectUrl,
29
+ redirectUrlType: notification.redirectUrlType,
30
+ isRead: notification.isRead,
31
+ priority: notification.priority,
32
+ type: notification.type,
33
+ actorIcon: notification.actorIcon,
34
+ targetIcon: notification.targetIcon,
35
+ targetName: notification.targetName,
36
+ hideCheckNow: notification.hideCheckNow,
37
+ message: notification.message
38
+ };
39
+ });
40
+ return mappedNotifications;
41
+ });
42
+ }
43
+ }
44
+ exports.AdminNotificationFetcher = AdminNotificationFetcher;
@@ -1,9 +1,9 @@
1
- import { IRequest } from '../middlewares/isAuth';
2
- import { IResourceFile } from '../types/IResourceFile';
3
- import { IModelConfigurationDocument } from '../models/modelConfiguration/IModelConfigurations';
4
- export declare class FilterQueryHelper {
5
- static getFilter(req: IRequest, resource: IResourceFile, modelConfigurations?: Map<string, IModelConfigurationDocument> | undefined): Promise<{
6
- [key: string]: any;
7
- } | undefined>;
8
- private static getSearchableSubStringFilter;
9
- }
1
+ import { IRequest } from '../middlewares/isAuth';
2
+ import { IResourceFile } from '../types/IResourceFile';
3
+ import { IModelConfigurationDocument } from '../models/modelConfiguration/IModelConfigurations';
4
+ export declare class FilterQueryHelper {
5
+ static getFilter(req: IRequest, resource: IResourceFile, modelConfigurations?: Map<string, IModelConfigurationDocument> | undefined): Promise<{
6
+ [key: string]: any;
7
+ } | undefined>;
8
+ private static getSearchableSubStringFilter;
9
+ }
@@ -1,83 +1,83 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.FilterQueryHelper = void 0;
16
- const mongoose_1 = __importDefault(require("mongoose"));
17
- const FiltersHelper_1 = __importDefault(require("./FiltersHelper"));
18
- const LocalizedStringHelper_1 = __importDefault(require("./LocalizedStringHelper"));
19
- const ResourceHelper_1 = __importDefault(require("./ResourceHelper"));
20
- class FilterQueryHelper {
21
- static getFilter(req, resource, modelConfigurations) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const searchableSubString = req.query.filter ? new RegExp(req.query.filter, 'i') : undefined;
24
- const scope = req.query.scope;
25
- const currentUser = req.user;
26
- const filtersQuery = req.query.filters;
27
- const filters = filtersQuery ? filtersQuery.split('^^') : undefined;
28
- if (!resource) {
29
- return;
30
- }
31
- if (!currentUser) {
32
- return;
33
- }
34
- const sort = req.query.order;
35
- const sortBy = req.query.orderBy;
36
- const sortQuery = {};
37
- sortQuery[sortBy] = sort;
38
- if (sortBy !== '_id') {
39
- sortQuery._id = 'asc';
40
- }
41
- var filter = {};
42
- if (scope && resource.properties.filters && resource.properties.filters.scopes && resource.properties.filters.scopes.isAccessible) {
43
- if (resource.properties.filters.scopes.manual) {
44
- filter = yield resource.properties.filters.scopes.manual.handler(filter, scope, currentUser);
45
- }
46
- else if (resource.properties.filters.scopes.auto) {
47
- const key = resource.properties.filters.scopes.auto.key;
48
- if (key) {
49
- filter[key] = scope;
50
- }
51
- }
52
- }
53
- if (searchableSubString) {
54
- filter = this.getSearchableSubStringFilter(resource, filter, searchableSubString, modelConfigurations);
55
- }
56
- filter = yield FiltersHelper_1.default.appendFilters(filter, filters, resource);
57
- const crudOperations = resource.properties.crudOperations;
58
- if (crudOperations && crudOperations.index && crudOperations.index.before) {
59
- filter = yield crudOperations.index.before(req, filter, currentUser);
60
- }
61
- return filter;
62
- });
63
- }
64
- static getSearchableSubStringFilter(resource, filter, subString, modelConfigurations) {
65
- const schema = resource.properties.resource.schema.paths;
66
- const searchBy = ResourceHelper_1.default.getSchemaTitle(schema, resource, modelConfigurations === null || modelConfigurations === void 0 ? void 0 : modelConfigurations.get(resource.properties.modelName));
67
- if (searchBy === '_id') {
68
- if (!mongoose_1.default.isValidObjectId(subString.source)) {
69
- return filter;
70
- }
71
- filter[searchBy] = subString.source;
72
- return filter;
73
- }
74
- if (LocalizedStringHelper_1.default.checkLocalizedStringType(resource, searchBy)) {
75
- filter.$or = [LocalizedStringHelper_1.default.getFilterObject(searchBy, '0', subString), LocalizedStringHelper_1.default.getFilterObject(searchBy, '1', subString)];
76
- }
77
- else {
78
- filter[searchBy] = subString;
79
- }
80
- return filter;
81
- }
82
- }
83
- exports.FilterQueryHelper = FilterQueryHelper;
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.FilterQueryHelper = void 0;
16
+ const mongoose_1 = __importDefault(require("mongoose"));
17
+ const FiltersHelper_1 = __importDefault(require("./FiltersHelper"));
18
+ const LocalizedStringHelper_1 = __importDefault(require("./LocalizedStringHelper"));
19
+ const ResourceHelper_1 = __importDefault(require("./ResourceHelper"));
20
+ class FilterQueryHelper {
21
+ static getFilter(req, resource, modelConfigurations) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const searchableSubString = req.query.filter ? new RegExp(req.query.filter, 'i') : undefined;
24
+ const scope = req.query.scope;
25
+ const currentUser = req.user;
26
+ const filtersQuery = req.query.filters;
27
+ const filters = filtersQuery ? filtersQuery.split('^^') : undefined;
28
+ if (!resource) {
29
+ return;
30
+ }
31
+ if (!currentUser) {
32
+ return;
33
+ }
34
+ const sort = req.query.order;
35
+ const sortBy = req.query.orderBy;
36
+ const sortQuery = {};
37
+ sortQuery[sortBy] = sort;
38
+ if (sortBy !== '_id') {
39
+ sortQuery._id = 'asc';
40
+ }
41
+ var filter = {};
42
+ if (scope && resource.properties.filters && resource.properties.filters.scopes && resource.properties.filters.scopes.isAccessible) {
43
+ if (resource.properties.filters.scopes.manual) {
44
+ filter = yield resource.properties.filters.scopes.manual.handler(filter, scope, currentUser);
45
+ }
46
+ else if (resource.properties.filters.scopes.auto) {
47
+ const key = resource.properties.filters.scopes.auto.key;
48
+ if (key) {
49
+ filter[key] = scope;
50
+ }
51
+ }
52
+ }
53
+ if (searchableSubString) {
54
+ filter = this.getSearchableSubStringFilter(resource, filter, searchableSubString, modelConfigurations);
55
+ }
56
+ filter = yield FiltersHelper_1.default.appendFilters(filter, filters, resource);
57
+ const crudOperations = resource.properties.crudOperations;
58
+ if (crudOperations && crudOperations.index && crudOperations.index.before) {
59
+ filter = yield crudOperations.index.before(req, filter, currentUser);
60
+ }
61
+ return filter;
62
+ });
63
+ }
64
+ static getSearchableSubStringFilter(resource, filter, subString, modelConfigurations) {
65
+ const schema = resource.properties.resource.schema.paths;
66
+ const searchBy = ResourceHelper_1.default.getSchemaTitle(schema, resource, modelConfigurations === null || modelConfigurations === void 0 ? void 0 : modelConfigurations.get(resource.properties.modelName));
67
+ if (searchBy === '_id') {
68
+ if (!mongoose_1.default.isValidObjectId(subString.source)) {
69
+ return filter;
70
+ }
71
+ filter[searchBy] = subString.source;
72
+ return filter;
73
+ }
74
+ if (LocalizedStringHelper_1.default.checkLocalizedStringType(resource, searchBy)) {
75
+ filter.$or = [LocalizedStringHelper_1.default.getFilterObject(searchBy, '0', subString), LocalizedStringHelper_1.default.getFilterObject(searchBy, '1', subString)];
76
+ }
77
+ else {
78
+ filter[searchBy] = subString;
79
+ }
80
+ return filter;
81
+ }
82
+ }
83
+ exports.FilterQueryHelper = FilterQueryHelper;
@@ -1,9 +1,9 @@
1
- import { IResourceFile } from '../types/IResourceFile';
2
- export default class FilterHelper {
3
- static appendFilters(filterQuery: {
4
- [key: string]: any;
5
- }, filters: string[] | undefined, resource?: IResourceFile): Promise<{
6
- [key: string]: any;
7
- }>;
8
- private static getVirtualFilter;
9
- }
1
+ import { IResourceFile } from '../types/IResourceFile';
2
+ export default class FilterHelper {
3
+ static appendFilters(filterQuery: {
4
+ [key: string]: any;
5
+ }, filters: string[] | undefined, resource?: IResourceFile): Promise<{
6
+ [key: string]: any;
7
+ }>;
8
+ private static getVirtualFilter;
9
+ }