@nest-boot/auth 6.0.0-alpha.2 → 6.0.0-beta.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.
Files changed (59) hide show
  1. package/dist/auth.guard.d.ts +25 -4
  2. package/dist/auth.guard.js +65 -40
  3. package/dist/auth.guard.js.map +1 -1
  4. package/dist/auth.module.d.ts +1 -6
  5. package/dist/auth.module.js +3 -26
  6. package/dist/auth.module.js.map +1 -1
  7. package/dist/auth.service.d.ts +51 -18
  8. package/dist/auth.service.js +82 -44
  9. package/dist/auth.service.js.map +1 -1
  10. package/dist/decorators/current-personal-access-token.decorator.d.ts +1 -1
  11. package/dist/decorators/current-personal-access-token.decorator.js +4 -4
  12. package/dist/decorators/current-personal-access-token.decorator.js.map +1 -1
  13. package/dist/decorators/current-user.decorator.d.ts +1 -0
  14. package/dist/decorators/current-user.decorator.js +10 -0
  15. package/dist/decorators/current-user.decorator.js.map +1 -0
  16. package/dist/decorators/index.d.ts +1 -1
  17. package/dist/decorators/index.js +1 -1
  18. package/dist/decorators/index.js.map +1 -1
  19. package/dist/entities/index.d.ts +2 -0
  20. package/dist/{utils → entities}/index.js +2 -1
  21. package/dist/entities/index.js.map +1 -0
  22. package/dist/entities/personal-access-token.entity.d.ts +14 -0
  23. package/dist/entities/personal-access-token.entity.js +72 -0
  24. package/dist/entities/personal-access-token.entity.js.map +1 -0
  25. package/dist/entities/user.entity.d.ts +13 -0
  26. package/dist/entities/user.entity.js +68 -0
  27. package/dist/entities/user.entity.js.map +1 -0
  28. package/dist/index.d.ts +1 -3
  29. package/dist/index.js +1 -3
  30. package/dist/index.js.map +1 -1
  31. package/dist/interfaces/auth-module-options.interface.d.ts +6 -9
  32. package/dist/interfaces/index.d.ts +0 -2
  33. package/dist/interfaces/index.js +0 -2
  34. package/dist/interfaces/index.js.map +1 -1
  35. package/dist/tsconfig.build.tsbuildinfo +1 -1
  36. package/dist/utils/random-string.util.d.ts +6 -0
  37. package/dist/utils/random-string.util.js +27 -0
  38. package/dist/utils/random-string.util.js.map +1 -0
  39. package/package.json +23 -19
  40. package/dist/auth.constants.d.ts +0 -2
  41. package/dist/auth.constants.js +0 -6
  42. package/dist/auth.constants.js.map +0 -1
  43. package/dist/auth.middleware.d.ts +0 -13
  44. package/dist/auth.middleware.js +0 -67
  45. package/dist/auth.middleware.js.map +0 -1
  46. package/dist/decorators/current-entity.decorator.d.ts +0 -2
  47. package/dist/decorators/current-entity.decorator.js +0 -11
  48. package/dist/decorators/current-entity.decorator.js.map +0 -1
  49. package/dist/interfaces/access-token.interface.d.ts +0 -9
  50. package/dist/interfaces/access-token.interface.js +0 -3
  51. package/dist/interfaces/access-token.interface.js.map +0 -1
  52. package/dist/interfaces/has-permission.interface.d.ts +0 -3
  53. package/dist/interfaces/has-permission.interface.js +0 -3
  54. package/dist/interfaces/has-permission.interface.js.map +0 -1
  55. package/dist/utils/index.d.ts +0 -1
  56. package/dist/utils/index.js.map +0 -1
  57. package/dist/utils/mixin-permissions.utils.d.ts +0 -3
  58. package/dist/utils/mixin-permissions.utils.js +0 -16
  59. package/dist/utils/mixin-permissions.utils.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { Ref } from "@mikro-orm/core";
2
+ import { User } from "./user.entity";
3
+ export declare class PersonalAccessToken {
4
+ constructor(data: Pick<PersonalAccessToken, "token" | "permissions" | "lastUsedAt" | "expiresAt" | "createdAt" | "updatedAt" | "user"> & Partial<Pick<PersonalAccessToken, "id" | "name">>);
5
+ id: string;
6
+ name: string | null;
7
+ token: string;
8
+ permissions: string[];
9
+ lastUsedAt: Date | null;
10
+ expiresAt: Date | null;
11
+ createdAt: Date | null;
12
+ updatedAt: Date | null;
13
+ user: Ref<User>;
14
+ }
@@ -0,0 +1,72 @@
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.PersonalAccessToken = void 0;
13
+ const core_1 = require("@mikro-orm/core");
14
+ const crypto_1 = require("crypto");
15
+ const user_entity_1 = require("./user.entity");
16
+ let PersonalAccessToken = class PersonalAccessToken {
17
+ constructor(data) {
18
+ this.id = (0, crypto_1.randomUUID)();
19
+ this.name = null;
20
+ this.token = data.token;
21
+ this.permissions = data.permissions;
22
+ this.lastUsedAt = data.lastUsedAt;
23
+ this.expiresAt = data.expiresAt;
24
+ this.createdAt = data.createdAt;
25
+ this.updatedAt = data.updatedAt;
26
+ this.user = data.user;
27
+ data.id !== void 0 && (this.id = data.id);
28
+ data.name !== void 0 && (this.name = data.name);
29
+ }
30
+ };
31
+ exports.PersonalAccessToken = PersonalAccessToken;
32
+ __decorate([
33
+ (0, core_1.PrimaryKey)({ type: core_1.t.uuid }),
34
+ __metadata("design:type", String)
35
+ ], PersonalAccessToken.prototype, "id", void 0);
36
+ __decorate([
37
+ (0, core_1.Property)({ nullable: true }),
38
+ __metadata("design:type", Object)
39
+ ], PersonalAccessToken.prototype, "name", void 0);
40
+ __decorate([
41
+ (0, core_1.Property)({ unique: true, length: 64 }),
42
+ __metadata("design:type", String)
43
+ ], PersonalAccessToken.prototype, "token", void 0);
44
+ __decorate([
45
+ (0, core_1.Property)({ type: core_1.t.array }),
46
+ __metadata("design:type", Array)
47
+ ], PersonalAccessToken.prototype, "permissions", void 0);
48
+ __decorate([
49
+ (0, core_1.Property)({ nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], PersonalAccessToken.prototype, "lastUsedAt", void 0);
52
+ __decorate([
53
+ (0, core_1.Property)({ nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], PersonalAccessToken.prototype, "expiresAt", void 0);
56
+ __decorate([
57
+ (0, core_1.Property)({ nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], PersonalAccessToken.prototype, "createdAt", void 0);
60
+ __decorate([
61
+ (0, core_1.Property)({ nullable: true }),
62
+ __metadata("design:type", Object)
63
+ ], PersonalAccessToken.prototype, "updatedAt", void 0);
64
+ __decorate([
65
+ (0, core_1.ManyToOne)(() => user_entity_1.User),
66
+ __metadata("design:type", Object)
67
+ ], PersonalAccessToken.prototype, "user", void 0);
68
+ exports.PersonalAccessToken = PersonalAccessToken = __decorate([
69
+ (0, core_1.Entity)(),
70
+ __metadata("design:paramtypes", [Object])
71
+ ], PersonalAccessToken);
72
+ //# sourceMappingURL=personal-access-token.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personal-access-token.entity.js","sourceRoot":"","sources":["../../src/entities/personal-access-token.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAOyB;AACzB,mCAAoC;AAEpC,+CAAqC;AAG9B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YACE,IAUmD;QAerD,OAAE,GAAW,IAAA,mBAAU,GAAE,CAAC;QAG1B,SAAI,GAAkB,IAAI,CAAC;QAhBzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CA4BF,CAAA;AApDY,kDAAmB;AA2B9B;IADC,IAAA,iBAAU,EAAC,EAAE,IAAI,EAAE,QAAC,CAAC,IAAI,EAAE,CAAC;;+CACH;AAG1B;IADC,IAAA,eAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACF;AAG3B;IADC,IAAA,eAAQ,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;kDACzB;AAGd;IADC,IAAA,eAAQ,EAAC,EAAE,IAAI,EAAE,QAAC,CAAC,KAAK,EAAE,CAAC;;wDACN;AAGtB;IADC,IAAA,eAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACL;AAGxB;IADC,IAAA,eAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAGvB;IADC,IAAA,eAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAGvB;IADC,IAAA,eAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAGvB;IADC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;;iDACN;8BAnDL,mBAAmB;IAD/B,IAAA,aAAM,GAAE;;GACI,mBAAmB,CAoD/B"}
@@ -0,0 +1,13 @@
1
+ import { Collection } from "@mikro-orm/core";
2
+ import { PersonalAccessToken } from "./personal-access-token.entity";
3
+ export declare class User {
4
+ constructor(data: Pick<User, "id" | "name" | "email" | "password" | "permissions"> & Partial<Pick<User, "createdAt" | "updatedAt" | "personalAccessTokens">>);
5
+ id: string;
6
+ name: string;
7
+ email: string;
8
+ password: string;
9
+ permissions: string[];
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ personalAccessTokens: Collection<PersonalAccessToken, object>;
13
+ }
@@ -0,0 +1,68 @@
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.User = void 0;
13
+ const core_1 = require("@mikro-orm/core");
14
+ const personal_access_token_entity_1 = require("./personal-access-token.entity");
15
+ let User = class User {
16
+ constructor(data) {
17
+ this.createdAt = new Date();
18
+ this.updatedAt = new Date();
19
+ this.personalAccessTokens = new core_1.Collection(this);
20
+ this.id = data.id;
21
+ this.name = data.name;
22
+ this.email = data.email;
23
+ this.password = data.password;
24
+ this.permissions = data.permissions;
25
+ data.createdAt !== void 0 && (this.createdAt = data.createdAt);
26
+ data.updatedAt !== void 0 && (this.updatedAt = data.updatedAt);
27
+ data.personalAccessTokens !== void 0 &&
28
+ (this.personalAccessTokens = data.personalAccessTokens);
29
+ }
30
+ };
31
+ exports.User = User;
32
+ __decorate([
33
+ (0, core_1.PrimaryKey)(),
34
+ __metadata("design:type", String)
35
+ ], User.prototype, "id", void 0);
36
+ __decorate([
37
+ (0, core_1.Property)(),
38
+ __metadata("design:type", String)
39
+ ], User.prototype, "name", void 0);
40
+ __decorate([
41
+ (0, core_1.Property)({ unique: true }),
42
+ __metadata("design:type", String)
43
+ ], User.prototype, "email", void 0);
44
+ __decorate([
45
+ (0, core_1.Property)(),
46
+ __metadata("design:type", String)
47
+ ], User.prototype, "password", void 0);
48
+ __decorate([
49
+ (0, core_1.Property)({ type: core_1.t.array }),
50
+ __metadata("design:type", Array)
51
+ ], User.prototype, "permissions", void 0);
52
+ __decorate([
53
+ (0, core_1.Property)(),
54
+ __metadata("design:type", Date)
55
+ ], User.prototype, "createdAt", void 0);
56
+ __decorate([
57
+ (0, core_1.Property)(),
58
+ __metadata("design:type", Date)
59
+ ], User.prototype, "updatedAt", void 0);
60
+ __decorate([
61
+ (0, core_1.OneToMany)(() => personal_access_token_entity_1.PersonalAccessToken, (personalAccessToken) => personalAccessToken.user),
62
+ __metadata("design:type", Object)
63
+ ], User.prototype, "personalAccessTokens", void 0);
64
+ exports.User = User = __decorate([
65
+ (0, core_1.Entity)(),
66
+ __metadata("design:paramtypes", [Object])
67
+ ], User);
68
+ //# sourceMappingURL=user.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAOyB;AAEzB,iFAAqE;AAG9D,IAAM,IAAI,GAAV,MAAM,IAAI;IACf,YACE,IACyE;QA8B3E,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAG7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAM7B,yBAAoB,GAAG,IAAI,iBAAU,CAAsB,IAAI,CAAC,CAAC;QArC/D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEpC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC;YAClC,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC;CA4BF,CAAA;AA3CY,oBAAI;AAkBf;IADC,IAAA,iBAAU,GAAE;;gCACF;AAGX;IADC,IAAA,eAAQ,GAAE;;kCACE;AAGb;IADC,IAAA,eAAQ,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;mCACb;AAGd;IADC,IAAA,eAAQ,GAAE;;sCACM;AAGjB;IADC,IAAA,eAAQ,EAAC,EAAE,IAAI,EAAE,QAAC,CAAC,KAAK,EAAE,CAAC;;yCACN;AAGtB;IADC,IAAA,eAAQ,GAAE;8BACA,IAAI;uCAAc;AAG7B;IADC,IAAA,eAAQ,GAAE;8BACA,IAAI;uCAAc;AAM7B;IAJC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,kDAAmB,EACzB,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAClD;;kDACgE;eA1CtD,IAAI;IADhB,IAAA,aAAM,GAAE;;GACI,IAAI,CA2ChB"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,6 @@
1
- export * from "./auth.constants";
2
1
  export * from "./auth.guard";
3
- export * from "./auth.middleware";
4
2
  export * from "./auth.module";
5
3
  export * from "./auth.service";
6
4
  export * from "./decorators";
5
+ export * from "./entities";
7
6
  export * from "./interfaces";
8
- export * from "./utils";
package/dist/index.js CHANGED
@@ -14,12 +14,10 @@ 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
- __exportStar(require("./auth.constants"), exports);
18
17
  __exportStar(require("./auth.guard"), exports);
19
- __exportStar(require("./auth.middleware"), exports);
20
18
  __exportStar(require("./auth.module"), exports);
21
19
  __exportStar(require("./auth.service"), exports);
22
20
  __exportStar(require("./decorators"), exports);
21
+ __exportStar(require("./entities"), exports);
23
22
  __exportStar(require("./interfaces"), exports);
24
- __exportStar(require("./utils"), exports);
25
23
  //# 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":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,+CAA6B;AAC7B,oDAAkC;AAClC,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B"}
@@ -1,13 +1,10 @@
1
1
  import { type EntityClass } from "@mikro-orm/core";
2
- import { type RouteInfo, type Type } from "@nestjs/common/interfaces";
3
- import { type AccessTokenInterface } from "./access-token.interface";
4
- /**
5
- * 认证模块选项
6
- */
2
+ import { PersonalAccessToken, User } from "../entities";
7
3
  export interface AuthModuleOptions {
8
- accessTokenEntityClass: EntityClass<AccessTokenInterface>;
9
- expiresIn?: string | number;
4
+ entities?: {
5
+ User?: EntityClass<User>;
6
+ PersonalAccessToken?: EntityClass<PersonalAccessToken>;
7
+ };
8
+ expiresIn?: number;
10
9
  defaultRequireAuth?: boolean;
11
- includeRoutes?: Array<string | Type<any> | RouteInfo>;
12
- excludeRoutes?: Array<string | RouteInfo>;
13
10
  }
@@ -1,3 +1 @@
1
- export * from "./access-token.interface";
2
1
  export * from "./auth-module-options.interface";
3
- export * from "./has-permission.interface";
@@ -14,7 +14,5 @@ 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
- __exportStar(require("./access-token.interface"), exports);
18
17
  __exportStar(require("./auth-module-options.interface"), exports);
19
- __exportStar(require("./has-permission.interface"), exports);
20
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,kEAAgD;AAChD,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD"}