@zola_do/crud 0.2.18 → 0.3.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,10 +1,21 @@
1
1
  import { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
2
2
  export type GlobalExceptionFilterOptions = {
3
3
  includePath?: boolean;
4
+ responseFormat?: 'default' | 'problem-details';
5
+ };
6
+ export type CrudProblemDetailsResponse = {
7
+ type: string;
8
+ title: string;
9
+ status: number;
10
+ detail: string | string[];
11
+ instance?: string;
12
+ timestamp: string;
4
13
  };
5
14
  export declare class GlobalExceptionFilter implements ExceptionFilter {
6
15
  private readonly logger;
7
16
  private readonly includePath;
17
+ private readonly responseFormat;
8
18
  constructor(options?: GlobalExceptionFilterOptions);
9
19
  catch(exception: any, host: ArgumentsHost): void;
20
+ private emitObservabilityException;
10
21
  }
@@ -31,8 +31,10 @@ function normalizeHttpExceptionMessage(exception) {
31
31
  }
32
32
  let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilter {
33
33
  constructor(options = {}) {
34
+ var _a;
34
35
  this.logger = new common_1.Logger(GlobalExceptionFilter_1.name);
35
36
  this.includePath = options.includePath !== false;
37
+ this.responseFormat = (_a = options.responseFormat) !== null && _a !== void 0 ? _a : 'default';
36
38
  }
37
39
  catch(exception, host) {
38
40
  var _a, _b, _c;
@@ -66,10 +68,35 @@ let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilte
66
68
  responseData.path = request.url;
67
69
  }
68
70
  const err = exception instanceof Error ? exception : undefined;
69
- this.logger.error(Object.assign(Object.assign({}, responseData), { exceptionMessage: err === null || err === void 0 ? void 0 : err.message, stack: err === null || err === void 0 ? void 0 : err.stack, name: err === null || err === void 0 ? void 0 : err.name, clientIp: (0, get_client_ip_helper_1.getClientIp)(request), remoteAddress: (_b = (_a = request.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress) !== null && _b !== void 0 ? _b : (_c = request.connection) === null || _c === void 0 ? void 0 : _c.remoteAddress }));
71
+ const logPayload = Object.assign(Object.assign({}, responseData), { exceptionMessage: err === null || err === void 0 ? void 0 : err.message, stack: err === null || err === void 0 ? void 0 : err.stack, name: err === null || err === void 0 ? void 0 : err.name, clientIp: (0, get_client_ip_helper_1.getClientIp)(request), remoteAddress: (_b = (_a = request.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress) !== null && _b !== void 0 ? _b : (_c = request.connection) === null || _c === void 0 ? void 0 : _c.remoteAddress });
72
+ this.logger.error(logPayload);
73
+ this.emitObservabilityException(logPayload);
74
+ if (this.responseFormat === 'problem-details') {
75
+ const title = Array.isArray(message) ? message[0] : message;
76
+ const problemDetails = {
77
+ type: `https://httpstatuses.com/${status}`,
78
+ title: title || 'HTTP error',
79
+ status,
80
+ detail: message,
81
+ timestamp: responseData.timestamp,
82
+ };
83
+ if (this.includePath) {
84
+ problemDetails.instance = request.url;
85
+ }
86
+ response.status(status).json(problemDetails);
87
+ return;
88
+ }
70
89
  response.status(status).json(responseData);
71
90
  return;
72
91
  }
92
+ emitObservabilityException(payload) {
93
+ try {
94
+ const { emitExceptionLog } = require('@zola_do/observability');
95
+ emitExceptionLog(payload);
96
+ }
97
+ catch (_a) {
98
+ }
99
+ }
73
100
  };
74
101
  exports.GlobalExceptionFilter = GlobalExceptionFilter;
75
102
  exports.GlobalExceptionFilter = GlobalExceptionFilter = GlobalExceptionFilter_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../../src/shared/exceptions/global-exception.filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../../src/shared/exceptions/global-exception.filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { CrudPolicy } from '../types';
2
+ export declare function tenantPolicy(field?: string): CrudPolicy;
3
+ export declare function ownerPolicy(field?: string, userField?: string): CrudPolicy;
4
+ export declare function adminOrOwnerPolicy(ownerField?: string, userField?: string, adminField?: string): CrudPolicy;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tenantPolicy = tenantPolicy;
4
+ exports.ownerPolicy = ownerPolicy;
5
+ exports.adminOrOwnerPolicy = adminOrOwnerPolicy;
6
+ function tenantPolicy(field = 'tenantId') {
7
+ return {
8
+ scopeQuery: ({ req }) => { var _a; return ({ [field]: (_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[field] }); },
9
+ canRead: ({ req }, entity) => { var _a; return !entity || entity[field] === ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[field]); },
10
+ canUpdate: ({ req }, entity) => { var _a; return (entity === null || entity === void 0 ? void 0 : entity[field]) === ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[field]); },
11
+ canDelete: ({ req }, entity) => { var _a; return (entity === null || entity === void 0 ? void 0 : entity[field]) === ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[field]); },
12
+ };
13
+ }
14
+ function ownerPolicy(field = 'ownerId', userField = 'id') {
15
+ return {
16
+ scopeQuery: ({ req }) => { var _a; return ({ [field]: (_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[userField] }); },
17
+ canRead: ({ req }, entity) => { var _a; return !entity || entity[field] === ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[userField]); },
18
+ canUpdate: ({ req }, entity) => { var _a; return (entity === null || entity === void 0 ? void 0 : entity[field]) === ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[userField]); },
19
+ canDelete: ({ req }, entity) => { var _a; return (entity === null || entity === void 0 ? void 0 : entity[field]) === ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[userField]); },
20
+ };
21
+ }
22
+ function adminOrOwnerPolicy(ownerField = 'ownerId', userField = 'id', adminField = 'isAdmin') {
23
+ const isOwnerOrAdmin = ({ req }, entity) => { var _a, _b; return ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a[adminField]) === true || (entity === null || entity === void 0 ? void 0 : entity[ownerField]) === ((_b = req === null || req === void 0 ? void 0 : req.user) === null || _b === void 0 ? void 0 : _b[userField]); };
24
+ return {
25
+ canRead: isOwnerOrAdmin,
26
+ canUpdate: isOwnerOrAdmin,
27
+ canDelete: isOwnerOrAdmin,
28
+ };
29
+ }
30
+ //# sourceMappingURL=crud-policy.presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-policy.presets.js","sourceRoot":"","sources":["../../../src/shared/utils/crud-policy.presets.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ export * from './in-memory-idempotency.store';
7
7
  export * from './redis-idempotency.store';
8
8
  export * from './transactional-repository.helper';
9
9
  export * from './crud-transaction.decorators';
10
+ export * from './crud-policy.presets';
@@ -23,4 +23,5 @@ __exportStar(require("./in-memory-idempotency.store"), exports);
23
23
  __exportStar(require("./redis-idempotency.store"), exports);
24
24
  __exportStar(require("./transactional-repository.helper"), exports);
25
25
  __exportStar(require("./crud-transaction.decorators"), exports);
26
+ __exportStar(require("./crud-policy.presets"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,iDAA+B;AAC/B,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,gEAA8C;AAC9C,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,iDAA+B;AAC/B,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,gEAA8C;AAC9C,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,wDAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zola_do/crud",
3
- "version": "0.2.18",
3
+ "version": "0.3.1",
4
4
  "description": "Generic CRUD controllers and services for NestJS",
5
5
  "author": "zolaDO",
6
6
  "license": "ISC",