identity-admin 1.28.26 → 1.28.28

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 (213) hide show
  1. package/README.md +148 -148
  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/PermissionController.d.ts +6 -6
  23. package/lib/controllers/PermissionController.js +52 -52
  24. package/lib/controllers/ResourceController.d.ts +15 -15
  25. package/lib/controllers/ResourceController.js +128 -128
  26. package/lib/helpers/ActionsGenerator.d.ts +11 -11
  27. package/lib/helpers/ActionsGenerator.js +168 -168
  28. package/lib/helpers/AdminNotifications/AdminNotificationCreation.d.ts +54 -54
  29. package/lib/helpers/AdminNotifications/AdminNotificationCreation.js +66 -66
  30. package/lib/helpers/AdminNotifications/AdminNotificationFetcher.d.ts +63 -63
  31. package/lib/helpers/AdminNotifications/AdminNotificationFetcher.js +45 -45
  32. package/lib/helpers/FilterQueryHelper.d.ts +9 -9
  33. package/lib/helpers/FilterQueryHelper.js +83 -83
  34. package/lib/helpers/FiltersHelper.d.ts +9 -9
  35. package/lib/helpers/FiltersHelper.js +126 -126
  36. package/lib/helpers/JsonRichText/DraftRawToUniversalConverter.d.ts +3 -3
  37. package/lib/helpers/JsonRichText/DraftRawToUniversalConverter.js +144 -144
  38. package/lib/helpers/JsonRichText/IDraftRawType.d.ts +18 -18
  39. package/lib/helpers/JsonRichText/IDraftRawType.js +2 -2
  40. package/lib/helpers/JsonRichText/IUniversalJsonType.d.ts +24 -24
  41. package/lib/helpers/JsonRichText/IUniversalJsonType.js +10 -10
  42. package/lib/helpers/LocalesHelper.d.ts +4 -4
  43. package/lib/helpers/LocalesHelper.js +73 -73
  44. package/lib/helpers/LocalizedStringHelper.d.ts +11 -11
  45. package/lib/helpers/LocalizedStringHelper.js +76 -76
  46. package/lib/helpers/Permissions/PermissionFetcher.d.ts +8 -8
  47. package/lib/helpers/Permissions/PermissionFetcher.js +95 -95
  48. package/lib/helpers/Permissions/PermissionLabel.d.ts +2 -2
  49. package/lib/helpers/Permissions/PermissionLabel.js +42 -42
  50. package/lib/helpers/Permissions/PermissionMapper.d.ts +13 -13
  51. package/lib/helpers/Permissions/PermissionMapper.js +35 -35
  52. package/lib/helpers/Permissions/PermissionResource.d.ts +6 -6
  53. package/lib/helpers/Permissions/PermissionResource.js +62 -62
  54. package/lib/helpers/Permissions/PermissionSavingService.d.ts +13 -13
  55. package/lib/helpers/Permissions/PermissionSavingService.js +32 -32
  56. package/lib/helpers/Permissions/SavePermissionGroup.d.ts +6 -6
  57. package/lib/helpers/Permissions/SavePermissionGroup.js +32 -32
  58. package/lib/helpers/Permissions/UpdatePermissionGroup.d.ts +6 -6
  59. package/lib/helpers/Permissions/UpdatePermissionGroup.js +50 -50
  60. package/lib/helpers/Permissions/types.d.ts +17 -17
  61. package/lib/helpers/Permissions/types.js +2 -2
  62. package/lib/helpers/PopulationHelper.d.ts +12 -12
  63. package/lib/helpers/PopulationHelper.js +50 -50
  64. package/lib/helpers/RecordsCounter.d.ts +10 -10
  65. package/lib/helpers/RecordsCounter.js +33 -33
  66. package/lib/helpers/ReportsGenerator.d.ts +26 -26
  67. package/lib/helpers/ReportsGenerator.js +162 -162
  68. package/lib/helpers/ResourceGenerator.d.ts +9 -9
  69. package/lib/helpers/ResourceGenerator.js +172 -172
  70. package/lib/helpers/ResourceHelper.d.ts +28 -28
  71. package/lib/helpers/ResourceHelper.js +397 -397
  72. package/lib/helpers/RportsGenerator.d.ts +10 -10
  73. package/lib/helpers/RportsGenerator.js +21 -21
  74. package/lib/helpers/SchemaGenerator.d.ts +7 -7
  75. package/lib/helpers/SchemaGenerator.js +137 -137
  76. package/lib/helpers/SchemaHelper.d.ts +5 -5
  77. package/lib/helpers/SchemaHelper.js +21 -21
  78. package/lib/helpers/UserActionsLog/UserActionsLogHelper.d.ts +2 -2
  79. package/lib/helpers/UserActionsLog/UserActionsLogHelper.js +49 -49
  80. package/lib/locales/en.json +54 -54
  81. package/lib/middlewares/cache/decorator.d.ts +3 -3
  82. package/lib/middlewares/cache/decorator.js +60 -60
  83. package/lib/middlewares/cache/deletionMethods.d.ts +3 -3
  84. package/lib/middlewares/cache/deletionMethods.js +23 -23
  85. package/lib/middlewares/isAuth.d.ts +13 -13
  86. package/lib/middlewares/isAuth.js +43 -43
  87. package/lib/models/ModelNames.d.ts +10 -10
  88. package/lib/models/ModelNames.js +13 -13
  89. package/lib/models/adminNotification/AdminNotification.d.ts +5 -5
  90. package/lib/models/adminNotification/AdminNotification.js +70 -70
  91. package/lib/models/adminNotification/IAdminNotification.d.ts +35 -35
  92. package/lib/models/adminNotification/IAdminNotification.js +15 -15
  93. package/lib/models/adminpermission/AdminPermission.d.ts +6 -6
  94. package/lib/models/adminpermission/AdminPermission.js +27 -27
  95. package/lib/models/adminpermission/IAdminPermission.d.ts +13 -13
  96. package/lib/models/adminpermission/IAdminPermission.js +2 -2
  97. package/lib/models/customPage/CustomPage.d.ts +2 -2
  98. package/lib/models/customPage/CustomPage.js +38 -38
  99. package/lib/models/customPage/ICustomPage.d.ts +17 -17
  100. package/lib/models/customPage/ICustomPage.js +2 -2
  101. package/lib/models/file/File.d.ts +2 -2
  102. package/lib/models/file/File.js +23 -23
  103. package/lib/models/file/IFile.d.ts +15 -15
  104. package/lib/models/file/IFile.js +2 -2
  105. package/lib/models/language/ILanguage.d.ts +8 -8
  106. package/lib/models/language/ILanguage.js +8 -8
  107. package/lib/models/language/LanguageSchema.d.ts +9 -9
  108. package/lib/models/language/LanguageSchema.js +17 -17
  109. package/lib/models/location/ILocation.d.ts +16 -16
  110. package/lib/models/location/ILocation.js +2 -2
  111. package/lib/models/location/Location.d.ts +2 -2
  112. package/lib/models/location/Location.js +29 -29
  113. package/lib/models/mailLog/IMailLog.d.ts +14 -14
  114. package/lib/models/mailLog/IMailLog.js +2 -2
  115. package/lib/models/mailLog/MailLog.d.ts +3 -3
  116. package/lib/models/mailLog/MailLog.js +23 -23
  117. package/lib/models/modelConfiguration/IModelConfigurations.d.ts +31 -31
  118. package/lib/models/modelConfiguration/IModelConfigurations.js +2 -2
  119. package/lib/models/modelConfiguration/ModelConfiguration.d.ts +13 -13
  120. package/lib/models/modelConfiguration/ModelConfiguration.js +103 -103
  121. package/lib/models/permission/IPermission.d.ts +14 -14
  122. package/lib/models/permission/IPermission.js +2 -2
  123. package/lib/models/permission/Permission.d.ts +6 -6
  124. package/lib/models/permission/Permission.js +28 -28
  125. package/lib/models/permissiongroup/IPermissionGroup.d.ts +15 -13
  126. package/lib/models/permissiongroup/IPermissionGroup.js +2 -2
  127. package/lib/models/permissiongroup/PermissionGroup.d.ts +6 -6
  128. package/lib/models/permissiongroup/PermissionGroup.js +23 -16
  129. package/lib/models/request-log/IRequestLog.d.ts +22 -22
  130. package/lib/models/request-log/IRequestLog.js +2 -2
  131. package/lib/models/request-log/RequestLog.d.ts +3 -3
  132. package/lib/models/request-log/RequestLog.js +51 -51
  133. package/lib/models/userActionsLog/IUserActionsLog.d.ts +26 -26
  134. package/lib/models/userActionsLog/IUserActionsLog.js +11 -11
  135. package/lib/models/userActionsLog/UserActionsLog.d.ts +3 -3
  136. package/lib/models/userActionsLog/UserActionsLog.js +41 -41
  137. package/lib/pdf/ReportTemplate.d.ts +71 -71
  138. package/lib/pdf/ReportTemplate.js +94 -94
  139. package/lib/repositories/AdminNotificationRepository.d.ts +7 -7
  140. package/lib/repositories/AdminNotificationRepository.js +23 -23
  141. package/lib/repositories/AdminPermissionRepository.d.ts +7 -7
  142. package/lib/repositories/AdminPermissionRepository.js +23 -23
  143. package/lib/repositories/DashboardRepository.d.ts +5 -5
  144. package/lib/repositories/DashboardRepository.js +12 -12
  145. package/lib/repositories/PermissionGroupRepository.d.ts +7 -7
  146. package/lib/repositories/PermissionGroupRepository.js +23 -23
  147. package/lib/repositories/PermissionRepository.d.ts +7 -7
  148. package/lib/repositories/PermissionRepository.js +23 -23
  149. package/lib/repositories/Repository.d.ts +68 -68
  150. package/lib/repositories/Repository.js +215 -215
  151. package/lib/repositories/RequestLogRepository.d.ts +10 -10
  152. package/lib/repositories/RequestLogRepository.js +54 -54
  153. package/lib/repositories/SaveResult.d.ts +14 -14
  154. package/lib/repositories/SaveResult.js +18 -18
  155. package/lib/resources/AdminNotificationsResource.d.ts +3 -3
  156. package/lib/resources/AdminNotificationsResource.js +23 -23
  157. package/lib/resources/AdminPermissionResource.d.ts +5 -5
  158. package/lib/resources/AdminPermissionResource.js +36 -36
  159. package/lib/resources/PermissionGroupResource.d.ts +5 -5
  160. package/lib/resources/PermissionGroupResource.js +60 -53
  161. package/lib/resources/PermissionsResource.d.ts +5 -5
  162. package/lib/resources/PermissionsResource.js +23 -23
  163. package/lib/resources/parents.d.ts +12 -12
  164. package/lib/resources/parents.js +15 -15
  165. package/lib/router/index.d.ts +8 -8
  166. package/lib/router/index.js +104 -104
  167. package/lib/seeds/PermissionSeeder.d.ts +4 -4
  168. package/lib/seeds/PermissionSeeder.js +56 -56
  169. package/lib/types/DashbordConfig.d.ts +21 -21
  170. package/lib/types/DashbordConfig.js +2 -2
  171. package/lib/types/IConfigurationFile.d.ts +14 -14
  172. package/lib/types/IConfigurationFile.js +2 -2
  173. package/lib/types/IResourceFile.d.ts +736 -736
  174. package/lib/types/IResourceFile.js +2 -2
  175. package/lib/types/IResourceResponse.d.ts +96 -96
  176. package/lib/types/IResourceResponse.js +2 -2
  177. package/lib/types/helpers.d.ts +71 -71
  178. package/lib/types/helpers.js +83 -83
  179. package/lib/utils/DateUtils.d.ts +7 -7
  180. package/lib/utils/DateUtils.js +45 -45
  181. package/lib/utils/ResourceUtils.d.ts +2 -2
  182. package/lib/utils/ResourceUtils.js +7 -7
  183. package/lib/utils/ResponseUtils.d.ts +11 -11
  184. package/lib/utils/ResponseUtils.js +41 -41
  185. package/lib/utils/StringUtils.d.ts +9 -9
  186. package/lib/utils/StringUtils.js +46 -46
  187. package/lib/view/asset-manifest.json +18 -18
  188. package/lib/view/assets/icons/delete_icon.svg +3 -3
  189. package/lib/view/assets/icons/flags/ic_flag_cn.svg +9 -9
  190. package/lib/view/assets/icons/flags/ic_flag_sa.svg +9 -9
  191. package/lib/view/assets/icons/flags/ic_flag_vn.svg +9 -9
  192. package/lib/view/assets/icons/info_icon.svg +3 -3
  193. package/lib/view/assets/icons/navbar/ic_banking.svg +5 -5
  194. package/lib/view/assets/icons/navbar/ic_invoice.svg +4 -4
  195. package/lib/view/assets/icons/navbar/ic_kanban.svg +7 -7
  196. package/lib/view/assets/icons/navbar/ic_menu_item.svg +8 -8
  197. package/lib/view/assets/icons/small_info_icon.svg +3 -3
  198. package/lib/view/assets/illustrations/Group 16.svg +4 -4
  199. package/lib/view/assets/illustrations/logo.svg +5 -5
  200. package/lib/view/favicon/browserconfig.xml +9 -9
  201. package/lib/view/favicon/safari-pinned-tab.svg +182 -182
  202. package/lib/view/favicon/site.webmanifest +19 -19
  203. package/lib/view/fonts/index.css +18 -18
  204. package/lib/view/index.html +52 -52
  205. package/lib/view/manifest.json +20 -20
  206. package/lib/view/robots.txt +3 -3
  207. package/lib/view/static/css/main.54de06ef.css +1 -1
  208. package/lib/view/static/js/574.778b5963.chunk.js +1 -1
  209. package/lib/view/static/js/678.521704a3.chunk.js +1 -1
  210. package/lib/view/static/js/798.54856416.chunk.js +1 -1
  211. package/lib/view/static/js/main.4687f255.js +2 -2
  212. package/lib/view/static/js/main.4687f255.js.LICENSE.txt +214 -214
  213. package/package.json +64 -64
@@ -1,23 +1,23 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const inversify_1 = require("inversify");
13
- const Repository_1 = __importDefault(require("./Repository"));
14
- const PermissionGroup_1 = require("../models/permissiongroup/PermissionGroup");
15
- let PermissionGroupRepository = class PermissionGroupRepository extends Repository_1.default {
16
- constructor() {
17
- super(PermissionGroup_1.PermissionGroup);
18
- }
19
- };
20
- PermissionGroupRepository = __decorate([
21
- (0, inversify_1.injectable)()
22
- ], PermissionGroupRepository);
23
- exports.default = PermissionGroupRepository;
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const inversify_1 = require("inversify");
13
+ const Repository_1 = __importDefault(require("./Repository"));
14
+ const PermissionGroup_1 = require("../models/permissiongroup/PermissionGroup");
15
+ let PermissionGroupRepository = class PermissionGroupRepository extends Repository_1.default {
16
+ constructor() {
17
+ super(PermissionGroup_1.PermissionGroup);
18
+ }
19
+ };
20
+ PermissionGroupRepository = __decorate([
21
+ (0, inversify_1.injectable)()
22
+ ], PermissionGroupRepository);
23
+ exports.default = PermissionGroupRepository;
@@ -1,7 +1,7 @@
1
- import Repository, { IRepository } from './Repository';
2
- import { IPermissionDocument } from '../models/permission/IPermission';
3
- export interface IPermissionRepository extends IRepository<IPermissionDocument> {
4
- }
5
- export default class PermissionRepository extends Repository<IPermissionDocument> {
6
- constructor();
7
- }
1
+ import Repository, { IRepository } from './Repository';
2
+ import { IPermissionDocument } from '../models/permission/IPermission';
3
+ export interface IPermissionRepository extends IRepository<IPermissionDocument> {
4
+ }
5
+ export default class PermissionRepository extends Repository<IPermissionDocument> {
6
+ constructor();
7
+ }
@@ -1,23 +1,23 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const inversify_1 = require("inversify");
13
- const Repository_1 = __importDefault(require("./Repository"));
14
- const Permission_1 = __importDefault(require("../models/permission/Permission"));
15
- let PermissionRepository = class PermissionRepository extends Repository_1.default {
16
- constructor() {
17
- super(Permission_1.default);
18
- }
19
- };
20
- PermissionRepository = __decorate([
21
- (0, inversify_1.injectable)()
22
- ], PermissionRepository);
23
- exports.default = PermissionRepository;
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const inversify_1 = require("inversify");
13
+ const Repository_1 = __importDefault(require("./Repository"));
14
+ const Permission_1 = __importDefault(require("../models/permission/Permission"));
15
+ let PermissionRepository = class PermissionRepository extends Repository_1.default {
16
+ constructor() {
17
+ super(Permission_1.default);
18
+ }
19
+ };
20
+ PermissionRepository = __decorate([
21
+ (0, inversify_1.injectable)()
22
+ ], PermissionRepository);
23
+ exports.default = PermissionRepository;
@@ -1,68 +1,68 @@
1
- import { Aggregate, Document, Model } from 'mongoose';
2
- import SaveResult from './SaveResult';
3
- export interface PaginateParams {
4
- page: number;
5
- perPage: number;
6
- }
7
- interface IQueryOptions {
8
- filter?: any;
9
- sort?: any;
10
- select?: any;
11
- limit?: number;
12
- skip?: number;
13
- paginateParams?: PaginateParams;
14
- populate?: any;
15
- }
16
- export interface PageInfo {
17
- currentPage: number;
18
- pagesCount: number;
19
- nextPage: number;
20
- recordsCount: number;
21
- perPage: number;
22
- }
23
- export interface Page<T> {
24
- records: T[];
25
- pageInfo: PageInfo;
26
- }
27
- export interface IDashboardRepository {
28
- }
29
- export interface IRepository<T extends Document> {
30
- findById(id: any): Promise<T | null>;
31
- findOne(queryOptions?: IQueryOptions): Promise<T | null>;
32
- findMany(queryOptions?: IQueryOptions): Promise<T[]>;
33
- count(filterOptions: any): Promise<number>;
34
- save(props: any): Promise<SaveResult<T>>;
35
- saveAll(props: any[]): Promise<any>;
36
- findByIdAndUpdate(id: any, props: any): Promise<T | null>;
37
- findOneAndUpdate(filter: any, props: any, options?: any): Promise<T | null>;
38
- remove(filterOptions: any): Promise<T | null>;
39
- distinct(field: string, filterOptions: any): Promise<T[] | null>;
40
- paginate(queryOptions: IQueryOptions): Promise<Page<T>>;
41
- update(instance: T, props: any): Promise<SaveResult<T>>;
42
- saveInstance(instance: T): Promise<SaveResult<T>>;
43
- }
44
- export default class Repository<T extends Document> implements IRepository<T>, IDashboardRepository {
45
- protected model: Model<T>;
46
- private static NO_NEXT_PAGE;
47
- constructor(model: Model<T>);
48
- findById(id: any): Promise<T | null>;
49
- findOne(queryOptions?: IQueryOptions): Promise<T | null>;
50
- findMany(queryOptions: IQueryOptions): Promise<T[]>;
51
- paginate(queryOptions: IQueryOptions): Promise<Page<T>>;
52
- private getLimit;
53
- private getSkip;
54
- toLimitSkip(paginateParams: PaginateParams): [number, number];
55
- protected createPageInfo(filter: any, skip: number, limit: number): Promise<PageInfo>;
56
- protected createPageInfoFromAggregate(aggregate: Aggregate<any[]>, skip: number, limit: number): Promise<PageInfo>;
57
- count(filter: any): Promise<number>;
58
- countAggregate(aggregate: Aggregate<any[]>): Promise<number>;
59
- update(instance: T, props: any): Promise<SaveResult<T>>;
60
- save(props: any): Promise<SaveResult<T>>;
61
- saveInstance(instance: T): Promise<SaveResult<T>>;
62
- saveAll(props: any[]): Promise<any>;
63
- findByIdAndUpdate(id: any, props: any): Promise<T | null>;
64
- findOneAndUpdate(filter: any, props: any): Promise<T | null>;
65
- remove(filter: any): Promise<T | null>;
66
- distinct(field: string, filter: any): Promise<T[] | null>;
67
- }
68
- export {};
1
+ import { Aggregate, Document, Model } from 'mongoose';
2
+ import SaveResult from './SaveResult';
3
+ export interface PaginateParams {
4
+ page: number;
5
+ perPage: number;
6
+ }
7
+ interface IQueryOptions {
8
+ filter?: any;
9
+ sort?: any;
10
+ select?: any;
11
+ limit?: number;
12
+ skip?: number;
13
+ paginateParams?: PaginateParams;
14
+ populate?: any;
15
+ }
16
+ export interface PageInfo {
17
+ currentPage: number;
18
+ pagesCount: number;
19
+ nextPage: number;
20
+ recordsCount: number;
21
+ perPage: number;
22
+ }
23
+ export interface Page<T> {
24
+ records: T[];
25
+ pageInfo: PageInfo;
26
+ }
27
+ export interface IDashboardRepository {
28
+ }
29
+ export interface IRepository<T extends Document> {
30
+ findById(id: any): Promise<T | null>;
31
+ findOne(queryOptions?: IQueryOptions): Promise<T | null>;
32
+ findMany(queryOptions?: IQueryOptions): Promise<T[]>;
33
+ count(filterOptions: any): Promise<number>;
34
+ save(props: any): Promise<SaveResult<T>>;
35
+ saveAll(props: any[]): Promise<any>;
36
+ findByIdAndUpdate(id: any, props: any): Promise<T | null>;
37
+ findOneAndUpdate(filter: any, props: any, options?: any): Promise<T | null>;
38
+ remove(filterOptions: any): Promise<T | null>;
39
+ distinct(field: string, filterOptions: any): Promise<T[] | null>;
40
+ paginate(queryOptions: IQueryOptions): Promise<Page<T>>;
41
+ update(instance: T, props: any): Promise<SaveResult<T>>;
42
+ saveInstance(instance: T): Promise<SaveResult<T>>;
43
+ }
44
+ export default class Repository<T extends Document> implements IRepository<T>, IDashboardRepository {
45
+ protected model: Model<T>;
46
+ private static NO_NEXT_PAGE;
47
+ constructor(model: Model<T>);
48
+ findById(id: any): Promise<T | null>;
49
+ findOne(queryOptions?: IQueryOptions): Promise<T | null>;
50
+ findMany(queryOptions: IQueryOptions): Promise<T[]>;
51
+ paginate(queryOptions: IQueryOptions): Promise<Page<T>>;
52
+ private getLimit;
53
+ private getSkip;
54
+ toLimitSkip(paginateParams: PaginateParams): [number, number];
55
+ protected createPageInfo(filter: any, skip: number, limit: number): Promise<PageInfo>;
56
+ protected createPageInfoFromAggregate(aggregate: Aggregate<any[]>, skip: number, limit: number): Promise<PageInfo>;
57
+ count(filter: any): Promise<number>;
58
+ countAggregate(aggregate: Aggregate<any[]>): Promise<number>;
59
+ update(instance: T, props: any): Promise<SaveResult<T>>;
60
+ save(props: any): Promise<SaveResult<T>>;
61
+ saveInstance(instance: T): Promise<SaveResult<T>>;
62
+ saveAll(props: any[]): Promise<any>;
63
+ findByIdAndUpdate(id: any, props: any): Promise<T | null>;
64
+ findOneAndUpdate(filter: any, props: any): Promise<T | null>;
65
+ remove(filter: any): Promise<T | null>;
66
+ distinct(field: string, filter: any): Promise<T[] | null>;
67
+ }
68
+ export {};