cqrs-boilerplate-code 1.0.23 → 1.0.24

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 (61) hide show
  1. package/dist/common-infra/common-infra.module.js.map +1 -1
  2. package/dist/common-infra/database/abstraction/common-infra.options.js.map +1 -1
  3. package/dist/common-infra/database/abstraction/db-module.options.js.map +1 -1
  4. package/dist/common-infra/database/database.module.js.map +1 -1
  5. package/dist/common-infra/database/typeorm.config.js.map +1 -1
  6. package/dist/common-infra/http/axios.provider.js +1 -0
  7. package/dist/common-infra/http/axios.provider.js.map +1 -1
  8. package/dist/common-infra/http/http-module.options.js.map +1 -1
  9. package/dist/common-infra/http/http.constant.js.map +1 -1
  10. package/dist/common-infra/http/http.module.js.map +1 -1
  11. package/dist/common-infra/http/https.service.js.map +1 -1
  12. package/dist/common-infra/socket.io/interfaces.js.map +1 -1
  13. package/dist/common-infra/socket.io/socket.gateway.js.map +1 -1
  14. package/dist/common-infra/socket.io/socket.module.js.map +1 -1
  15. package/dist/common-infra/socket.io/socket.options.js.map +1 -1
  16. package/dist/core-common/constant/app.constant.js.map +1 -1
  17. package/dist/core-common/core-common.module.js +1 -0
  18. package/dist/core-common/core-common.module.js.map +1 -1
  19. package/dist/core-common/error/custom-error/already-exists.error.d.ts +9 -0
  20. package/dist/core-common/error/custom-error/already-exists.error.js +9 -0
  21. package/dist/core-common/error/custom-error/already-exists.error.js.map +1 -1
  22. package/dist/core-common/error/custom-error/bad-request.error.js.map +1 -1
  23. package/dist/core-common/error/custom-error/conflict.error.d.ts +9 -0
  24. package/dist/core-common/error/custom-error/conflict.error.js +9 -0
  25. package/dist/core-common/error/custom-error/conflict.error.js.map +1 -1
  26. package/dist/core-common/error/custom-error/custom-validation-error.js.map +1 -1
  27. package/dist/core-common/error/custom-error/forbidden.error.js.map +1 -1
  28. package/dist/core-common/error/custom-error/internal-server.error.js.map +1 -1
  29. package/dist/core-common/error/custom-error/not-found.error.js.map +1 -1
  30. package/dist/core-common/error/custom-error/service-unavailable.error.js.map +1 -1
  31. package/dist/core-common/error/custom-error/unauthorized.error.js.map +1 -1
  32. package/dist/core-common/error/custom-error/unprocess-entity.error.js.map +1 -1
  33. package/dist/core-common/error/custom-error/validation.error.js.map +1 -1
  34. package/dist/core-common/error/generic.error.d.ts +8 -0
  35. package/dist/core-common/error/generic.error.js +8 -0
  36. package/dist/core-common/error/generic.error.js.map +1 -1
  37. package/dist/core-common/logger/logger.interface.js.map +1 -1
  38. package/dist/core-common/logger/logger.module.js +1 -0
  39. package/dist/core-common/logger/logger.module.js.map +1 -1
  40. package/dist/core-common/logger/logger.service.js +8 -0
  41. package/dist/core-common/logger/logger.service.js.map +1 -1
  42. package/dist/core-common/response-model/generic-error-response.model.d.ts +10 -0
  43. package/dist/core-common/response-model/generic-error-response.model.js +12 -2
  44. package/dist/core-common/response-model/generic-error-response.model.js.map +1 -1
  45. package/dist/core-common/response-model/generic-success-response.model.d.ts +10 -0
  46. package/dist/core-common/response-model/generic-success-response.model.js +10 -0
  47. package/dist/core-common/response-model/generic-success-response.model.js.map +1 -1
  48. package/dist/core-common/result-model/result.js.map +1 -1
  49. package/dist/middleware/async-middleware/async-storage.middleware.js.map +1 -1
  50. package/dist/middleware/async-middleware/async-storage.service.js.map +1 -1
  51. package/dist/middleware/auth-middleware/auth.middleware.js +1 -1
  52. package/dist/middleware/auth-middleware/auth.middleware.js.map +1 -1
  53. package/dist/middleware/auth-middleware/jwt-validator.js.map +1 -1
  54. package/dist/middleware/filter/global-exeception.filter.js +2 -2
  55. package/dist/middleware/filter/global-exeception.filter.js.map +1 -1
  56. package/dist/middleware/utils/http-response.formatter.d.ts +2 -2
  57. package/dist/middleware/utils/http-response.formatter.js +11 -11
  58. package/dist/middleware/utils/http-response.formatter.js.map +1 -1
  59. package/dist/tsconfig.build.tsbuildinfo +1 -1
  60. package/package.json +1 -1
  61. package/tsconfig.json +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"async-storage.middleware.js","sourceRoot":"","sources":["../../../src/middleware/async-middleware/async-storage.middleware.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4D;AAC5D,6CAAgD;AAIzC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;;IACvB,MAAM,CAAU,OAAO,GAC3B,IAAI,+BAAiB,EAAwB,CAAC;IAElD,MAAM,CAAC,GAAG,CAAc,GAAW;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACzC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE1B,wBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;;AAjBQ,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;GACA,sBAAsB,CAkBlC","sourcesContent":["import { Injectable, NestMiddleware } from \"@nestjs/common\";\nimport { AsyncLocalStorage } from \"async_hooks\";\nimport { Request, Response, NextFunction } from \"express\";\n\n@Injectable()\nexport class AsyncStorageMiddleware implements NestMiddleware {\n private static readonly storage =\n new AsyncLocalStorage<Map<string, unknown>>();\n\n static get<T = unknown>(key: string): T | undefined {\n return this.storage.getStore()?.get(key) as T | undefined;\n }\n\n static set(key: string, value: unknown): void {\n this.storage.getStore()?.set(key, value);\n }\n\n use(req: Request, _res: Response, next: NextFunction): void {\n const store = new Map<string, unknown>();\n store.set(\"request\", req);\n\n AsyncStorageMiddleware.storage.run(store, next);\n }\n}\n"]}
1
+ {"version":3,"file":"async-storage.middleware.js","sourceRoot":"","sources":["../../../src/middleware/async-middleware/async-storage.middleware.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4D;AAC5D,6CAAgD;AAIzC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;;IACvB,MAAM,CAAU,OAAO,GAC3B,IAAI,+BAAiB,EAAwB,CAAC;IAElD,MAAM,CAAC,GAAG,CAAc,GAAW;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACzC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE1B,wBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;;AAjBQ,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;GACA,sBAAsB,CAkBlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"async-storage.service.js","sourceRoot":"","sources":["../../../src/middleware/async-middleware/async-storage.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,yEAAoE;AAG7D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,GAAG,CAAc,GAAW;QACxB,OAAO,iDAAsB,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAc;QAC3B,iDAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;CACJ,CAAA;AARY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAQ/B","sourcesContent":["import { Injectable } from \"@nestjs/common\";\nimport { AsyncStorageMiddleware } from \"./async-storage.middleware\";\n\n@Injectable()\nexport class AsyncStorageService {\n get<T = unknown>(key: string): T | undefined {\n return AsyncStorageMiddleware.get<T>(key);\n }\n\n set(key: string, value: unknown): void {\n AsyncStorageMiddleware.set(key, value);\n }\n}\n"]}
1
+ {"version":3,"file":"async-storage.service.js","sourceRoot":"","sources":["../../../src/middleware/async-middleware/async-storage.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,yEAAoE;AAG7D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,GAAG,CAAc,GAAW;QACxB,OAAO,iDAAsB,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAc;QAC3B,iDAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;CACJ,CAAA;AARY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAQ/B"}
@@ -22,7 +22,7 @@ let AuthMiddleware = class AuthMiddleware {
22
22
  }
23
23
  async use(req, _res, next) {
24
24
  const { headerName = "authorization", validate, optional } = this.options;
25
- const authHeader = req.headers[headerName];
25
+ const authHeader = req.headers.get(headerName);
26
26
  if (!authHeader) {
27
27
  if (optional)
28
28
  return next();
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/middleware/auth-middleware/auth.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AAGX,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AASlE,IAAM,cAAc,GAApB,MAAM,cAAc;IAGF;IAFrB,YAEqB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAC/C,CAAC;IAEL,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QACtD,MAAM,EAAE,UAAU,GAAG,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1E,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAuB,CAAC;QAEjE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,QAAQ;gBAAE,OAAO,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAA;AApBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,+BAAuB,CAAC,CAAA;;GAF3B,cAAc,CAoB1B","sourcesContent":["import {\n Inject,\n Injectable,\n NestMiddleware,\n UnauthorizedException,\n} from \"@nestjs/common\";\nimport { NextFunction} from \"express\";\n\nexport const AUTH_MIDDLEWARE_OPTIONS = Symbol(\"AUTH_MIDDLEWARE_OPTIONS\");\n\nexport interface AuthMiddlewareOptions {\n headerName?: string;\n validate?: (token: string, req: Request) => boolean | Promise<boolean>;\n optional?: boolean;\n}\n\n@Injectable()\nexport class AuthMiddleware implements NestMiddleware {\n constructor(\n @Inject(AUTH_MIDDLEWARE_OPTIONS)\n private readonly options: AuthMiddlewareOptions,\n ) { }\n\n async use(req: Request, _res: Response, next: NextFunction) {\n const { headerName = \"authorization\", validate, optional } = this.options;\n const authHeader = req.headers[headerName] as string | undefined;\n\n if (!authHeader) {\n if (optional) return next();\n throw new UnauthorizedException(\"Authorization header missing\");\n }\n const token = authHeader.replace(\"Bearer \", \"\");\n if (validate && !(await validate(token, req))) {\n throw new UnauthorizedException();\n }\n next();\n }\n}\n"]}
1
+ {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/middleware/auth-middleware/auth.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AAGX,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AASlE,IAAM,cAAc,GAApB,MAAM,cAAc;IAGF;IAFrB,YAEqB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAC/C,CAAC;IAEL,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QACtD,MAAM,EAAE,UAAU,GAAG,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1E,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,QAAQ;gBAAE,OAAO,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAA;AApBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,+BAAuB,CAAC,CAAA;;GAF3B,cAAc,CAoB1B","sourcesContent":["import {\n Inject,\n Injectable,\n NestMiddleware,\n UnauthorizedException,\n} from \"@nestjs/common\";\nimport { NextFunction } from \"express\";\n\nexport const AUTH_MIDDLEWARE_OPTIONS = Symbol(\"AUTH_MIDDLEWARE_OPTIONS\");\n\nexport interface AuthMiddlewareOptions {\n headerName?: string;\n validate?: (token: string, req: Request) => boolean | Promise<boolean>;\n optional?: boolean;\n}\n\n@Injectable()\nexport class AuthMiddleware implements NestMiddleware {\n constructor(\n @Inject(AUTH_MIDDLEWARE_OPTIONS)\n private readonly options: AuthMiddlewareOptions,\n ) { }\n\n async use(req: Request, _res: Response, next: NextFunction) {\n const { headerName = \"authorization\", validate, optional } = this.options;\n const authHeader = req.headers.get(headerName);\n\n if (!authHeader) {\n if (optional) return next();\n throw new UnauthorizedException(\"Authorization header missing\");\n }\n const token = authHeader.replace(\"Bearer \", \"\");\n if (validate && !(await validate(token, req))) {\n throw new UnauthorizedException();\n }\n next();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-validator.js","sourceRoot":"","sources":["../../../src/middleware/auth-middleware/jwt-validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oCAWC;AAlBD,kDAAoC;AAOpC,SAAgB,YAAY,CAAC,OAA4B;IACrD,OAAO,CAAC,KAAa,EAAW,EAAE;QAC9B,IAAI,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC,CAAC;AACN,CAAC","sourcesContent":["import * as jwt from \"jsonwebtoken\";\n\nexport interface JwtValidatorOptions {\n secret: string;\n algorithms?: jwt.Algorithm[];\n}\n\nexport function jwtValidator(options: JwtValidatorOptions) {\n return (token: string): boolean => {\n try {\n jwt.verify(token, options.secret, {\n algorithms: options.algorithms,\n });\n return true;\n } catch {\n return false;\n }\n };\n}"]}
1
+ {"version":3,"file":"jwt-validator.js","sourceRoot":"","sources":["../../../src/middleware/auth-middleware/jwt-validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oCAWC;AAlBD,kDAAoC;AAOpC,SAAgB,YAAY,CAAC,OAA4B;IACrD,OAAO,CAAC,KAAa,EAAW,EAAE;QAC9B,IAAI,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
@@ -8,9 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.GlobalExceptionFilter = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
- const validation_error_1 = require("../../core-common/error/custom-error/validation.error");
12
- const generic_error_1 = require("../../core-common/error/generic.error");
13
11
  const result_1 = require("../../core-common/result-model/result");
12
+ const generic_error_1 = require("../../core-common/error/generic.error");
13
+ const validation_error_1 = require("../../core-common/error/custom-error/validation.error");
14
14
  let GlobalExceptionFilter = class GlobalExceptionFilter {
15
15
  catch(exception, host) {
16
16
  const response = host.switchToHttp().getResponse();
@@ -1 +1 @@
1
- {"version":3,"file":"global-exeception.filter.js","sourceRoot":"","sources":["../../../src/middleware/filter/global-exeception.filter.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ArgumentsHost,\n Catch,\n ExceptionFilter,\n HttpException,\n HttpStatus,\n} from \"@nestjs/common\";\nimport { Response } from \"express\";\n\nimport { ValidationError } from \"@core-common/error/custom-error/validation.error\";\nimport { GenericError } from \"@core-common/error/generic.error\";\nimport { Result } from \"@core-common/result-model/result\";\n\n/**\n * Global exception filter for NestJS applications.\n * Provides standardized error responses across the application.\n */\n@Catch()\nexport class GlobalExceptionFilter implements ExceptionFilter {\n catch(exception: unknown, host: ArgumentsHost): void {\n const response = host.switchToHttp().getResponse<Response>();\n\n /* 1️⃣ Domain Result errors */\n if (exception instanceof Result) {\n const statusCode =\n exception.error?.statusCode ?? HttpStatus.INTERNAL_SERVER_ERROR;\n\n const payload: Record<string, any> = {\n statusCode,\n success: false,\n error: {\n code: exception.error?.code ?? \"ERROR\",\n message: exception.error?.message ?? \"An error occurred\",\n },\n timestamp: exception.timestamp ?? new Date().toISOString(),\n };\n\n if (exception.data !== undefined && exception.data !== null) {\n payload.data = exception.data;\n }\n\n response.status(statusCode).json(payload);\n return;\n }\n\n /* 2️⃣ Custom domain errors */\n if (exception instanceof GenericError) {\n response.status(exception.statusCode).json({\n statusCode: exception.statusCode,\n success: false,\n error: {\n code: exception.code,\n message: exception.message,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n /* 3️⃣ NestJS HttpExceptions */\n if (exception instanceof HttpException) {\n const status = exception.getStatus();\n const res = exception.getResponse();\n\n const isValidationPipeError =\n typeof exception.stack === \"string\" &&\n exception.stack.includes(\"ValidationPipe\");\n\n if (isValidationPipeError) {\n const validationError = new ValidationError(\n \"validation_error\",\n \"Validation failed\",\n );\n\n response.status(validationError.statusCode).json({\n success: false,\n error: {\n code: validationError.code,\n message: validationError.message,\n validationError,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n response.status(status).json({\n statusCode: status,\n success: false,\n error: {\n code: \"HTTP_EXCEPTION\",\n message:\n typeof res === \"string\"\n ? res\n : (res as any)?.message ?? exception.message,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n /* 4️⃣ Native JS Errors */\n if (exception instanceof Error) {\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n success: false,\n error: {\n code: exception.name,\n message: exception.message,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n /* 5️⃣ Unknown throwables */\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n success: false,\n error: {\n code: \"UNKNOWN_ERROR\",\n message: \"Internal server error\",\n },\n timestamp: new Date().toISOString(),\n });\n }\n}\n"]}
1
+ {"version":3,"file":"global-exeception.filter.js","sourceRoot":"","sources":["../../../src/middleware/filter/global-exeception.filter.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ArgumentsHost,\n Catch,\n ExceptionFilter,\n HttpException,\n HttpStatus,\n} from \"@nestjs/common\";\nimport { Response } from \"express\";\nimport { Result } from \"../../core-common/result-model/result\";\nimport { GenericError } from \"../../core-common/error/generic.error\";\nimport { ValidationError } from \"../../core-common/error/custom-error/validation.error\";\n\n\n/**\n * Global exception filter for NestJS applications.\n * Provides standardized error responses across the application.\n */\n@Catch()\nexport class GlobalExceptionFilter implements ExceptionFilter {\n catch(exception: unknown, host: ArgumentsHost): void {\n const response = host.switchToHttp().getResponse<Response>();\n\n /* 1️⃣ Domain Result errors */\n if (exception instanceof Result) {\n const statusCode =\n exception.error?.statusCode ?? HttpStatus.INTERNAL_SERVER_ERROR;\n\n const payload: Record<string, any> = {\n statusCode,\n success: false,\n error: {\n code: exception.error?.code ?? \"ERROR\",\n message: exception.error?.message ?? \"An error occurred\",\n },\n timestamp: exception.timestamp ?? new Date().toISOString(),\n };\n\n if (exception.data !== undefined && exception.data !== null) {\n payload.data = exception.data;\n }\n\n response.status(statusCode).json(payload);\n return;\n }\n\n /* 2️⃣ Custom domain errors */\n if (exception instanceof GenericError) {\n response.status(exception.statusCode).json({\n statusCode: exception.statusCode,\n success: false,\n error: {\n code: exception.code,\n message: exception.message,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n /* 3️⃣ NestJS HttpExceptions */\n if (exception instanceof HttpException) {\n const status = exception.getStatus();\n const res = exception.getResponse();\n\n const isValidationPipeError =\n typeof exception.stack === \"string\" &&\n exception.stack.includes(\"ValidationPipe\");\n\n if (isValidationPipeError) {\n const validationError = new ValidationError(\n \"validation_error\",\n \"Validation failed\",\n );\n\n response.status(validationError.statusCode).json({\n success: false,\n error: {\n code: validationError.code,\n message: validationError.message,\n validationError,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n response.status(status).json({\n statusCode: status,\n success: false,\n error: {\n code: \"HTTP_EXCEPTION\",\n message:\n typeof res === \"string\"\n ? res\n : (res as any)?.message ?? exception.message,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n /* 4️⃣ Native JS Errors */\n if (exception instanceof Error) {\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n success: false,\n error: {\n code: exception.name,\n message: exception.message,\n },\n timestamp: new Date().toISOString(),\n });\n return;\n }\n\n /* 5️⃣ Unknown throwables */\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n success: false,\n error: {\n code: \"UNKNOWN_ERROR\",\n message: \"Internal server error\",\n },\n timestamp: new Date().toISOString(),\n });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { GenericErrorResponse } from "@core-common/response-model/generic-error-response.model";
2
- import { GenericSuccessResponse } from "@core-common/response-model/generic-success-response.model";
1
+ import { GenericSuccessResponse } from "../../core-common/response-model/generic-success-response.model";
2
+ import { GenericErrorResponse } from "../../core-common/response-model/generic-error-response.model";
3
3
  export declare class HttpResponseFormatter {
4
4
  getStandardApiResponse(statusCode: number, responseData: any): GenericSuccessResponse<any> | GenericErrorResponse | any;
5
5
  private getSuccessResponse;
@@ -7,21 +7,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.HttpResponseFormatter = void 0;
10
- const already_exists_error_1 = require("../../core-common/error/custom-error/already-exists.error");
10
+ const common_1 = require("@nestjs/common");
11
+ const generic_success_response_model_1 = require("../../core-common/response-model/generic-success-response.model");
12
+ const generic_error_response_model_1 = require("../../core-common/response-model/generic-error-response.model");
13
+ const result_1 = require("../../core-common/result-model/result");
14
+ const generic_error_1 = require("../../core-common/error/generic.error");
11
15
  const bad_request_error_1 = require("../../core-common/error/custom-error/bad-request.error");
12
- const conflict_error_1 = require("../../core-common/error/custom-error/conflict.error");
16
+ const unauthorized_error_1 = require("../../core-common/error/custom-error/unauthorized.error");
13
17
  const forbidden_error_1 = require("../../core-common/error/custom-error/forbidden.error");
14
- const internal_server_error_1 = require("../../core-common/error/custom-error/internal-server.error");
15
18
  const not_found_error_1 = require("../../core-common/error/custom-error/not-found.error");
16
- const service_unavailable_error_1 = require("../../core-common/error/custom-error/service-unavailable.error");
17
- const unauthorized_error_1 = require("../../core-common/error/custom-error/unauthorized.error");
18
- const unprocess_entity_error_1 = require("../../core-common/error/custom-error/unprocess-entity.error");
19
+ const already_exists_error_1 = require("../../core-common/error/custom-error/already-exists.error");
20
+ const conflict_error_1 = require("../../core-common/error/custom-error/conflict.error");
19
21
  const validation_error_1 = require("../../core-common/error/custom-error/validation.error");
20
- const generic_error_1 = require("../../core-common/error/generic.error");
21
- const generic_error_response_model_1 = require("../../core-common/response-model/generic-error-response.model");
22
- const generic_success_response_model_1 = require("../../core-common/response-model/generic-success-response.model");
23
- const result_1 = require("../../core-common/result-model/result");
24
- const common_1 = require("@nestjs/common");
22
+ const unprocess_entity_error_1 = require("../../core-common/error/custom-error/unprocess-entity.error");
23
+ const service_unavailable_error_1 = require("../../core-common/error/custom-error/service-unavailable.error");
24
+ const internal_server_error_1 = require("../../core-common/error/custom-error/internal-server.error");
25
25
  let HttpResponseFormatter = class HttpResponseFormatter {
26
26
  getStandardApiResponse(statusCode, responseData) {
27
27
  if (this.isSuccessfulResult(responseData)) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-response.formatter.js","sourceRoot":"","sources":["../../../src/middleware/utils/http-response.formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { AlreadyExistsError } from \"@core-common/error/custom-error/already-exists.error\";\nimport { BadRequestError } from \"@core-common/error/custom-error/bad-request.error\";\nimport { ConflictError } from \"@core-common/error/custom-error/conflict.error\";\nimport { ForbiddenError } from \"@core-common/error/custom-error/forbidden.error\";\nimport { InternalServerError } from \"@core-common/error/custom-error/internal-server.error\";\nimport { NotFoundError } from \"@core-common/error/custom-error/not-found.error\";\nimport { ServiceUnavailableError } from \"@core-common/error/custom-error/service-unavailable.error\";\nimport { UnauthorizedError } from \"@core-common/error/custom-error/unauthorized.error\";\nimport { UnprocessableEntityError } from \"@core-common/error/custom-error/unprocess-entity.error\";\nimport { ValidationError } from \"@core-common/error/custom-error/validation.error\";\nimport { GenericError } from \"@core-common/error/generic.error\";\nimport { GenericErrorResponse } from \"@core-common/response-model/generic-error-response.model\";\nimport { GenericSuccessResponse } from \"@core-common/response-model/generic-success-response.model\";\nimport { Result } from \"@core-common/result-model/result\";\nimport { HttpStatus, Injectable } from \"@nestjs/common\";\n\n@Injectable()\nexport class HttpResponseFormatter {\n /**\n * Returns a standard formatted ApiSuccessResponse or ApiErrorResponse\n */\n public getStandardApiResponse(\n statusCode: number,\n responseData: any,\n ): GenericSuccessResponse<any> | GenericErrorResponse | any {\n if (this.isSuccessfulResult(responseData)) {\n return this.getSuccessResponse(responseData, statusCode);\n }\n\n if (this.isFailedResult(responseData)) {\n return this.getFailureResponse(responseData);\n }\n\n return responseData;\n }\n\n private getSuccessResponse(\n responseData: Result<any>,\n statusCode: number,\n ): GenericSuccessResponse<any> {\n const response = new GenericSuccessResponse();\n response.initialize(responseData, statusCode);\n return response;\n }\n\n private isSuccessfulResult(responseData: any): boolean {\n return responseData instanceof Result && responseData.success === true;\n }\n\n private isFailedResult(responseData: any): boolean {\n return responseData instanceof Result && responseData.success === false;\n }\n\n private getFailureResponse(result: Result<any>): GenericErrorResponse {\n const statusCode = this.getStatusCode(result.error);\n const response = new GenericErrorResponse();\n response.initialize(result, statusCode);\n return response;\n }\n\n private getStatusCode(error: GenericError): number {\n if (error instanceof BadRequestError) {\n return HttpStatus.BAD_REQUEST;\n }\n\n if (error instanceof UnauthorizedError) {\n return HttpStatus.UNAUTHORIZED;\n }\n\n if (error instanceof ForbiddenError) {\n return HttpStatus.FORBIDDEN;\n }\n\n if (error instanceof NotFoundError) {\n return HttpStatus.NOT_FOUND;\n }\n\n if (\n error instanceof AlreadyExistsError ||\n error instanceof ConflictError\n ) {\n return HttpStatus.CONFLICT;\n }\n\n if (\n error instanceof ValidationError ||\n error instanceof UnprocessableEntityError\n ) {\n return HttpStatus.UNPROCESSABLE_ENTITY;\n }\n\n if (error instanceof ServiceUnavailableError) {\n return HttpStatus.SERVICE_UNAVAILABLE;\n }\n\n if (error instanceof InternalServerError) {\n return HttpStatus.INTERNAL_SERVER_ERROR;\n }\n\n if (error instanceof GenericError) {\n return error.statusCode;\n }\n\n return HttpStatus.INTERNAL_SERVER_ERROR;\n }\n}\n"]}
1
+ {"version":3,"file":"http-response.formatter.js","sourceRoot":"","sources":["../../../src/middleware/utils/http-response.formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { HttpStatus, Injectable } from \"@nestjs/common\";\nimport { GenericSuccessResponse } from \"../../core-common/response-model/generic-success-response.model\";\nimport { GenericErrorResponse } from \"../../core-common/response-model/generic-error-response.model\";\nimport { Result } from \"../../core-common/result-model/result\";\nimport { GenericError } from \"../../core-common/error/generic.error\";\nimport { BadRequestError } from \"../../core-common/error/custom-error/bad-request.error\";\nimport { UnauthorizedError } from \"../../core-common/error/custom-error/unauthorized.error\";\nimport { ForbiddenError } from \"../../core-common/error/custom-error/forbidden.error\";\nimport { NotFoundError } from \"../../core-common/error/custom-error/not-found.error\";\nimport { AlreadyExistsError } from \"../../core-common/error/custom-error/already-exists.error\";\nimport { ConflictError } from \"../../core-common/error/custom-error/conflict.error\";\nimport { ValidationError } from \"../../core-common/error/custom-error/validation.error\";\nimport { UnprocessableEntityError } from \"../../core-common/error/custom-error/unprocess-entity.error\";\nimport { ServiceUnavailableError } from \"../../core-common/error/custom-error/service-unavailable.error\";\nimport { InternalServerError } from \"../../core-common/error/custom-error/internal-server.error\";\n\n@Injectable()\nexport class HttpResponseFormatter {\n /**\n * Returns a standard formatted ApiSuccessResponse or ApiErrorResponse\n */\n public getStandardApiResponse(\n statusCode: number,\n responseData: any,\n ): GenericSuccessResponse<any> | GenericErrorResponse | any {\n if (this.isSuccessfulResult(responseData)) {\n return this.getSuccessResponse(responseData, statusCode);\n }\n\n if (this.isFailedResult(responseData)) {\n return this.getFailureResponse(responseData);\n }\n\n return responseData;\n }\n\n private getSuccessResponse(\n responseData: Result<any>,\n statusCode: number,\n ): GenericSuccessResponse<any> {\n const response = new GenericSuccessResponse();\n response.initialize(responseData, statusCode);\n return response;\n }\n\n private isSuccessfulResult(responseData: any): boolean {\n return responseData instanceof Result && responseData.success === true;\n }\n\n private isFailedResult(responseData: any): boolean {\n return responseData instanceof Result && responseData.success === false;\n }\n\n private getFailureResponse(result: Result<any>): GenericErrorResponse {\n const statusCode = this.getStatusCode(result.error);\n const response = new GenericErrorResponse();\n response.initialize(result, statusCode);\n return response;\n }\n\n private getStatusCode(error: GenericError): number {\n if (error instanceof BadRequestError) {\n return HttpStatus.BAD_REQUEST;\n }\n\n if (error instanceof UnauthorizedError) {\n return HttpStatus.UNAUTHORIZED;\n }\n\n if (error instanceof ForbiddenError) {\n return HttpStatus.FORBIDDEN;\n }\n\n if (error instanceof NotFoundError) {\n return HttpStatus.NOT_FOUND;\n }\n\n if (\n error instanceof AlreadyExistsError ||\n error instanceof ConflictError\n ) {\n return HttpStatus.CONFLICT;\n }\n\n if (\n error instanceof ValidationError ||\n error instanceof UnprocessableEntityError\n ) {\n return HttpStatus.UNPROCESSABLE_ENTITY;\n }\n\n if (error instanceof ServiceUnavailableError) {\n return HttpStatus.SERVICE_UNAVAILABLE;\n }\n\n if (error instanceof InternalServerError) {\n return HttpStatus.INTERNAL_SERVER_ERROR;\n }\n\n if (error instanceof GenericError) {\n return error.statusCode;\n }\n\n return HttpStatus.INTERNAL_SERVER_ERROR;\n }\n}\n"]}