identity-admin 1.26.3 → 1.26.4

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 (157) hide show
  1. package/README.md +126 -126
  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 +8 -8
  17. package/lib/controllers/ActionController.js +91 -79
  18. package/lib/controllers/DashboardController.d.ts +43 -43
  19. package/lib/controllers/DashboardController.js +730 -695
  20. package/lib/controllers/ResourceController.d.ts +15 -15
  21. package/lib/controllers/ResourceController.js +134 -134
  22. package/lib/helpers/ActionsGenerator.d.ts +11 -11
  23. package/lib/helpers/ActionsGenerator.js +179 -179
  24. package/lib/helpers/FiltersHelper.d.ts +9 -9
  25. package/lib/helpers/FiltersHelper.js +113 -113
  26. package/lib/helpers/LocalesHelper.d.ts +4 -4
  27. package/lib/helpers/LocalesHelper.js +73 -73
  28. package/lib/helpers/LocalizedStringHelper.d.ts +9 -9
  29. package/lib/helpers/LocalizedStringHelper.js +57 -57
  30. package/lib/helpers/Permissions/PermissionFetcher.d.ts +7 -7
  31. package/lib/helpers/Permissions/PermissionFetcher.js +78 -78
  32. package/lib/helpers/Permissions/PermissionLabel.d.ts +2 -2
  33. package/lib/helpers/Permissions/PermissionLabel.js +42 -42
  34. package/lib/helpers/Permissions/PermissionMapper.d.ts +13 -13
  35. package/lib/helpers/Permissions/PermissionMapper.js +35 -35
  36. package/lib/helpers/Permissions/PermissionResource.d.ts +5 -5
  37. package/lib/helpers/Permissions/PermissionResource.js +31 -31
  38. package/lib/helpers/Permissions/PermissionSavingService.d.ts +13 -13
  39. package/lib/helpers/Permissions/PermissionSavingService.js +32 -32
  40. package/lib/helpers/Permissions/SavePermissionGroup.d.ts +6 -6
  41. package/lib/helpers/Permissions/SavePermissionGroup.js +32 -32
  42. package/lib/helpers/Permissions/UpdatePermissionGroup.d.ts +6 -6
  43. package/lib/helpers/Permissions/UpdatePermissionGroup.js +50 -50
  44. package/lib/helpers/Permissions/types.d.ts +17 -17
  45. package/lib/helpers/Permissions/types.js +2 -2
  46. package/lib/helpers/PopulationHelper.d.ts +12 -12
  47. package/lib/helpers/PopulationHelper.js +50 -50
  48. package/lib/helpers/ReportsGenerator.d.ts +11 -11
  49. package/lib/helpers/ReportsGenerator.js +57 -57
  50. package/lib/helpers/ResourceGenerator.d.ts +9 -9
  51. package/lib/helpers/ResourceGenerator.js +172 -172
  52. package/lib/helpers/ResourceHelper.d.ts +28 -28
  53. package/lib/helpers/ResourceHelper.js +395 -393
  54. package/lib/helpers/RportsGenerator.d.ts +10 -10
  55. package/lib/helpers/RportsGenerator.js +21 -21
  56. package/lib/helpers/SchemaGenerator.d.ts +5 -5
  57. package/lib/helpers/SchemaGenerator.js +97 -97
  58. package/lib/helpers/SchemaHelper.d.ts +5 -5
  59. package/lib/helpers/SchemaHelper.js +21 -21
  60. package/lib/helpers/UserActionsLog/UserActionsLogHelper.d.ts +2 -0
  61. package/lib/helpers/UserActionsLog/UserActionsLogHelper.js +49 -0
  62. package/lib/locales/en.json +53 -53
  63. package/lib/middlewares/cache/decorator.d.ts +3 -3
  64. package/lib/middlewares/cache/decorator.js +60 -60
  65. package/lib/middlewares/cache/deletionMethods.d.ts +3 -3
  66. package/lib/middlewares/cache/deletionMethods.js +23 -23
  67. package/lib/middlewares/isAuth.d.ts +13 -13
  68. package/lib/middlewares/isAuth.js +43 -43
  69. package/lib/models/ModelNames.d.ts +8 -7
  70. package/lib/models/ModelNames.js +11 -10
  71. package/lib/models/adminpermission/AdminPermission.d.ts +6 -6
  72. package/lib/models/adminpermission/AdminPermission.js +23 -23
  73. package/lib/models/adminpermission/IAdminPermission.d.ts +13 -13
  74. package/lib/models/adminpermission/IAdminPermission.js +2 -2
  75. package/lib/models/customPage/CustomPage.d.ts +2 -2
  76. package/lib/models/customPage/CustomPage.js +38 -38
  77. package/lib/models/customPage/ICustomPage.d.ts +17 -17
  78. package/lib/models/customPage/ICustomPage.js +2 -2
  79. package/lib/models/file/File.d.ts +2 -2
  80. package/lib/models/file/File.js +23 -23
  81. package/lib/models/file/IFile.d.ts +15 -15
  82. package/lib/models/file/IFile.js +2 -2
  83. package/lib/models/location/ILocation.d.ts +14 -14
  84. package/lib/models/location/ILocation.js +2 -2
  85. package/lib/models/location/Location.d.ts +2 -2
  86. package/lib/models/location/Location.js +21 -21
  87. package/lib/models/modelConfiguration/IModelConfigurations.d.ts +29 -29
  88. package/lib/models/modelConfiguration/IModelConfigurations.js +2 -2
  89. package/lib/models/modelConfiguration/ModelConfiguration.d.ts +13 -13
  90. package/lib/models/modelConfiguration/ModelConfiguration.js +95 -95
  91. package/lib/models/permission/IPermission.d.ts +14 -14
  92. package/lib/models/permission/IPermission.js +2 -2
  93. package/lib/models/permission/Permission.d.ts +2 -2
  94. package/lib/models/permission/Permission.js +21 -21
  95. package/lib/models/request-log/IRequestLog.d.ts +22 -22
  96. package/lib/models/request-log/IRequestLog.js +2 -2
  97. package/lib/models/request-log/RequestLog.d.ts +3 -3
  98. package/lib/models/request-log/RequestLog.js +51 -51
  99. package/lib/models/userActionsLog/IUserActionsLog.d.ts +24 -0
  100. package/lib/models/userActionsLog/IUserActionsLog.js +9 -0
  101. package/lib/models/userActionsLog/UserActionsLog.d.ts +3 -0
  102. package/lib/models/userActionsLog/UserActionsLog.js +41 -0
  103. package/lib/pdf/ReportTemplate.d.ts +71 -71
  104. package/lib/pdf/ReportTemplate.js +94 -94
  105. package/lib/repositories/DashboardRepository.d.ts +5 -5
  106. package/lib/repositories/DashboardRepository.js +12 -12
  107. package/lib/repositories/Repository.d.ts +68 -68
  108. package/lib/repositories/Repository.js +212 -212
  109. package/lib/repositories/RequestLogRepository.d.ts +10 -10
  110. package/lib/repositories/RequestLogRepository.js +54 -54
  111. package/lib/repositories/SaveResult.d.ts +14 -14
  112. package/lib/repositories/SaveResult.js +18 -18
  113. package/lib/router/index.d.ts +8 -8
  114. package/lib/router/index.js +104 -104
  115. package/lib/types/DashbordConfig.d.ts +21 -21
  116. package/lib/types/DashbordConfig.js +2 -2
  117. package/lib/types/IConfigurationFile.d.ts +9 -9
  118. package/lib/types/IConfigurationFile.js +2 -2
  119. package/lib/types/IResourceFile.d.ts +643 -633
  120. package/lib/types/IResourceFile.js +2 -2
  121. package/lib/types/IResourceResponse.d.ts +95 -95
  122. package/lib/types/IResourceResponse.js +2 -2
  123. package/lib/types/helpers.d.ts +61 -61
  124. package/lib/types/helpers.js +71 -71
  125. package/lib/utils/ResourceUtils.d.ts +2 -2
  126. package/lib/utils/ResourceUtils.js +7 -7
  127. package/lib/utils/ResponseUtils.d.ts +11 -11
  128. package/lib/utils/ResponseUtils.js +41 -41
  129. package/lib/utils/StringUtils.d.ts +9 -9
  130. package/lib/utils/StringUtils.js +46 -46
  131. package/lib/view/asset-manifest.json +18 -18
  132. package/lib/view/assets/icons/delete_icon.svg +3 -3
  133. package/lib/view/assets/icons/flags/ic_flag_cn.svg +9 -9
  134. package/lib/view/assets/icons/flags/ic_flag_sa.svg +9 -9
  135. package/lib/view/assets/icons/flags/ic_flag_vn.svg +9 -9
  136. package/lib/view/assets/icons/info_icon.svg +3 -3
  137. package/lib/view/assets/icons/navbar/ic_banking.svg +5 -5
  138. package/lib/view/assets/icons/navbar/ic_invoice.svg +4 -4
  139. package/lib/view/assets/icons/navbar/ic_kanban.svg +7 -7
  140. package/lib/view/assets/icons/navbar/ic_menu_item.svg +8 -8
  141. package/lib/view/assets/icons/small_info_icon.svg +3 -3
  142. package/lib/view/assets/illustrations/Group 16.svg +4 -4
  143. package/lib/view/assets/illustrations/logo.svg +5 -5
  144. package/lib/view/favicon/browserconfig.xml +9 -9
  145. package/lib/view/favicon/safari-pinned-tab.svg +182 -182
  146. package/lib/view/favicon/site.webmanifest +19 -19
  147. package/lib/view/fonts/index.css +18 -18
  148. package/lib/view/index.html +52 -52
  149. package/lib/view/manifest.json +20 -20
  150. package/lib/view/robots.txt +3 -3
  151. package/lib/view/static/css/main.54de06ef.css +1 -1
  152. package/lib/view/static/js/574.778b5963.chunk.js +1 -1
  153. package/lib/view/static/js/678.521704a3.chunk.js +1 -1
  154. package/lib/view/static/js/798.54856416.chunk.js +1 -1
  155. package/lib/view/static/js/main.4687f255.js +2 -2
  156. package/lib/view/static/js/main.4687f255.js.LICENSE.txt +214 -214
  157. package/package.json +61 -59
@@ -1,29 +1,29 @@
1
- import { Document, Model, Types } from 'mongoose';
2
- import { RowArrangeType, RowsPerPageOptions } from './ModelConfiguration';
3
- export interface IModelConfigurationActions {
4
- new?: boolean;
5
- edit?: boolean;
6
- show?: boolean;
7
- delete?: boolean;
8
- bulkDelete?: boolean;
9
- }
10
- export interface IModelConfigurationProps {
11
- _id?: Types.ObjectId;
12
- modelName: string;
13
- title?: string;
14
- defaultOrderBy?: string;
15
- defaultOrder?: RowArrangeType;
16
- defaultrowsPerPage?: RowsPerPageOptions;
17
- actions?: IModelConfigurationActions;
18
- listProperties?: string[];
19
- showProperties?: string[];
20
- filterProperties?: string[];
21
- quickFilterProperties?: string[];
22
- }
23
- export interface IModelConfigurationDocument extends IModelConfigurationProps, Document {
24
- _id: Types.ObjectId;
25
- createdAt: Date;
26
- updatedAt: Date;
27
- }
28
- export default interface IModelConfigurationModel extends Model<IModelConfigurationDocument> {
29
- }
1
+ import { Document, Model, Types } from 'mongoose';
2
+ import { RowArrangeType, RowsPerPageOptions } from './ModelConfiguration';
3
+ export interface IModelConfigurationActions {
4
+ new?: boolean;
5
+ edit?: boolean;
6
+ show?: boolean;
7
+ delete?: boolean;
8
+ bulkDelete?: boolean;
9
+ }
10
+ export interface IModelConfigurationProps {
11
+ _id?: Types.ObjectId;
12
+ modelName: string;
13
+ title?: string;
14
+ defaultOrderBy?: string;
15
+ defaultOrder?: RowArrangeType;
16
+ defaultrowsPerPage?: RowsPerPageOptions;
17
+ actions?: IModelConfigurationActions;
18
+ listProperties?: string[];
19
+ showProperties?: string[];
20
+ filterProperties?: string[];
21
+ quickFilterProperties?: string[];
22
+ }
23
+ export interface IModelConfigurationDocument extends IModelConfigurationProps, Document {
24
+ _id: Types.ObjectId;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ }
28
+ export default interface IModelConfigurationModel extends Model<IModelConfigurationDocument> {
29
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +1,13 @@
1
- import { Schema, SchemaOptions } from "mongoose";
2
- export declare enum RowArrangeType {
3
- ASCENDING = "asc",
4
- DESCENDING = "desc"
5
- }
6
- export declare enum RowsPerPageOptions {
7
- FIVE = "5",
8
- TEN = "10",
9
- TWENTY_FIVE = "25",
10
- FIFTY = "50",
11
- ONE_HUNDRED = "100"
12
- }
13
- export declare function getModelConfiguartionSchema(schemaOptions: SchemaOptions): Schema;
1
+ import { Schema, SchemaOptions } from "mongoose";
2
+ export declare enum RowArrangeType {
3
+ ASCENDING = "asc",
4
+ DESCENDING = "desc"
5
+ }
6
+ export declare enum RowsPerPageOptions {
7
+ FIVE = "5",
8
+ TEN = "10",
9
+ TWENTY_FIVE = "25",
10
+ FIFTY = "50",
11
+ ONE_HUNDRED = "100"
12
+ }
13
+ export declare function getModelConfiguartionSchema(schemaOptions: SchemaOptions): Schema;
@@ -1,95 +1,95 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getModelConfiguartionSchema = exports.RowsPerPageOptions = exports.RowArrangeType = void 0;
4
- const mongoose_1 = require("mongoose");
5
- var RowArrangeType;
6
- (function (RowArrangeType) {
7
- RowArrangeType["ASCENDING"] = "asc";
8
- RowArrangeType["DESCENDING"] = "desc";
9
- })(RowArrangeType = exports.RowArrangeType || (exports.RowArrangeType = {}));
10
- var RowsPerPageOptions;
11
- (function (RowsPerPageOptions) {
12
- RowsPerPageOptions["FIVE"] = "5";
13
- RowsPerPageOptions["TEN"] = "10";
14
- RowsPerPageOptions["TWENTY_FIVE"] = "25";
15
- RowsPerPageOptions["FIFTY"] = "50";
16
- RowsPerPageOptions["ONE_HUNDRED"] = "100";
17
- })(RowsPerPageOptions = exports.RowsPerPageOptions || (exports.RowsPerPageOptions = {}));
18
- const ActionSchema = new mongoose_1.Schema({
19
- new: {
20
- type: Boolean,
21
- required: true,
22
- },
23
- edit: {
24
- type: Boolean,
25
- required: true,
26
- },
27
- show: {
28
- type: Boolean,
29
- required: false,
30
- },
31
- delete: {
32
- type: Boolean,
33
- required: false,
34
- },
35
- bulkDelete: {
36
- type: Boolean,
37
- required: false,
38
- },
39
- }, { _id: false });
40
- function getModelConfiguartionSchema(schemaOptions) {
41
- return new mongoose_1.Schema({
42
- modelName: {
43
- type: String,
44
- required: true,
45
- },
46
- title: {
47
- type: String,
48
- required: false,
49
- },
50
- defaultOrderBy: {
51
- type: String,
52
- required: false,
53
- },
54
- defaultOrder: {
55
- type: String,
56
- enum: Object.values(RowArrangeType),
57
- default: RowArrangeType.DESCENDING,
58
- required: false,
59
- },
60
- defaultrowsPerPage: {
61
- type: String,
62
- enum: Object.values(RowsPerPageOptions),
63
- required: false,
64
- },
65
- actions: {
66
- type: ActionSchema,
67
- required: false
68
- },
69
- listProperties: [
70
- {
71
- type: String,
72
- required: false,
73
- },
74
- ],
75
- showProperties: [
76
- {
77
- type: String,
78
- required: false,
79
- },
80
- ],
81
- filterProperties: [
82
- {
83
- type: String,
84
- required: false,
85
- },
86
- ],
87
- quickFilterProperties: [
88
- {
89
- type: String,
90
- required: false,
91
- },
92
- ],
93
- }, schemaOptions);
94
- }
95
- exports.getModelConfiguartionSchema = getModelConfiguartionSchema;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getModelConfiguartionSchema = exports.RowsPerPageOptions = exports.RowArrangeType = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ var RowArrangeType;
6
+ (function (RowArrangeType) {
7
+ RowArrangeType["ASCENDING"] = "asc";
8
+ RowArrangeType["DESCENDING"] = "desc";
9
+ })(RowArrangeType = exports.RowArrangeType || (exports.RowArrangeType = {}));
10
+ var RowsPerPageOptions;
11
+ (function (RowsPerPageOptions) {
12
+ RowsPerPageOptions["FIVE"] = "5";
13
+ RowsPerPageOptions["TEN"] = "10";
14
+ RowsPerPageOptions["TWENTY_FIVE"] = "25";
15
+ RowsPerPageOptions["FIFTY"] = "50";
16
+ RowsPerPageOptions["ONE_HUNDRED"] = "100";
17
+ })(RowsPerPageOptions = exports.RowsPerPageOptions || (exports.RowsPerPageOptions = {}));
18
+ const ActionSchema = new mongoose_1.Schema({
19
+ new: {
20
+ type: Boolean,
21
+ required: true,
22
+ },
23
+ edit: {
24
+ type: Boolean,
25
+ required: true,
26
+ },
27
+ show: {
28
+ type: Boolean,
29
+ required: false,
30
+ },
31
+ delete: {
32
+ type: Boolean,
33
+ required: false,
34
+ },
35
+ bulkDelete: {
36
+ type: Boolean,
37
+ required: false,
38
+ },
39
+ }, { _id: false });
40
+ function getModelConfiguartionSchema(schemaOptions) {
41
+ return new mongoose_1.Schema({
42
+ modelName: {
43
+ type: String,
44
+ required: true,
45
+ },
46
+ title: {
47
+ type: String,
48
+ required: false,
49
+ },
50
+ defaultOrderBy: {
51
+ type: String,
52
+ required: false,
53
+ },
54
+ defaultOrder: {
55
+ type: String,
56
+ enum: Object.values(RowArrangeType),
57
+ default: RowArrangeType.DESCENDING,
58
+ required: false,
59
+ },
60
+ defaultrowsPerPage: {
61
+ type: String,
62
+ enum: Object.values(RowsPerPageOptions),
63
+ required: false,
64
+ },
65
+ actions: {
66
+ type: ActionSchema,
67
+ required: false
68
+ },
69
+ listProperties: [
70
+ {
71
+ type: String,
72
+ required: false,
73
+ },
74
+ ],
75
+ showProperties: [
76
+ {
77
+ type: String,
78
+ required: false,
79
+ },
80
+ ],
81
+ filterProperties: [
82
+ {
83
+ type: String,
84
+ required: false,
85
+ },
86
+ ],
87
+ quickFilterProperties: [
88
+ {
89
+ type: String,
90
+ required: false,
91
+ },
92
+ ],
93
+ }, schemaOptions);
94
+ }
95
+ exports.getModelConfiguartionSchema = getModelConfiguartionSchema;
@@ -1,14 +1,14 @@
1
- import { Document, Model, Types } from 'mongoose';
2
- export interface IPermissionProps {
3
- _id?: Types.ObjectId;
4
- name: string;
5
- modelName: string;
6
- order: number;
7
- }
8
- export interface IPermissionDocument extends IPermissionProps, Document {
9
- _id: Types.ObjectId;
10
- createdAt: Date;
11
- updatedAt: Date;
12
- }
13
- export default interface IPermissionModel extends Model<IPermissionDocument> {
14
- }
1
+ import { Document, Model, Types } from 'mongoose';
2
+ export interface IPermissionProps {
3
+ _id?: Types.ObjectId;
4
+ name: string;
5
+ modelName: string;
6
+ order: number;
7
+ }
8
+ export interface IPermissionDocument extends IPermissionProps, Document {
9
+ _id: Types.ObjectId;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ }
13
+ export default interface IPermissionModel extends Model<IPermissionDocument> {
14
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +1,2 @@
1
- import { Schema } from "mongoose";
2
- export declare function getPermissionSchema(): Schema;
1
+ import { Schema } from "mongoose";
2
+ export declare function getPermissionSchema(): Schema;
@@ -1,21 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPermissionSchema = void 0;
4
- const mongoose_1 = require("mongoose");
5
- function getPermissionSchema() {
6
- return new mongoose_1.Schema({
7
- name: {
8
- type: String,
9
- required: true,
10
- },
11
- modelName: {
12
- type: String,
13
- required: true,
14
- },
15
- order: {
16
- type: Number,
17
- required: true,
18
- },
19
- }, { timestamps: true });
20
- }
21
- exports.getPermissionSchema = getPermissionSchema;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPermissionSchema = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ function getPermissionSchema() {
6
+ return new mongoose_1.Schema({
7
+ name: {
8
+ type: String,
9
+ required: true,
10
+ },
11
+ modelName: {
12
+ type: String,
13
+ required: true,
14
+ },
15
+ order: {
16
+ type: Number,
17
+ required: true,
18
+ },
19
+ }, { timestamps: true });
20
+ }
21
+ exports.getPermissionSchema = getPermissionSchema;
@@ -1,22 +1,22 @@
1
- import { Document, Model, Types } from 'mongoose';
2
- export interface IRequestLogProps {
3
- _id?: Types.ObjectId;
4
- method: string;
5
- endpoint: string;
6
- url: string;
7
- startTime: Date;
8
- durationInMilliseconds: number;
9
- query: string;
10
- body: string;
11
- userAgent?: string;
12
- headers?: string;
13
- status?: number;
14
- message?: string;
15
- }
16
- export interface IRequestLogDocument extends IRequestLogProps, Document {
17
- _id: Types.ObjectId;
18
- createdAt: Date;
19
- updatedAt: Date;
20
- }
21
- export default interface IRequestLogModel extends Model<IRequestLogDocument> {
22
- }
1
+ import { Document, Model, Types } from 'mongoose';
2
+ export interface IRequestLogProps {
3
+ _id?: Types.ObjectId;
4
+ method: string;
5
+ endpoint: string;
6
+ url: string;
7
+ startTime: Date;
8
+ durationInMilliseconds: number;
9
+ query: string;
10
+ body: string;
11
+ userAgent?: string;
12
+ headers?: string;
13
+ status?: number;
14
+ message?: string;
15
+ }
16
+ export interface IRequestLogDocument extends IRequestLogProps, Document {
17
+ _id: Types.ObjectId;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ }
21
+ export default interface IRequestLogModel extends Model<IRequestLogDocument> {
22
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,3 @@
1
- import IRequestLogModel from './IRequestLog';
2
- declare const RequestLog: IRequestLogModel;
3
- export default RequestLog;
1
+ import IRequestLogModel from './IRequestLog';
2
+ declare const RequestLog: IRequestLogModel;
3
+ export default RequestLog;
@@ -1,51 +1,51 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const SchemaHelper_1 = __importDefault(require("../../helpers/SchemaHelper"));
7
- const mongoose_1 = require("mongoose");
8
- const ModelNames_1 = __importDefault(require("../ModelNames"));
9
- // belongs_to User
10
- const RequestLogSchema = new mongoose_1.Schema({
11
- method: {
12
- type: String
13
- },
14
- endpoint: {
15
- type: String
16
- },
17
- url: {
18
- type: String
19
- },
20
- startTime: {
21
- type: Date
22
- },
23
- durationInMilliseconds: {
24
- type: Number
25
- },
26
- userId: {
27
- type: mongoose_1.Schema.Types.ObjectId,
28
- default: null
29
- },
30
- query: {
31
- type: String
32
- },
33
- body: {
34
- type: String
35
- },
36
- userAgent: {
37
- type: String
38
- },
39
- headers: {
40
- type: String
41
- },
42
- message: {
43
- type: String
44
- },
45
- status: {
46
- type: Number
47
- }
48
- }, { timestamps: true });
49
- SchemaHelper_1.default.belongsTo(RequestLogSchema, ModelNames_1.default.User);
50
- const RequestLog = (0, mongoose_1.model)(ModelNames_1.default.RequestLog, RequestLogSchema);
51
- exports.default = RequestLog;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const SchemaHelper_1 = __importDefault(require("../../helpers/SchemaHelper"));
7
+ const mongoose_1 = require("mongoose");
8
+ const ModelNames_1 = __importDefault(require("../ModelNames"));
9
+ // belongs_to User
10
+ const RequestLogSchema = new mongoose_1.Schema({
11
+ method: {
12
+ type: String
13
+ },
14
+ endpoint: {
15
+ type: String
16
+ },
17
+ url: {
18
+ type: String
19
+ },
20
+ startTime: {
21
+ type: Date
22
+ },
23
+ durationInMilliseconds: {
24
+ type: Number
25
+ },
26
+ userId: {
27
+ type: mongoose_1.Schema.Types.ObjectId,
28
+ default: null
29
+ },
30
+ query: {
31
+ type: String
32
+ },
33
+ body: {
34
+ type: String
35
+ },
36
+ userAgent: {
37
+ type: String
38
+ },
39
+ headers: {
40
+ type: String
41
+ },
42
+ message: {
43
+ type: String
44
+ },
45
+ status: {
46
+ type: Number
47
+ }
48
+ }, { timestamps: true });
49
+ SchemaHelper_1.default.belongsTo(RequestLogSchema, ModelNames_1.default.User);
50
+ const RequestLog = (0, mongoose_1.model)(ModelNames_1.default.RequestLog, RequestLogSchema);
51
+ exports.default = RequestLog;
@@ -0,0 +1,24 @@
1
+ import { Document, Model, Types } from 'mongoose';
2
+ export declare enum UserActions {
3
+ CREATE = "create",
4
+ EDIT = "edit",
5
+ DELETE = "delete"
6
+ }
7
+ export interface IUserActionsLogProps {
8
+ _id?: Types.ObjectId;
9
+ userId: Types.ObjectId;
10
+ action: string;
11
+ modelName: string;
12
+ dataBefore?: string;
13
+ dataAfter?: string;
14
+ resourceId?: Types.ObjectId;
15
+ changes?: string;
16
+ user?: any;
17
+ }
18
+ export interface IUserActionsLogDocument extends IUserActionsLogProps, Document {
19
+ _id: Types.ObjectId;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ }
23
+ export default interface IUserActionsLogModel extends Model<IUserActionsLogDocument> {
24
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserActions = void 0;
4
+ var UserActions;
5
+ (function (UserActions) {
6
+ UserActions["CREATE"] = "create";
7
+ UserActions["EDIT"] = "edit";
8
+ UserActions["DELETE"] = "delete";
9
+ })(UserActions = exports.UserActions || (exports.UserActions = {}));
@@ -0,0 +1,3 @@
1
+ import IUserActionsLogModel from "./IUserActionsLog";
2
+ declare const UserActionsLog: IUserActionsLogModel;
3
+ export default UserActionsLog;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mongoose_1 = require("mongoose");
7
+ const ModelNames_1 = __importDefault(require("../ModelNames"));
8
+ const deep_diff_1 = require("deep-diff");
9
+ const UserActionsLogHelper_1 = require("../../helpers/UserActionsLog/UserActionsLogHelper");
10
+ const UserActionsLogSchema = new mongoose_1.Schema({
11
+ userId: {
12
+ type: mongoose_1.Schema.Types.ObjectId,
13
+ required: true,
14
+ },
15
+ action: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ modelName: {
20
+ type: String,
21
+ required: true,
22
+ },
23
+ dataBefore: {
24
+ type: String,
25
+ },
26
+ dataAfter: {
27
+ type: String,
28
+ },
29
+ resourceId: {
30
+ type: mongoose_1.Schema.Types.ObjectId,
31
+ refPath: 'modelName'
32
+ }
33
+ }, { timestamps: true, toJSON: { virtuals: true }, toObject: { virtuals: true } });
34
+ UserActionsLogSchema.virtual('changes').get(function () {
35
+ const deepDiff_changes = (0, deep_diff_1.diff)(this.dataBefore ? JSON.parse(this.dataBefore) : undefined, this.dataAfter ? JSON.parse(this.dataAfter) : undefined);
36
+ let changes = '';
37
+ deepDiff_changes === null || deepDiff_changes === void 0 ? void 0 : deepDiff_changes.forEach((diff) => (changes += (0, UserActionsLogHelper_1.isRelevant)(diff) ? `${(0, UserActionsLogHelper_1.renderDiff)(diff)}\n` : ''));
38
+ return changes;
39
+ });
40
+ const UserActionsLog = (0, mongoose_1.model)(ModelNames_1.default.UserActionsLog, UserActionsLogSchema);
41
+ exports.default = UserActionsLog;