@nest-boot/auth 3.2.2 → 4.0.0-beta.2

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 (70) hide show
  1. package/dist/auth.guard.d.ts +13 -0
  2. package/dist/auth.guard.js +75 -0
  3. package/dist/auth.guard.js.map +1 -0
  4. package/dist/{middlewares/auth.middleware.d.ts → auth.middleware.d.ts} +5 -1
  5. package/dist/auth.middleware.js +60 -0
  6. package/dist/auth.middleware.js.map +1 -0
  7. package/dist/auth.module-definition.d.ts +4 -0
  8. package/dist/auth.module-definition.js +10 -0
  9. package/dist/auth.module-definition.js.map +1 -0
  10. package/dist/auth.module.d.ts +8 -0
  11. package/dist/auth.module.js +56 -0
  12. package/dist/auth.module.js.map +1 -0
  13. package/dist/auth.service.d.ts +12 -0
  14. package/dist/auth.service.js +65 -0
  15. package/dist/auth.service.js.map +1 -0
  16. package/dist/decorators/can.decorator.d.ts +1 -0
  17. package/dist/decorators/can.decorator.js +8 -0
  18. package/dist/decorators/can.decorator.js.map +1 -0
  19. package/dist/decorators/current-entity.decorator.d.ts +2 -0
  20. package/dist/decorators/current-entity.decorator.js +11 -0
  21. package/dist/decorators/current-entity.decorator.js.map +1 -0
  22. package/dist/decorators/current-personal-access-token.decorator.d.ts +1 -0
  23. package/dist/decorators/current-personal-access-token.decorator.js +10 -0
  24. package/dist/decorators/current-personal-access-token.decorator.js.map +1 -0
  25. package/dist/decorators/index.d.ts +4 -0
  26. package/dist/{middlewares → decorators}/index.js +4 -1
  27. package/dist/decorators/index.js.map +1 -0
  28. package/dist/decorators/require-auth.decorator.d.ts +1 -0
  29. package/dist/decorators/require-auth.decorator.js +8 -0
  30. package/dist/decorators/require-auth.decorator.js.map +1 -0
  31. package/dist/index.d.ts +5 -15
  32. package/dist/index.js +5 -3
  33. package/dist/index.js.map +1 -1
  34. package/dist/interfaces/auth-module-options.interface.d.ts +12 -0
  35. package/dist/interfaces/auth-module-options.interface.js +3 -0
  36. package/dist/interfaces/auth-module-options.interface.js.map +1 -0
  37. package/dist/interfaces/auth-payload.interface.d.ts +6 -0
  38. package/dist/interfaces/auth-payload.interface.js +3 -0
  39. package/dist/interfaces/auth-payload.interface.js.map +1 -0
  40. package/dist/interfaces/index.d.ts +3 -0
  41. package/dist/interfaces/index.js +3 -0
  42. package/dist/interfaces/index.js.map +1 -1
  43. package/dist/interfaces/personal-access-token.interface.d.ts +9 -0
  44. package/dist/interfaces/personal-access-token.interface.js +3 -0
  45. package/dist/interfaces/personal-access-token.interface.js.map +1 -0
  46. package/dist/tsconfig.tsbuildinfo +1 -0
  47. package/dist/utils/mixin-permissions.utils.d.ts +2 -4
  48. package/dist/utils/mixin-permissions.utils.js +5 -1
  49. package/dist/utils/mixin-permissions.utils.js.map +1 -1
  50. package/package.json +33 -18
  51. package/dist/entities/index.d.ts +0 -2
  52. package/dist/entities/index.js +0 -19
  53. package/dist/entities/index.js.map +0 -1
  54. package/dist/entities/permission.entity.d.ts +0 -3
  55. package/dist/entities/permission.entity.js +0 -24
  56. package/dist/entities/permission.entity.js.map +0 -1
  57. package/dist/entities/personal-access-token.entity.d.ts +0 -5
  58. package/dist/entities/personal-access-token.entity.js +0 -40
  59. package/dist/entities/personal-access-token.entity.js.map +0 -1
  60. package/dist/guards/base-auth.guard.d.ts +0 -7
  61. package/dist/guards/base-auth.guard.js +0 -23
  62. package/dist/guards/base-auth.guard.js.map +0 -1
  63. package/dist/guards/index.d.ts +0 -1
  64. package/dist/guards/index.js +0 -18
  65. package/dist/guards/index.js.map +0 -1
  66. package/dist/middlewares/auth.middleware.js +0 -56
  67. package/dist/middlewares/auth.middleware.js.map +0 -1
  68. package/dist/middlewares/index.d.ts +0 -1
  69. package/dist/middlewares/index.js.map +0 -1
  70. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1,3 +0,0 @@
1
- export declare class Permission {
2
- name: string;
3
- }
@@ -1,24 +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.Permission = void 0;
13
- const core_1 = require("@mikro-orm/core");
14
- let Permission = class Permission {
15
- };
16
- __decorate([
17
- (0, core_1.Property)(),
18
- __metadata("design:type", String)
19
- ], Permission.prototype, "name", void 0);
20
- Permission = __decorate([
21
- (0, core_1.Entity)()
22
- ], Permission);
23
- exports.Permission = Permission;
24
- //# sourceMappingURL=permission.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission.entity.js","sourceRoot":"","sources":["../../src/entities/permission.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAmD;AAG5C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAGtB,CAAA;AAFC;IAAC,IAAA,eAAQ,GAAE;;wCACE;AAFF,UAAU;IADtB,IAAA,aAAM,GAAE;GACI,UAAU,CAGtB;AAHY,gCAAU"}
@@ -1,5 +0,0 @@
1
- export declare class PersonalAccessToken {
2
- token: string;
3
- entity: string;
4
- entityId: string;
5
- }
@@ -1,40 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PersonalAccessToken = void 0;
16
- const core_1 = require("@mikro-orm/core");
17
- const crypto_1 = __importDefault(require("crypto"));
18
- let PersonalAccessToken = class PersonalAccessToken {
19
- };
20
- __decorate([
21
- (0, core_1.Property)({
22
- length: 64,
23
- unique: true,
24
- onCreate: () => crypto_1.default.randomBytes(32).toString("hex"),
25
- }),
26
- __metadata("design:type", String)
27
- ], PersonalAccessToken.prototype, "token", void 0);
28
- __decorate([
29
- (0, core_1.Property)(),
30
- __metadata("design:type", String)
31
- ], PersonalAccessToken.prototype, "entity", void 0);
32
- __decorate([
33
- (0, core_1.Property)(),
34
- __metadata("design:type", String)
35
- ], PersonalAccessToken.prototype, "entityId", void 0);
36
- PersonalAccessToken = __decorate([
37
- (0, core_1.Entity)()
38
- ], PersonalAccessToken);
39
- exports.PersonalAccessToken = PersonalAccessToken;
40
- //# sourceMappingURL=personal-access-token.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"personal-access-token.entity.js","sourceRoot":"","sources":["../../src/entities/personal-access-token.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0CAAmD;AACnD,oDAA4B;AAGrB,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAa/B,CAAA;AAZC;IAAC,IAAA,eAAQ,EAAC;QACR,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KACvD,CAAC;;kDACY;AAEd;IAAC,IAAA,eAAQ,GAAE;;mDACI;AAEf;IAAC,IAAA,eAAQ,GAAE;;qDACM;AAZN,mBAAmB;IAD/B,IAAA,aAAM,GAAE;GACI,mBAAmB,CAa/B;AAbY,kDAAmB"}
@@ -1,7 +0,0 @@
1
- import { CanActivate, ExecutionContext } from "@nestjs/common";
2
- import { Reflector } from "@nestjs/core";
3
- export declare abstract class BaseAuthGuard implements CanActivate {
4
- protected abstract readonly reflector: Reflector;
5
- canActivate(executionContext: ExecutionContext): Promise<boolean>;
6
- protected abstract getPermissions(): Promise<string[]>;
7
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BaseAuthGuard = void 0;
7
- const common_1 = require("@nest-boot/common");
8
- const lodash_1 = __importDefault(require("lodash"));
9
- class BaseAuthGuard {
10
- async canActivate(executionContext) {
11
- const ctx = common_1.Context.get();
12
- const permissions = this.reflector.get(common_1.PERMISSIONS_METADATA_KEY, executionContext.getHandler());
13
- if (permissions === null || permissions === void 0 ? void 0 : permissions.includes("PUBLIC")) {
14
- return true;
15
- }
16
- if (!permissions && ctx.user) {
17
- return true;
18
- }
19
- return (lodash_1.default.intersection(await this.getPermissions(), permissions || []).length > 0);
20
- }
21
- }
22
- exports.BaseAuthGuard = BaseAuthGuard;
23
- //# sourceMappingURL=base-auth.guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-auth.guard.js","sourceRoot":"","sources":["../../src/guards/base-auth.guard.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsE;AAGtE,oDAAuB;AAEvB,MAAsB,aAAa;IAG1B,KAAK,CAAC,WAAW,CACtB,gBAAkC;QAGlC,MAAM,GAAG,GAAG,gBAAO,CAAC,GAAG,EAAE,CAAC;QAG1B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACpC,iCAAwB,EACxB,gBAAgB,CAAC,UAAU,EAAE,CAC9B,CAAC;QAGF,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;QAGD,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QAGD,OAAO,CACL,gBAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1E,CAAC;IACJ,CAAC;CAGF;AAhCD,sCAgCC"}
@@ -1 +0,0 @@
1
- export * from "./base-auth.guard";
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./base-auth.guard"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -1,56 +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.AuthMiddleware = void 0;
13
- const common_1 = require("@nest-boot/common");
14
- const core_1 = require("@mikro-orm/core");
15
- const common_2 = require("@nestjs/common");
16
- const entities_1 = require("../entities");
17
- let AuthMiddleware = class AuthMiddleware {
18
- constructor(entityManager) {
19
- this.entityManager = entityManager;
20
- }
21
- async use(req, res, next) {
22
- const ctx = common_1.Context.get();
23
- const accessTokenRepository = this.entityManager.getRepository(entities_1.PersonalAccessToken);
24
- const accessToken = await accessTokenRepository.findOne({
25
- token: this.extractAccessToken(req),
26
- });
27
- if (accessToken) {
28
- const repository = this.entityManager.getRepository(accessToken.entity);
29
- const entity = await repository.findOne(accessToken.entityId);
30
- ctx.accessToken = accessToken.token;
31
- ctx.user = entity;
32
- }
33
- return next();
34
- }
35
- extractAccessToken(req) {
36
- var _a, _b;
37
- let accessToken;
38
- if (!accessToken) {
39
- const authorizationHeader = req.get("Authorization");
40
- if (authorizationHeader) {
41
- accessToken =
42
- ((_a = authorizationHeader.match(/[Bb]earer\s+(.+)$/i)) === null || _a === void 0 ? void 0 : _a[1]) || "";
43
- }
44
- }
45
- if (!accessToken) {
46
- accessToken = (_b = req.cookies) === null || _b === void 0 ? void 0 : _b.access_token;
47
- }
48
- return accessToken;
49
- }
50
- };
51
- AuthMiddleware = __decorate([
52
- (0, common_2.Injectable)(),
53
- __metadata("design:paramtypes", [core_1.EntityManager])
54
- ], AuthMiddleware);
55
- exports.AuthMiddleware = AuthMiddleware;
56
- //# sourceMappingURL=auth.middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../src/middlewares/auth.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4C;AAC5C,0CAAgD;AAChD,2CAA4D;AAG5D,0CAAkD;AAG3C,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB;QAErD,MAAM,GAAG,GAAG,gBAAO,CAAC,GAAG,EAAE,CAAC;QAG1B,MAAM,qBAAqB,GACzB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,8BAAmB,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACjD,WAAW,CAAC,MAAM,CACnB,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAG9D,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;YACpC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;SACnB;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,GAAY;;QACrC,IAAI,WAAmB,CAAC;QAGxB,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,mBAAmB,EAAE;gBACvB,WAAW;oBACT,CAAA,MAAA,mBAAmB,CAAC,KAAK,CAAC,oBAAoB,CAAC,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC;aAC9D;SACF;QAGD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,0CAAE,YAAY,CAAC;SACzC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAA;AAhDY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEiC,oBAAa;GAD9C,cAAc,CAgD1B;AAhDY,wCAAc"}
@@ -1 +0,0 @@
1
- export * from "./auth.middleware";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}