@aldb2b/common 1.0.571 → 1.0.573

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 (43) hide show
  1. package/build/db/mongoose-find-options.js.map +1 -1
  2. package/build/entities/entities.module.js +2 -2
  3. package/build/entities/entities.module.js.map +1 -1
  4. package/build/entities/models/common/common.provider.d.ts +6 -10
  5. package/build/entities/models/common/common.provider.js +9 -11
  6. package/build/entities/models/common/common.provider.js.map +1 -1
  7. package/build/entities/models/common/controllers/audit-trail.controller.d.ts +10 -0
  8. package/build/entities/models/common/controllers/{audit-log.controller.js → audit-trail.controller.js} +21 -24
  9. package/build/entities/models/common/controllers/audit-trail.controller.js.map +1 -0
  10. package/build/entities/models/common/dto/{find-audit-log.dto.d.ts → find-audit-trail.dto.d.ts} +1 -1
  11. package/build/entities/models/common/dto/find-audit-trail.dto.js +8 -0
  12. package/build/entities/models/common/dto/find-audit-trail.dto.js.map +1 -0
  13. package/build/entities/models/common/entities/{audit-log.entity.d.ts → audit-trail.entity.d.ts} +12 -11
  14. package/build/entities/models/common/entities/{audit-log.entity.js → audit-trail.entity.js} +36 -35
  15. package/build/entities/models/common/entities/audit-trail.entity.js.map +1 -0
  16. package/build/entities/models/common/entities/audit-trail.repository.d.ts +7 -0
  17. package/build/entities/models/common/entities/{audit-log.repository.js → audit-trail.repository.js} +9 -9
  18. package/build/entities/models/common/entities/audit-trail.repository.js.map +1 -0
  19. package/build/entities/models/common/index.d.ts +4 -4
  20. package/build/entities/models/common/index.js +4 -4
  21. package/build/entities/models/common/index.js.map +1 -1
  22. package/build/entities/models/common/services/audit-trail.service.d.ts +23 -0
  23. package/build/entities/models/common/services/audit-trail.service.js +128 -0
  24. package/build/entities/models/common/services/audit-trail.service.js.map +1 -0
  25. package/build/entities/models/model.providers.d.ts +2 -4
  26. package/build/enums/database-model.enum.d.ts +1 -1
  27. package/build/enums/database-model.enum.js +1 -1
  28. package/build/enums/database-model.enum.js.map +1 -1
  29. package/build/enums/service-provide.enum.d.ts +1 -1
  30. package/build/enums/service-provide.enum.js +1 -1
  31. package/build/enums/service-provide.enum.js.map +1 -1
  32. package/build/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +1 -1
  34. package/build/entities/models/common/controllers/audit-log.controller.d.ts +0 -10
  35. package/build/entities/models/common/controllers/audit-log.controller.js.map +0 -1
  36. package/build/entities/models/common/dto/find-audit-log.dto.js +0 -8
  37. package/build/entities/models/common/dto/find-audit-log.dto.js.map +0 -1
  38. package/build/entities/models/common/entities/audit-log.entity.js.map +0 -1
  39. package/build/entities/models/common/entities/audit-log.repository.d.ts +0 -7
  40. package/build/entities/models/common/entities/audit-log.repository.js.map +0 -1
  41. package/build/entities/models/common/services/audit-log.service.d.ts +0 -24
  42. package/build/entities/models/common/services/audit-log.service.js +0 -148
  43. package/build/entities/models/common/services/audit-log.service.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aldb2b/common",
3
- "version": "1.0.571",
3
+ "version": "1.0.573",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -1,10 +0,0 @@
1
- import { AuditLogService } from '../services/audit-log.service';
2
- import { AuditLog } from '../entities/audit-log.entity';
3
- import { FindAuditLogDto } from '../dto/find-audit-log.dto';
4
- import { ReadResult } from '../../../../types/read-result.interface';
5
- export declare class AuditLogController {
6
- private readonly auditLogService;
7
- constructor(auditLogService: AuditLogService);
8
- getAuditLogs(findAuditLogDto: FindAuditLogDto, eventId: string): Promise<ReadResult<AuditLog>>;
9
- getAuditLogById(id: string, eventId: string): Promise<AuditLog>;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-log.controller.js","sourceRoot":"","sources":["../../../../../src/entities/models/common/controllers/audit-log.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQuB;AACvB,qEAA+D;AAC/D,wFAAiF;AAEjF,kEAA2D;AAE3D,0FAA0E;AAC1E,iFAAuE;AAIhE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAEmB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAIE,AAAN,KAAK,CAAC,YAAY,CACR,eAAgC,EAC1B,OAAe;QAE7B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CACN,EAAU,EACT,OAAe;QAE7B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAChE,CAAC;CACF,CAAA;AAvBY,gDAAkB;AAQvB;IAFL,IAAA,YAAG,GAAE;IACL,IAAA,iBAAQ,EAAC,IAAI,uBAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,mCAAU,GAAE,CAAA;;qCADY,oCAAe;;sDAIzC;AAIK;IAFL,IAAA,YAAG,EAAC,UAAU,CAAC;IACf,IAAA,iBAAQ,EAAC,IAAI,uBAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,mCAAU,GAAE,CAAA;;;;yDAGd;6BAtBU,kBAAkB;IAF9B,IAAA,wCAAiB,GAAE;IACnB,IAAA,mBAAU,EAAC,WAAW,CAAC;IAGnB,WAAA,IAAA,eAAM,EAAC,qCAAc,CAAC,iBAAiB,CAAC,CAAA;qCACP,mCAAe;GAHxC,kBAAkB,CAuB9B"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FindAuditLogDto = void 0;
4
- const mongoose_find_options_1 = require("../../../../db/mongoose-find-options");
5
- class FindAuditLogDto extends mongoose_find_options_1.MongooseFindOptions {
6
- }
7
- exports.FindAuditLogDto = FindAuditLogDto;
8
- //# sourceMappingURL=find-audit-log.dto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-audit-log.dto.js","sourceRoot":"","sources":["../../../../../src/entities/models/common/dto/find-audit-log.dto.ts"],"names":[],"mappings":";;;AAAA,gFAA0E;AAE1E,MAAa,eAAgB,SAAQ,2CAAmB;CAAG;AAA3D,0CAA2D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-log.entity.js","sourceRoot":"","sources":["../../../../../src/entities/models/common/entities/audit-log.entity.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAG7C,4EAAwE;AACxE,kFAA8E;AAC9E,8FAA0F;AAE1F,mEAA6D;AAC7D,MAAM,QAAQ,GAAG,iBAAM,CAAC,KAAK,CAAC,QAAQ,CAAA;AACtC,MAAM,KAAK,GAAG,iBAAM,CAAC,KAAK,CAAC,KAAK,CAAA;AAEhC,MAAa,QAAQ;CAYpB;AAZD,4BAYC;AAGM,MAAM,eAAe,GAAG,CAC7B,UAAsB,EACtB,eAA2B,EAC3B,cAA0B,EAC1B,EAAE;IACF,MAAM,cAAc,GAAG,IAAI,iBAAM,CAA0B;QACzD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,IAAA,2BAAW,EAAC,OAAO,EAAE,eAAe,CAAC;SAC3C;QACD,WAAW,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;SACX;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,IAAA,2BAAW,EAAC,MAAM,EAAE,cAAc,CAAC;SACzC;QACD,aAAa,EAAE;YACb,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;SACX;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;SACX;QACD,aAAa,EAAE;YACb,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;SACX;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;SACf;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;KAC7D,CAAC,CAAA;IAEF,MAAM,uBAAuB,GAAG;QAC9B,KAAK;QACL,SAAS;QACT,OAAO;QACP,cAAc;QACd,WAAW;QACX,eAAe;QACf,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,aAAa;QACb,WAAW;KACZ,CAAA;IAED,MAAM,4BAA4B,GAAG;QACnC,KAAK;QACL,SAAS;QACT,OAAO;QACP,cAAc;QACd,WAAW;QACX,eAAe;QACf,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,aAAa;QACb,WAAW;KACZ,CAAA;IAED,cAAc,CAAC,OAAO,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CACzE,IAAA,mDAAwB,EAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAA;IAE3E,cAAc,CAAC,OAAO,CAAC,kBAAkB,GAAG,wBAAwB,CAAC,EAAE,CACrE,IAAA,uCAAkB,EAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAA;IAEvE,cAAc,CAAC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CACpD,IAAA,iCAAe,EAAC,4BAA4B,EAAE,UAAU,CAAC,CAAA;IAE3D,OAAO,UAAU,CAAC,KAAK,CAAW,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE;QAClE,eAAe,EAAE,IAAI;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAtFY,QAAA,eAAe,mBAsF3B"}
@@ -1,7 +0,0 @@
1
- import { AuditLog } from './audit-log.entity';
2
- import { CustomModel } from '../../../../db/CustomModel';
3
- import { MongooseBase } from '../../../../db/MongooseBase';
4
- export declare class AuditLogRepository extends MongooseBase<AuditLog> {
5
- private auditLogModel;
6
- constructor(auditLogModel: CustomModel<AuditLog>);
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-log.repository.js","sourceRoot":"","sources":["../../../../../src/entities/models/common/entities/audit-log.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4DAAwD;AACxD,8DAA0D;AAC1D,2CAA2C;AAGpC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAAsB;IAC5D,YAAoB,aAAoC;QACtD,KAAK,CAAC,aAAa,CAAC,CAAA;QADF,kBAAa,GAAb,aAAa,CAAuB;IAExD,CAAC;CACF,CAAA;AAJY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAEwB,yBAAW;GADnC,kBAAkB,CAI9B"}
@@ -1,24 +0,0 @@
1
- import { User } from '../../users';
2
- import { CustomModel } from '../../../../db/CustomModel';
3
- import { AuditLog } from '../entities/audit-log.entity';
4
- import { AuditLogRepository } from '../entities/audit-log.repository';
5
- import { FindAuditLogDto } from '../dto/find-audit-log.dto';
6
- import { ReadResult } from '../../../../types/read-result.interface';
7
- export declare class AuditLogService {
8
- private readonly req;
9
- private readonly auditLogRepository;
10
- private readonly userModel;
11
- requesterData: User;
12
- constructor(req: Request, auditLogRepository: AuditLogRepository, userModel: CustomModel<User>);
13
- getAuditLogs(findAuditLogDto: FindAuditLogDto, eventId: string): Promise<ReadResult<AuditLog>>;
14
- getAuditLogById(id: string, eventId: string): Promise<AuditLog>;
15
- create(requestInfo: any, actionName: string, module: string, enrichByTool?: boolean, requestDesc?: string, requester?: string): Promise<void>;
16
- private getRequestDetails;
17
- private getRequesterData;
18
- get eventId(): string;
19
- get requestRoute(): string;
20
- get requestMethod(): string;
21
- get requestBy(): string;
22
- get requestByName(): string;
23
- private difference;
24
- }
@@ -1,148 +0,0 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AuditLogService = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const lodash_1 = require("lodash");
15
- const getHeaderParam_1 = require("../../../../utils/getHeaderParam");
16
- const CustomModel_1 = require("../../../../db/CustomModel");
17
- const audit_log_repository_1 = require("../entities/audit-log.repository");
18
- const get_parsed_query_1 = require("../../../../utils/get-parsed-query");
19
- let AuditLogService = class AuditLogService {
20
- constructor(req, auditLogRepository, userModel) {
21
- this.req = req;
22
- this.auditLogRepository = auditLogRepository;
23
- this.userModel = userModel;
24
- this.difference = (origObj, newObj) => {
25
- try {
26
- function changes(origObj, newObj) {
27
- return (0, lodash_1.transform)(newObj, function (result, value, key) {
28
- if (!(0, lodash_1.isEqual)(value, origObj[key]) &&
29
- !(0, lodash_1.isFunction)(value) &&
30
- !(0, lodash_1.isBuffer)(value)) {
31
- let resultKey = key;
32
- result[resultKey] =
33
- (0, lodash_1.isObject)(value) &&
34
- !(0, lodash_1.isDate)(value) &&
35
- !(0, lodash_1.isArray)(value) &&
36
- (0, lodash_1.isObject)(origObj[key])
37
- ? changes(value, origObj[key])
38
- : value;
39
- }
40
- });
41
- }
42
- return changes(newObj, origObj);
43
- }
44
- catch (error) {
45
- return newObj;
46
- }
47
- };
48
- }
49
- async getAuditLogs(findAuditLogDto, eventId) {
50
- findAuditLogDto.query = (0, get_parsed_query_1.getParsedQuery)(findAuditLogDto);
51
- findAuditLogDto.query['eventId'] = eventId;
52
- return await this.auditLogRepository.read(findAuditLogDto);
53
- }
54
- async getAuditLogById(id, eventId) {
55
- return await this.auditLogRepository.findOne({ _id: id, eventId: eventId }, {}, []);
56
- }
57
- async create(requestInfo, actionName, module, enrichByTool = false, requestDesc, requester) {
58
- try {
59
- const { requestMethod, requestRoute, requestBy, requestByName } = await this.getRequestDetails(requester);
60
- const LogToCreate = {
61
- requestMethod,
62
- requestRoute,
63
- requestBy,
64
- requestByName,
65
- requestIdentifier: `${module}_${actionName}`,
66
- enrichByTool: enrichByTool,
67
- requestDesc: requestDesc,
68
- };
69
- if (requestInfo && requestInfo.old && requestInfo.new) {
70
- const newRec = this.difference(requestInfo.old, requestInfo.new);
71
- requestInfo.new = newRec;
72
- requestInfo.old = requestInfo.old;
73
- if (Object.keys(newRec).length) {
74
- await this.auditLogRepository.create(LogToCreate);
75
- }
76
- }
77
- else {
78
- await this.auditLogRepository.create(LogToCreate);
79
- }
80
- }
81
- catch (error) {
82
- console.log('error: common/src/entities/models/common/services/audit-Log.service.ts', error);
83
- }
84
- }
85
- async getRequestDetails(requester) {
86
- await this.getRequesterData(requester);
87
- return {
88
- requestMethod: this.requestMethod,
89
- requestRoute: this.requestRoute,
90
- requestBy: this.requestBy,
91
- requestByName: this.requestByName,
92
- };
93
- }
94
- async getRequesterData(requester) {
95
- if (!this.req && this.userModel && requester) {
96
- this.requesterData = await this.userModel.findById(requester, {
97
- _id: 1,
98
- firstname: 1,
99
- lastname: 1,
100
- lastLoggedInEventId: 1,
101
- }, { lean: true });
102
- }
103
- }
104
- get eventId() {
105
- let eventId;
106
- if (this.req) {
107
- eventId = this.req ? (0, getHeaderParam_1.getHeaderParam)(this.req.headers, 'event-id') : null;
108
- }
109
- else if (this.requesterData) {
110
- eventId = this.requesterData.lastLoggedInEventId;
111
- }
112
- return eventId;
113
- }
114
- get requestRoute() {
115
- return this.req ? this.req.url : '';
116
- }
117
- get requestMethod() {
118
- return this.req ? this.req.method : '';
119
- }
120
- get requestBy() {
121
- let id = '';
122
- if (this.req) {
123
- id = this.req ? (0, getHeaderParam_1.getHeaderParam)(this.req.headers, 'id') : null;
124
- }
125
- else if (this.requesterData) {
126
- id = this.requesterData._id;
127
- }
128
- return id;
129
- }
130
- get requestByName() {
131
- let fullname = '';
132
- if (this.req) {
133
- fullname = `${(0, getHeaderParam_1.getHeaderParam)(this.req.headers, 'firstname')} ${(0, getHeaderParam_1.getHeaderParam)(this.req.headers, 'lastname')}`;
134
- }
135
- else if (this.requesterData) {
136
- fullname = `${this.requesterData.firstname} ${this.requesterData.lastname}`;
137
- }
138
- return fullname;
139
- }
140
- };
141
- exports.AuditLogService = AuditLogService;
142
- exports.AuditLogService = AuditLogService = __decorate([
143
- (0, common_1.Injectable)(),
144
- __metadata("design:paramtypes", [Request,
145
- audit_log_repository_1.AuditLogRepository,
146
- CustomModel_1.CustomModel])
147
- ], AuditLogService);
148
- //# sourceMappingURL=audit-log.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-log.service.js","sourceRoot":"","sources":["../../../../../src/entities/models/common/services/audit-log.service.ts"],"names":[],"mappings":"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"}