cqrs-boilerplate-code 1.0.17 → 1.0.19

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.
package/dist/index.d.ts CHANGED
@@ -30,5 +30,5 @@ export * from './common-infra/socket.io/socket.gateway';
30
30
  export * from './common-infra/socket.io/socket.module';
31
31
  export * from './common-infra/socket.io/socket.options';
32
32
  export * from './middleware/auth-middleware/auth.middleware';
33
- export * from './middleware/auth-middleware/auth-middleware.factory';
34
- export * from './middleware/auth-middleware/jwt-validator';
33
+ export { AUTH_MIDDLEWARE_OPTIONS } from './middleware/auth-middleware/auth.middleware';
34
+ export { AuthMiddlewareOptions } from './middleware/auth-middleware/auth.middleware';
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.AUTH_MIDDLEWARE_OPTIONS = void 0;
17
18
  __exportStar(require("./core-common/constant/app.constant"), exports);
18
19
  __exportStar(require("./core-common/error/custom-error/already-exists.error"), exports);
19
20
  __exportStar(require("./core-common/error/custom-error/bad-request.error"), exports);
@@ -46,6 +47,6 @@ __exportStar(require("./common-infra/socket.io/socket.gateway"), exports);
46
47
  __exportStar(require("./common-infra/socket.io/socket.module"), exports);
47
48
  __exportStar(require("./common-infra/socket.io/socket.options"), exports);
48
49
  __exportStar(require("./middleware/auth-middleware/auth.middleware"), exports);
49
- __exportStar(require("./middleware/auth-middleware/auth-middleware.factory"), exports);
50
- __exportStar(require("./middleware/auth-middleware/jwt-validator"), exports);
50
+ var auth_middleware_1 = require("./middleware/auth-middleware/auth.middleware");
51
+ Object.defineProperty(exports, "AUTH_MIDDLEWARE_OPTIONS", { enumerable: true, get: function () { return auth_middleware_1.AUTH_MIDDLEWARE_OPTIONS; } });
51
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,sEAAmD;AAGnD,wFAAqE;AACrE,qFAAkE;AAClE,kFAA+D;AAC/D,2FAAwE;AACxE,mFAAgE;AAChE,yFAAsE;AACtE,mFAAgE;AAChE,6FAA0E;AAC1E,sFAAmE;AACnE,0FAAuE;AACvE,oFAAiE;AACjE,oEAAiD;AAGjD,4FAAyE;AACzE,8FAA2E;AAC3E,oEAAiD;AAGjD,wEAAqD;AACrD,qEAAkD;AAClD,sEAAmD;AAGnD,qEAAkD;AAClD,yEAAsD;AACtD,sEAAmD;AACnD,mEAAgD;AAGhD,0EAAuD;AACvD,oEAAiD;AACjD,kEAA+C;AAC/C,oEAAiD;AAGjD,sEAAmD;AACnD,0EAAuD;AACvD,yEAAsD;AACtD,0EAAuD;AAGvD,+EAA6D;AAC7D,uFAAqE;AACrE,6EAA2D","sourcesContent":["\nexport * from './core-common/constant/app.constant'\n\n// Error Exports\nexport * from './core-common/error/custom-error/already-exists.error'\nexport * from './core-common/error/custom-error/bad-request.error'\nexport * from './core-common/error/custom-error/conflict.error'\nexport * from './core-common/error/custom-error/custom-validation-error'\nexport * from './core-common/error/custom-error/forbidden.error'\nexport * from './core-common/error/custom-error/internal-server.error'\nexport * from './core-common/error/custom-error/not-found.error'\nexport * from './core-common/error/custom-error/service-unavailable.error'\nexport * from './core-common/error/custom-error/unauthorized.error'\nexport * from './core-common/error/custom-error/unprocess-entity.error'\nexport * from './core-common/error/custom-error/validation.error'\nexport * from './core-common/error/generic.error'\n\n// Model Exports\nexport * from './core-common/response-model/generic-error-response.model'\nexport * from './core-common/response-model/generic-success-response.model'\nexport * from './core-common/result-model/result'\n\n// Logger Exports\nexport * from './core-common/logger/logger.interface'\nexport * from './core-common/logger/logger.module'\nexport * from './core-common/logger/logger.service'\n\n// Module Exports\nexport * from './common-infra/common-infra.module'\nexport * from './common-infra/database/typeorm.config'\nexport * from './core-common/constant/app.constant'\nexport * from './core-common/core-common.module'\n\n// HTTP Exports\nexport * from './common-infra/http/http-module.options'\nexport * from './common-infra/http/http.constant'\nexport * from './common-infra/http/http.module'\nexport * from './common-infra/http/https.service'\n\n// Socket.IO Exports\nexport * from './common-infra/socket.io/interfaces'\nexport * from './common-infra/socket.io/socket.gateway'\nexport * from './common-infra/socket.io/socket.module'\nexport * from './common-infra/socket.io/socket.options'\n\n// Middleware Exports\nexport * from './middleware/auth-middleware/auth.middleware';\nexport * from './middleware/auth-middleware/auth-middleware.factory';\nexport * from './middleware/auth-middleware/jwt-validator';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,sEAAmD;AAGnD,wFAAqE;AACrE,qFAAkE;AAClE,kFAA+D;AAC/D,2FAAwE;AACxE,mFAAgE;AAChE,yFAAsE;AACtE,mFAAgE;AAChE,6FAA0E;AAC1E,sFAAmE;AACnE,0FAAuE;AACvE,oFAAiE;AACjE,oEAAiD;AAGjD,4FAAyE;AACzE,8FAA2E;AAC3E,oEAAiD;AAGjD,wEAAqD;AACrD,qEAAkD;AAClD,sEAAmD;AAGnD,qEAAkD;AAClD,yEAAsD;AACtD,sEAAmD;AACnD,mEAAgD;AAGhD,0EAAuD;AACvD,oEAAiD;AACjD,kEAA+C;AAC/C,oEAAiD;AAGjD,sEAAmD;AACnD,0EAAuD;AACvD,yEAAsD;AACtD,0EAAuD;AAGvD,+EAA4D;AAC5D,gFAAsF;AAA7E,0HAAA,uBAAuB,OAAA","sourcesContent":["\nexport * from './core-common/constant/app.constant'\n\n// Error Exports\nexport * from './core-common/error/custom-error/already-exists.error'\nexport * from './core-common/error/custom-error/bad-request.error'\nexport * from './core-common/error/custom-error/conflict.error'\nexport * from './core-common/error/custom-error/custom-validation-error'\nexport * from './core-common/error/custom-error/forbidden.error'\nexport * from './core-common/error/custom-error/internal-server.error'\nexport * from './core-common/error/custom-error/not-found.error'\nexport * from './core-common/error/custom-error/service-unavailable.error'\nexport * from './core-common/error/custom-error/unauthorized.error'\nexport * from './core-common/error/custom-error/unprocess-entity.error'\nexport * from './core-common/error/custom-error/validation.error'\nexport * from './core-common/error/generic.error'\n\n// Model Exports\nexport * from './core-common/response-model/generic-error-response.model'\nexport * from './core-common/response-model/generic-success-response.model'\nexport * from './core-common/result-model/result'\n\n// Logger Exports\nexport * from './core-common/logger/logger.interface'\nexport * from './core-common/logger/logger.module'\nexport * from './core-common/logger/logger.service'\n\n// Module Exports\nexport * from './common-infra/common-infra.module'\nexport * from './common-infra/database/typeorm.config'\nexport * from './core-common/constant/app.constant'\nexport * from './core-common/core-common.module'\n\n// HTTP Exports\nexport * from './common-infra/http/http-module.options'\nexport * from './common-infra/http/http.constant'\nexport * from './common-infra/http/http.module'\nexport * from './common-infra/http/https.service'\n\n// Socket.IO Exports\nexport * from './common-infra/socket.io/interfaces'\nexport * from './common-infra/socket.io/socket.gateway'\nexport * from './common-infra/socket.io/socket.module'\nexport * from './common-infra/socket.io/socket.options'\n\n// Middleware Exports\nexport * from './middleware/auth-middleware/auth.middleware'\nexport { AUTH_MIDDLEWARE_OPTIONS } from './middleware/auth-middleware/auth.middleware'\nexport { AuthMiddlewareOptions } from './middleware/auth-middleware/auth.middleware'\n"]}
@@ -1,5 +1,6 @@
1
1
  import { NestMiddleware } from "@nestjs/common";
2
- import { Request, Response, NextFunction } from "express";
2
+ import { NextFunction } from "express";
3
+ export declare const AUTH_MIDDLEWARE_OPTIONS: unique symbol;
3
4
  export interface AuthMiddlewareOptions {
4
5
  headerName?: string;
5
6
  validate?: (token: string, req: Request) => boolean | Promise<boolean>;
@@ -7,7 +8,6 @@ export interface AuthMiddlewareOptions {
7
8
  }
8
9
  export declare class AuthMiddleware implements NestMiddleware {
9
10
  private readonly options;
10
- constructor(options?: AuthMiddlewareOptions);
11
+ constructor(options: AuthMiddlewareOptions);
11
12
  use(req: Request, _res: Response, next: NextFunction): Promise<void>;
12
- private extractToken;
13
13
  }
@@ -8,41 +8,37 @@ 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
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AuthMiddleware = void 0;
15
+ exports.AuthMiddleware = exports.AUTH_MIDDLEWARE_OPTIONS = void 0;
13
16
  const common_1 = require("@nestjs/common");
17
+ exports.AUTH_MIDDLEWARE_OPTIONS = Symbol("AUTH_MIDDLEWARE_OPTIONS");
14
18
  let AuthMiddleware = class AuthMiddleware {
15
19
  options;
16
- constructor(options = {}) {
20
+ constructor(options) {
17
21
  this.options = options;
18
22
  }
19
23
  async use(req, _res, next) {
20
- const headerName = this.options.headerName ?? "authorization";
24
+ const { headerName = "authorization", validate, optional } = this.options;
21
25
  const authHeader = req.headers[headerName];
22
26
  if (!authHeader) {
23
- if (this.options.optional)
27
+ if (optional)
24
28
  return next();
25
29
  throw new common_1.UnauthorizedException("Authorization header missing");
26
30
  }
27
- const token = this.extractToken(authHeader);
28
- if (this.options.validate) {
29
- const isValid = await this.options.validate(token, req);
30
- if (!isValid) {
31
- throw new common_1.UnauthorizedException("Invalid authentication token");
32
- }
31
+ const token = authHeader.replace("Bearer ", "");
32
+ if (validate && !(await validate(token, req))) {
33
+ throw new common_1.UnauthorizedException();
33
34
  }
34
35
  next();
35
36
  }
36
- extractToken(header) {
37
- if (header.startsWith("Bearer ")) {
38
- return header.slice(7);
39
- }
40
- return header;
41
- }
42
37
  };
43
38
  exports.AuthMiddleware = AuthMiddleware;
44
39
  exports.AuthMiddleware = AuthMiddleware = __decorate([
45
40
  (0, common_1.Injectable)(),
41
+ __param(0, (0, common_1.Inject)(exports.AUTH_MIDDLEWARE_OPTIONS)),
46
42
  __metadata("design:paramtypes", [Object])
47
43
  ], AuthMiddleware);
48
44
  //# sourceMappingURL=auth.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/middleware/auth-middleware/auth.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmF;AAU5E,IAAM,cAAc,GAApB,MAAM,cAAc;IACI;IAA7B,YAA6B,UAAiC,EAAE;QAAnC,YAAO,GAAP,OAAO,CAA4B;IAAG,CAAC;IAEpE,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC;QAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAuB,CAAC;QAEjE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA/BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CA+B1B","sourcesContent":["import { Injectable, NestMiddleware, UnauthorizedException } from \"@nestjs/common\";\nimport { Request, Response, NextFunction } from \"express\";\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(private readonly options: AuthMiddlewareOptions = {}) {}\n\n async use(req: Request, _res: Response, next: NextFunction): Promise<void> {\n const headerName = this.options.headerName ?? \"authorization\";\n const authHeader = req.headers[headerName] as string | undefined;\n\n if (!authHeader) {\n if (this.options.optional) return next();\n throw new UnauthorizedException(\"Authorization header missing\");\n }\n\n const token = this.extractToken(authHeader);\n\n if (this.options.validate) {\n const isValid = await this.options.validate(token, req);\n\n if (!isValid) {\n throw new UnauthorizedException(\"Invalid authentication token\");\n }\n }\n\n next();\n }\n\n private extractToken(header: string): string {\n if (header.startsWith(\"Bearer \")) {\n return header.slice(7);\n }\n return header;\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,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;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEhD,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACtC,CAAC;QAED,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAA;AAvBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,+BAAuB,CAAC,CAAA;;GAF3B,cAAc,CAuB1B","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\n const token = authHeader.replace(\"Bearer \", \"\");\n\n if (validate && !(await validate(token, req))) {\n throw new UnauthorizedException();\n }\n\n next();\n }\n}\n"]}