@carlonicora/nestjs-neo4jsonapi 4.16.0 → 4.16.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"audit.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/audit.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,IAC7B,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAmBlF"}
1
+ {"version":3,"file":"audit.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/audit.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAI7D;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,IAC7B,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBA+BlF"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Audit = Audit;
4
+ const common_1 = require("@nestjs/common");
5
+ const logger = new common_1.Logger("Audit");
4
6
  /**
5
7
  * Decorator that automatically logs a read audit entry after the method executes.
6
8
  *
@@ -15,10 +17,15 @@ function Audit(meta, id) {
15
17
  const req = args.find((arg) => arg?.params);
16
18
  const paramId = req?.params?.[id];
17
19
  if (paramId && this.auditService) {
18
- this.auditService.logRead({
20
+ // Fire-and-forget, but never unhandled: a rejected audit write must not crash the
21
+ // process (unhandled rejection) nor fail the request that already succeeded.
22
+ const auditService = this.auditService;
23
+ Promise.resolve()
24
+ .then(() => auditService.logRead({
19
25
  entityType: meta.labelName,
20
26
  entityId: paramId,
21
- });
27
+ }))
28
+ .catch((error) => logger.error(`Audit read failed for ${meta.labelName} ${paramId}`, error instanceof Error ? error.stack : String(error)));
22
29
  }
23
30
  return result;
24
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"audit.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/audit.decorator.ts"],"names":[],"mappings":";;AAQA,sBAoBC;AA1BD;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,IAAc,EAAE,EAAU;IAC9C,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC/E,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;YAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAElC,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;oBACxB,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,QAAQ,EAAE,OAAiB;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"audit.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/audit.decorator.ts"],"names":[],"mappings":";;AAWA,sBAgCC;AA3CD,2CAAwC;AAGxC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,IAAc,EAAE,EAAU;IAC9C,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC/E,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;YAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAElC,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,kFAAkF;gBAClF,6EAA6E;gBAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBACvC,OAAO,CAAC,OAAO,EAAE;qBACd,IAAI,CAAC,GAAG,EAAE,CACT,YAAY,CAAC,OAAO,CAAC;oBACnB,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,QAAQ,EAAE,OAAiB;iBAC5B,CAAC,CACH;qBACA,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CACxB,MAAM,CAAC,KAAK,CACV,yBAAyB,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,EACpD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACrD,CACF,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -8,7 +8,7 @@ export declare class AuditRepository implements OnModuleInit {
8
8
  onModuleInit(): Promise<void>;
9
9
  createEntry(params: {
10
10
  userId: string;
11
- companyId: string;
11
+ companyId: string | null;
12
12
  ipAddress: string;
13
13
  action: string;
14
14
  entityType: string;
@@ -20,7 +20,7 @@ export declare class AuditRepository implements OnModuleInit {
20
20
  findByEntity(params: {
21
21
  entityType: string;
22
22
  entityId: string;
23
- companyId: string;
23
+ companyId: string | null;
24
24
  cursor?: JsonApiCursorInterface;
25
25
  }): Promise<AuditLog[]>;
26
26
  findByUser(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"audit.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/audit/repositories/audit.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKpD,qBACa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,YAAY;IAYZ,WAAW,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CX,YAAY,CAAC,MAAM,EAAE;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,sBAAsB,CAAC;KACjC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwBjB,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,sBAAsB,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAiBnG"}
1
+ {"version":3,"file":"audit.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/audit/repositories/audit.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKpD,qBACa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,YAAY;IAYZ,WAAW,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CX,YAAY,CAAC,MAAM,EAAE;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,EAAE,sBAAsB,CAAC;KACjC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwBjB,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,sBAAsB,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAiBnG"}
@@ -37,7 +37,8 @@ let AuditRepository = class AuditRepository {
37
37
  ...query.queryParams,
38
38
  id: (0, crypto_1.randomUUID)(),
39
39
  userId: params.userId,
40
- companyId: params.companyId,
40
+ // Neo4j drops undefined params (ParameterMissing); users without a company (system admins) send null.
41
+ companyId: params.companyId ?? null,
41
42
  ipAddress: params.ipAddress,
42
43
  action: params.action,
43
44
  entityType: params.entityType,
@@ -78,7 +79,7 @@ let AuditRepository = class AuditRepository {
78
79
  ...query.queryParams,
79
80
  entityType: params.entityType,
80
81
  entityId: params.entityId,
81
- companyId: params.companyId,
82
+ companyId: params.companyId ?? null,
82
83
  };
83
84
  query.query = `
84
85
  MATCH (${audit_meta_1.auditLogMeta.nodeName}_user:${user_meta_1.userMeta.labelName})-[:PERFORMED]->(${audit_meta_1.auditLogMeta.nodeName}:${audit_meta_1.auditLogMeta.labelName} {
@@ -1 +1 @@
1
- {"version":3,"file":"audit.repository.js","sourceRoot":"","sources":["../../../../src/foundations/audit/repositories/audit.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.repository.js","sourceRoot":"","sources":["../../../../src/foundations/audit/repositories/audit.repository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { ClsService } from "nestjs-cls";
2
+ import { SystemRolesInterface } from "../../../common/tokens";
3
+ import { AppLoggingService } from "../../../core/logging/services/logging.service";
2
4
  import { EntityDescriptor } from "../../../common/interfaces/entity.schema.interface";
3
5
  import { JsonApiService } from "../../../core/jsonapi/services/jsonapi.service";
4
6
  import { AuditRepository } from "../repositories/audit.repository";
@@ -6,7 +8,22 @@ export declare class AuditService {
6
8
  private readonly builder;
7
9
  private readonly auditRepository;
8
10
  private readonly clsService;
9
- constructor(builder: JsonApiService, auditRepository: AuditRepository, clsService: ClsService);
11
+ private readonly systemRoles?;
12
+ private readonly logger?;
13
+ constructor(builder: JsonApiService, auditRepository: AuditRepository, clsService: ClsService, systemRoles?: SystemRolesInterface, logger?: AppLoggingService);
14
+ /**
15
+ * System Administrators must never produce audit entries. Roles are read from CLS,
16
+ * where JwtAuthGuard / AdminJwtAuthGuard / OptionalJwtAuthGuard store them.
17
+ */
18
+ private isAdministrator;
19
+ /**
20
+ * Returns the current user id when the request must be audited, null otherwise.
21
+ */
22
+ private auditableUserId;
23
+ /**
24
+ * An audit failure must never fail the request or crash the process: log it and move on.
25
+ */
26
+ private safeCreateEntry;
10
27
  logCreate(params: {
11
28
  entityType: string;
12
29
  entityId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/audit/services/audit.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAEtF,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AASnE,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU;IAGnC,SAAS,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1E,OAAO,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE,SAAS,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACxC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBX,SAAS,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,GAAG,CAAC;QACd,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACxC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBX,YAAY,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAexF,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAatE,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,SAAS;CAKlB"}
1
+ {"version":3,"file":"audit.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/audit/services/audit.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAgB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAEtF,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AASnE,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAPP,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EAGtB,WAAW,CAAC,EAAE,oBAAoB,EAElC,MAAM,CAAC,EAAE,iBAAiB;IAG7C;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;YACW,eAAe;IAUvB,SAAS,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1E,OAAO,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE,SAAS,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACxC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBX,SAAS,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,GAAG,CAAC;QACd,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACxC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBX,YAAY,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAexF,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAatE,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,SAAS;CAKlB"}
@@ -8,27 +8,73 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var AuditService_1;
11
15
  Object.defineProperty(exports, "__esModule", { value: true });
12
16
  exports.AuditService = void 0;
13
17
  const common_1 = require("@nestjs/common");
14
18
  const nestjs_cls_1 = require("nestjs-cls");
19
+ const system_roles_1 = require("../../../common/constants/system.roles");
20
+ const tokens_1 = require("../../../common/tokens");
21
+ const logging_service_1 = require("../../../core/logging/services/logging.service");
15
22
  const jsonapi_paginator_1 = require("../../../core/jsonapi/serialisers/jsonapi.paginator");
16
23
  const jsonapi_service_1 = require("../../../core/jsonapi/services/jsonapi.service");
17
24
  const audit_model_1 = require("../entities/audit.model");
18
25
  const audit_repository_1 = require("../repositories/audit.repository");
19
- let AuditService = class AuditService {
20
- constructor(builder, auditRepository, clsService) {
26
+ let AuditService = AuditService_1 = class AuditService {
27
+ constructor(builder, auditRepository, clsService, systemRoles, logger) {
21
28
  this.builder = builder;
22
29
  this.auditRepository = auditRepository;
23
30
  this.clsService = clsService;
31
+ this.systemRoles = systemRoles;
32
+ this.logger = logger;
24
33
  }
25
- async logCreate(params) {
34
+ /**
35
+ * System Administrators must never produce audit entries. Roles are read from CLS,
36
+ * where JwtAuthGuard / AdminJwtAuthGuard / OptionalJwtAuthGuard store them.
37
+ */
38
+ isAdministrator() {
39
+ const roles = this.clsService.get("roles");
40
+ if (!Array.isArray(roles))
41
+ return false;
42
+ const administratorRoleId = this.systemRoles?.Administrator ?? system_roles_1.SystemRoles.Administrator;
43
+ return roles.includes(administratorRoleId);
44
+ }
45
+ /**
46
+ * Returns the current user id when the request must be audited, null otherwise.
47
+ */
48
+ auditableUserId() {
26
49
  const userId = this.clsService.get("userId");
50
+ if (!userId)
51
+ return null;
52
+ if (this.isAdministrator())
53
+ return null;
54
+ return userId;
55
+ }
56
+ /**
57
+ * An audit failure must never fail the request or crash the process: log it and move on.
58
+ */
59
+ async safeCreateEntry(params) {
60
+ try {
61
+ await this.auditRepository.createEntry(params);
62
+ }
63
+ catch (error) {
64
+ const message = `Audit ${params.action} failed for ${params.entityType} ${params.entityId}`;
65
+ if (this.logger)
66
+ this.logger.error(message, error, AuditService_1.name);
67
+ else
68
+ new common_1.Logger(AuditService_1.name).error(message, error?.stack);
69
+ }
70
+ }
71
+ async logCreate(params) {
72
+ const userId = this.auditableUserId();
27
73
  if (!userId)
28
74
  return;
29
- await this.auditRepository.createEntry({
75
+ await this.safeCreateEntry({
30
76
  userId,
31
- companyId: this.clsService.get("companyId"),
77
+ companyId: this.clsService.get("companyId") ?? null,
32
78
  ipAddress: this.clsService.get("ipAddress") ?? "",
33
79
  action: "create",
34
80
  entityType: params.entityType,
@@ -39,12 +85,12 @@ let AuditService = class AuditService {
39
85
  });
40
86
  }
41
87
  async logRead(params) {
42
- const userId = this.clsService.get("userId");
88
+ const userId = this.auditableUserId();
43
89
  if (!userId)
44
90
  return;
45
- await this.auditRepository.createEntry({
91
+ await this.safeCreateEntry({
46
92
  userId,
47
- companyId: this.clsService.get("companyId"),
93
+ companyId: this.clsService.get("companyId") ?? null,
48
94
  ipAddress: this.clsService.get("ipAddress") ?? "",
49
95
  action: "read",
50
96
  entityType: params.entityType,
@@ -55,16 +101,16 @@ let AuditService = class AuditService {
55
101
  });
56
102
  }
57
103
  async logUpdate(params) {
58
- const userId = this.clsService.get("userId");
104
+ const userId = this.auditableUserId();
59
105
  if (!userId)
60
106
  return;
61
107
  const changes = this.diffChanges(params.before, params.after, params.descriptor);
62
108
  if (changes.length === 0)
63
109
  return;
64
- const companyId = this.clsService.get("companyId");
110
+ const companyId = this.clsService.get("companyId") ?? null;
65
111
  const ipAddress = this.clsService.get("ipAddress") ?? "";
66
112
  for (const change of changes) {
67
- await this.auditRepository.createEntry({
113
+ await this.safeCreateEntry({
68
114
  userId,
69
115
  companyId,
70
116
  ipAddress,
@@ -78,13 +124,13 @@ let AuditService = class AuditService {
78
124
  }
79
125
  }
80
126
  async logDelete(params) {
81
- const userId = this.clsService.get("userId");
127
+ const userId = this.auditableUserId();
82
128
  if (!userId)
83
129
  return;
84
130
  const snapshotStr = this.snapshotEntity(params.snapshot, params.descriptor);
85
- await this.auditRepository.createEntry({
131
+ await this.safeCreateEntry({
86
132
  userId,
87
- companyId: this.clsService.get("companyId"),
133
+ companyId: this.clsService.get("companyId") ?? null,
88
134
  ipAddress: this.clsService.get("ipAddress") ?? "",
89
135
  action: "delete",
90
136
  entityType: params.entityType,
@@ -99,7 +145,7 @@ let AuditService = class AuditService {
99
145
  return this.builder.buildList(audit_model_1.auditLogModel, await this.auditRepository.findByEntity({
100
146
  entityType: params.entityType,
101
147
  entityId: params.entityId,
102
- companyId: this.clsService.get("companyId"),
148
+ companyId: this.clsService.get("companyId") ?? null,
103
149
  cursor: paginator.generateCursor(),
104
150
  }), paginator);
105
151
  }
@@ -167,10 +213,13 @@ let AuditService = class AuditService {
167
213
  }
168
214
  };
169
215
  exports.AuditService = AuditService;
170
- exports.AuditService = AuditService = __decorate([
216
+ exports.AuditService = AuditService = AuditService_1 = __decorate([
171
217
  (0, common_1.Injectable)(),
218
+ __param(3, (0, common_1.Optional)()),
219
+ __param(3, (0, common_1.Inject)(tokens_1.SYSTEM_ROLES)),
220
+ __param(4, (0, common_1.Optional)()),
172
221
  __metadata("design:paramtypes", [jsonapi_service_1.JsonApiService,
173
222
  audit_repository_1.AuditRepository,
174
- nestjs_cls_1.ClsService])
223
+ nestjs_cls_1.ClsService, Object, logging_service_1.AppLoggingService])
175
224
  ], AuditService);
176
225
  //# sourceMappingURL=audit.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.service.js","sourceRoot":"","sources":["../../../../src/foundations/audit/services/audit.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.service.js","sourceRoot":"","sources":["../../../../src/foundations/audit/services/audit.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "4.16.0",
3
+ "version": "4.16.1",
4
4
  "description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",