identity-admin 1.28.23 → 1.28.25

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 (189) 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 +45 -45
  21. package/lib/controllers/DashboardController.js +827 -827
  22. package/lib/controllers/ResourceController.d.ts +15 -15
  23. package/lib/controllers/ResourceController.js +126 -126
  24. package/lib/helpers/ActionsGenerator.d.ts +11 -11
  25. package/lib/helpers/ActionsGenerator.js +168 -168
  26. package/lib/helpers/AdminNotifications/AdminNotificationCreation.d.ts +54 -54
  27. package/lib/helpers/AdminNotifications/AdminNotificationCreation.js +66 -66
  28. package/lib/helpers/AdminNotifications/AdminNotificationFetcher.d.ts +63 -63
  29. package/lib/helpers/AdminNotifications/AdminNotificationFetcher.js +45 -45
  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/JsonRichText/DraftRawToUniversalConverter.d.ts +3 -2
  35. package/lib/helpers/JsonRichText/DraftRawToUniversalConverter.js +144 -122
  36. package/lib/helpers/JsonRichText/IDraftRawType.d.ts +18 -18
  37. package/lib/helpers/JsonRichText/IDraftRawType.js +2 -2
  38. package/lib/helpers/JsonRichText/IUniversalJsonType.d.ts +24 -19
  39. package/lib/helpers/JsonRichText/IUniversalJsonType.js +10 -4
  40. package/lib/helpers/LocalesHelper.d.ts +4 -4
  41. package/lib/helpers/LocalesHelper.js +73 -73
  42. package/lib/helpers/LocalizedStringHelper.d.ts +11 -11
  43. package/lib/helpers/LocalizedStringHelper.js +76 -76
  44. package/lib/helpers/Permissions/PermissionFetcher.d.ts +8 -8
  45. package/lib/helpers/Permissions/PermissionFetcher.js +95 -95
  46. package/lib/helpers/Permissions/PermissionLabel.d.ts +2 -2
  47. package/lib/helpers/Permissions/PermissionLabel.js +42 -42
  48. package/lib/helpers/Permissions/PermissionMapper.d.ts +13 -13
  49. package/lib/helpers/Permissions/PermissionMapper.js +35 -35
  50. package/lib/helpers/Permissions/PermissionResource.d.ts +6 -6
  51. package/lib/helpers/Permissions/PermissionResource.js +62 -62
  52. package/lib/helpers/Permissions/PermissionSavingService.d.ts +13 -13
  53. package/lib/helpers/Permissions/PermissionSavingService.js +32 -32
  54. package/lib/helpers/Permissions/SavePermissionGroup.d.ts +6 -6
  55. package/lib/helpers/Permissions/SavePermissionGroup.js +32 -32
  56. package/lib/helpers/Permissions/UpdatePermissionGroup.d.ts +6 -6
  57. package/lib/helpers/Permissions/UpdatePermissionGroup.js +50 -50
  58. package/lib/helpers/Permissions/types.d.ts +17 -17
  59. package/lib/helpers/Permissions/types.js +2 -2
  60. package/lib/helpers/PopulationHelper.d.ts +12 -12
  61. package/lib/helpers/PopulationHelper.js +50 -50
  62. package/lib/helpers/RecordsCounter.d.ts +10 -10
  63. package/lib/helpers/RecordsCounter.js +33 -33
  64. package/lib/helpers/ReportsGenerator.d.ts +26 -26
  65. package/lib/helpers/ReportsGenerator.js +162 -162
  66. package/lib/helpers/ResourceGenerator.d.ts +9 -9
  67. package/lib/helpers/ResourceGenerator.js +172 -172
  68. package/lib/helpers/ResourceHelper.d.ts +28 -28
  69. package/lib/helpers/ResourceHelper.js +397 -397
  70. package/lib/helpers/RportsGenerator.d.ts +10 -10
  71. package/lib/helpers/RportsGenerator.js +21 -21
  72. package/lib/helpers/SchemaGenerator.d.ts +7 -7
  73. package/lib/helpers/SchemaGenerator.js +137 -137
  74. package/lib/helpers/SchemaHelper.d.ts +5 -5
  75. package/lib/helpers/SchemaHelper.js +21 -21
  76. package/lib/helpers/UserActionsLog/UserActionsLogHelper.d.ts +2 -2
  77. package/lib/helpers/UserActionsLog/UserActionsLogHelper.js +49 -49
  78. package/lib/locales/en.json +54 -54
  79. package/lib/middlewares/cache/decorator.d.ts +3 -3
  80. package/lib/middlewares/cache/decorator.js +60 -60
  81. package/lib/middlewares/cache/deletionMethods.d.ts +3 -3
  82. package/lib/middlewares/cache/deletionMethods.js +23 -23
  83. package/lib/middlewares/isAuth.d.ts +13 -13
  84. package/lib/middlewares/isAuth.js +43 -43
  85. package/lib/models/ModelNames.d.ts +10 -10
  86. package/lib/models/ModelNames.js +13 -13
  87. package/lib/models/adminNotification/AdminNotification.d.ts +5 -5
  88. package/lib/models/adminNotification/AdminNotification.js +70 -70
  89. package/lib/models/adminNotification/IAdminNotification.d.ts +35 -35
  90. package/lib/models/adminNotification/IAdminNotification.js +15 -15
  91. package/lib/models/adminpermission/AdminPermission.d.ts +11 -11
  92. package/lib/models/adminpermission/AdminPermission.js +23 -23
  93. package/lib/models/adminpermission/IAdminPermission.d.ts +13 -13
  94. package/lib/models/adminpermission/IAdminPermission.js +2 -2
  95. package/lib/models/customPage/CustomPage.d.ts +2 -2
  96. package/lib/models/customPage/CustomPage.js +38 -38
  97. package/lib/models/customPage/ICustomPage.d.ts +17 -17
  98. package/lib/models/customPage/ICustomPage.js +2 -2
  99. package/lib/models/file/File.d.ts +2 -2
  100. package/lib/models/file/File.js +23 -23
  101. package/lib/models/file/IFile.d.ts +15 -15
  102. package/lib/models/file/IFile.js +2 -2
  103. package/lib/models/location/ILocation.d.ts +16 -16
  104. package/lib/models/location/ILocation.js +2 -2
  105. package/lib/models/location/Location.d.ts +2 -2
  106. package/lib/models/location/Location.js +29 -29
  107. package/lib/models/mailLog/IMailLog.d.ts +14 -14
  108. package/lib/models/mailLog/IMailLog.js +2 -2
  109. package/lib/models/mailLog/MailLog.d.ts +3 -3
  110. package/lib/models/mailLog/MailLog.js +23 -23
  111. package/lib/models/modelConfiguration/IModelConfigurations.d.ts +31 -31
  112. package/lib/models/modelConfiguration/IModelConfigurations.js +2 -2
  113. package/lib/models/modelConfiguration/ModelConfiguration.d.ts +13 -13
  114. package/lib/models/modelConfiguration/ModelConfiguration.js +103 -103
  115. package/lib/models/permission/IPermission.d.ts +14 -14
  116. package/lib/models/permission/IPermission.js +2 -2
  117. package/lib/models/permission/Permission.d.ts +2 -2
  118. package/lib/models/permission/Permission.js +21 -21
  119. package/lib/models/request-log/IRequestLog.d.ts +22 -22
  120. package/lib/models/request-log/IRequestLog.js +2 -2
  121. package/lib/models/request-log/RequestLog.d.ts +3 -3
  122. package/lib/models/request-log/RequestLog.js +51 -51
  123. package/lib/models/userActionsLog/IUserActionsLog.d.ts +26 -26
  124. package/lib/models/userActionsLog/IUserActionsLog.js +11 -11
  125. package/lib/models/userActionsLog/UserActionsLog.d.ts +3 -3
  126. package/lib/models/userActionsLog/UserActionsLog.js +41 -41
  127. package/lib/pdf/ReportTemplate.d.ts +71 -71
  128. package/lib/pdf/ReportTemplate.js +94 -94
  129. package/lib/repositories/AdminNotificationRepository.d.ts +7 -7
  130. package/lib/repositories/AdminNotificationRepository.js +23 -23
  131. package/lib/repositories/DashboardRepository.d.ts +5 -5
  132. package/lib/repositories/DashboardRepository.js +12 -12
  133. package/lib/repositories/Repository.d.ts +68 -68
  134. package/lib/repositories/Repository.js +215 -215
  135. package/lib/repositories/RequestLogRepository.d.ts +10 -10
  136. package/lib/repositories/RequestLogRepository.js +54 -54
  137. package/lib/repositories/SaveResult.d.ts +14 -14
  138. package/lib/repositories/SaveResult.js +18 -18
  139. package/lib/resources/AdminNotificationsResource.d.ts +3 -3
  140. package/lib/resources/AdminNotificationsResource.js +23 -23
  141. package/lib/resources/parents.d.ts +4 -4
  142. package/lib/resources/parents.js +7 -7
  143. package/lib/router/index.d.ts +8 -8
  144. package/lib/router/index.js +104 -104
  145. package/lib/types/DashbordConfig.d.ts +21 -21
  146. package/lib/types/DashbordConfig.js +2 -2
  147. package/lib/types/IConfigurationFile.d.ts +13 -13
  148. package/lib/types/IConfigurationFile.js +2 -2
  149. package/lib/types/IResourceFile.d.ts +736 -736
  150. package/lib/types/IResourceFile.js +2 -2
  151. package/lib/types/IResourceResponse.d.ts +96 -96
  152. package/lib/types/IResourceResponse.js +2 -2
  153. package/lib/types/helpers.d.ts +68 -68
  154. package/lib/types/helpers.js +83 -83
  155. package/lib/utils/DateUtils.d.ts +7 -7
  156. package/lib/utils/DateUtils.js +45 -45
  157. package/lib/utils/ResourceUtils.d.ts +2 -2
  158. package/lib/utils/ResourceUtils.js +7 -7
  159. package/lib/utils/ResponseUtils.d.ts +11 -11
  160. package/lib/utils/ResponseUtils.js +41 -41
  161. package/lib/utils/StringUtils.d.ts +9 -9
  162. package/lib/utils/StringUtils.js +46 -46
  163. package/lib/view/asset-manifest.json +18 -18
  164. package/lib/view/assets/icons/delete_icon.svg +3 -3
  165. package/lib/view/assets/icons/flags/ic_flag_cn.svg +9 -9
  166. package/lib/view/assets/icons/flags/ic_flag_sa.svg +9 -9
  167. package/lib/view/assets/icons/flags/ic_flag_vn.svg +9 -9
  168. package/lib/view/assets/icons/info_icon.svg +3 -3
  169. package/lib/view/assets/icons/navbar/ic_banking.svg +5 -5
  170. package/lib/view/assets/icons/navbar/ic_invoice.svg +4 -4
  171. package/lib/view/assets/icons/navbar/ic_kanban.svg +7 -7
  172. package/lib/view/assets/icons/navbar/ic_menu_item.svg +8 -8
  173. package/lib/view/assets/icons/small_info_icon.svg +3 -3
  174. package/lib/view/assets/illustrations/Group 16.svg +4 -4
  175. package/lib/view/assets/illustrations/logo.svg +5 -5
  176. package/lib/view/favicon/browserconfig.xml +9 -9
  177. package/lib/view/favicon/safari-pinned-tab.svg +182 -182
  178. package/lib/view/favicon/site.webmanifest +19 -19
  179. package/lib/view/fonts/index.css +18 -18
  180. package/lib/view/index.html +52 -52
  181. package/lib/view/manifest.json +20 -20
  182. package/lib/view/robots.txt +3 -3
  183. package/lib/view/static/css/main.54de06ef.css +1 -1
  184. package/lib/view/static/js/574.778b5963.chunk.js +1 -1
  185. package/lib/view/static/js/678.521704a3.chunk.js +1 -1
  186. package/lib/view/static/js/798.54856416.chunk.js +1 -1
  187. package/lib/view/static/js/main.4687f255.js +2 -2
  188. package/lib/view/static/js/main.4687f255.js.LICENSE.txt +214 -214
  189. package/package.json +64 -64
@@ -1,63 +1,63 @@
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
- additionalData?: Record<string, any>;
44
- }
45
- export declare class AdminNotificationFetcher {
46
- static fetchNotifications(): Promise<{
47
- id: import("mongoose").Types.ObjectId;
48
- text: string;
49
- createdAt: Date;
50
- clickable: boolean;
51
- redirectUrl: String | undefined;
52
- redirectUrlType: AdminNotificationNavigationType | undefined;
53
- isRead: boolean | undefined;
54
- priority: AdminNotificationTypePriority | undefined;
55
- type: string | undefined;
56
- actorIcon: string | undefined;
57
- targetIcon: string | undefined;
58
- targetName: string | undefined;
59
- hideCheckNow: boolean | undefined;
60
- message: string | undefined;
61
- additionalData: Record<string, any> | undefined;
62
- }[]>;
63
- }
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
+ additionalData?: Record<string, any>;
44
+ }
45
+ export declare class AdminNotificationFetcher {
46
+ static fetchNotifications(): Promise<{
47
+ id: import("mongoose").Types.ObjectId;
48
+ text: string;
49
+ createdAt: Date;
50
+ clickable: boolean;
51
+ redirectUrl: String | undefined;
52
+ redirectUrlType: AdminNotificationNavigationType | undefined;
53
+ isRead: boolean | undefined;
54
+ priority: AdminNotificationTypePriority | undefined;
55
+ type: string | undefined;
56
+ actorIcon: string | undefined;
57
+ targetIcon: string | undefined;
58
+ targetName: string | undefined;
59
+ hideCheckNow: boolean | undefined;
60
+ message: string | undefined;
61
+ additionalData: Record<string, any> | undefined;
62
+ }[]>;
63
+ }
@@ -1,45 +1,45 @@
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
- additionalData: notification.additionalData
39
- };
40
- });
41
- return mappedNotifications;
42
- });
43
- }
44
- }
45
- 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
+ additionalData: notification.additionalData
39
+ };
40
+ });
41
+ return mappedNotifications;
42
+ });
43
+ }
44
+ }
45
+ 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
+ }