@solidxai/core 0.1.8-beta.9 → 0.1.9-beta.0

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 (140) hide show
  1. package/README.md +197 -0
  2. package/dist/controllers/authentication.controller.d.ts +32 -2
  3. package/dist/controllers/authentication.controller.d.ts.map +1 -1
  4. package/dist/controllers/authentication.controller.js +80 -3
  5. package/dist/controllers/authentication.controller.js.map +1 -1
  6. package/dist/dtos/create-api-key.dto.d.ts +5 -0
  7. package/dist/dtos/create-api-key.dto.d.ts.map +1 -0
  8. package/dist/dtos/create-api-key.dto.js +34 -0
  9. package/dist/dtos/create-api-key.dto.js.map +1 -0
  10. package/dist/dtos/register-private.dto.d.ts +3 -5
  11. package/dist/dtos/register-private.dto.d.ts.map +1 -1
  12. package/dist/dtos/register-private.dto.js +6 -18
  13. package/dist/dtos/register-private.dto.js.map +1 -1
  14. package/dist/dtos/sso-exchange.dto.d.ts +4 -0
  15. package/dist/dtos/sso-exchange.dto.d.ts.map +1 -0
  16. package/dist/dtos/sso-exchange.dto.js +26 -0
  17. package/dist/dtos/sso-exchange.dto.js.map +1 -0
  18. package/dist/dtos/update-api-key.dto.d.ts +4 -0
  19. package/dist/dtos/update-api-key.dto.d.ts.map +1 -0
  20. package/dist/dtos/update-api-key.dto.js +28 -0
  21. package/dist/dtos/update-api-key.dto.js.map +1 -0
  22. package/dist/entities/setting.entity.d.ts +1 -0
  23. package/dist/entities/setting.entity.d.ts.map +1 -1
  24. package/dist/entities/setting.entity.js +5 -1
  25. package/dist/entities/setting.entity.js.map +1 -1
  26. package/dist/entities/user-api-key.entity.d.ts +12 -0
  27. package/dist/entities/user-api-key.entity.d.ts.map +1 -0
  28. package/dist/entities/user-api-key.entity.js +62 -0
  29. package/dist/entities/user-api-key.entity.js.map +1 -0
  30. package/dist/entities/user.entity.d.ts +3 -0
  31. package/dist/entities/user.entity.d.ts.map +1 -1
  32. package/dist/entities/user.entity.js +12 -1
  33. package/dist/entities/user.entity.js.map +1 -1
  34. package/dist/enums/auth-type.enum.d.ts +2 -1
  35. package/dist/enums/auth-type.enum.d.ts.map +1 -1
  36. package/dist/enums/auth-type.enum.js +2 -1
  37. package/dist/enums/auth-type.enum.js.map +1 -1
  38. package/dist/guards/api-key.guard.d.ts +11 -0
  39. package/dist/guards/api-key.guard.d.ts.map +1 -0
  40. package/dist/guards/api-key.guard.js +43 -0
  41. package/dist/guards/api-key.guard.js.map +1 -0
  42. package/dist/guards/authentication.guard.d.ts +4 -2
  43. package/dist/guards/authentication.guard.d.ts.map +1 -1
  44. package/dist/guards/authentication.guard.js +7 -3
  45. package/dist/guards/authentication.guard.js.map +1 -1
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/interfaces.d.ts +12 -0
  51. package/dist/interfaces.d.ts.map +1 -1
  52. package/dist/interfaces.js.map +1 -1
  53. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
  54. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts.map +1 -1
  55. package/dist/jobs/database/chatter-queue-publisher-database.service.js.map +1 -1
  56. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +1 -1
  57. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts.map +1 -1
  58. package/dist/jobs/database/chatter-queue-subscriber-database.service.js.map +1 -1
  59. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -12
  60. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts.map +1 -1
  61. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.js.map +1 -1
  62. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +1 -1
  63. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts.map +1 -1
  64. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js.map +1 -1
  65. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +1 -1
  66. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts.map +1 -1
  67. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js.map +1 -1
  68. package/dist/repository/user-api-key.repository.d.ts +12 -0
  69. package/dist/repository/user-api-key.repository.d.ts.map +1 -0
  70. package/dist/repository/user-api-key.repository.js +34 -0
  71. package/dist/repository/user-api-key.repository.js.map +1 -0
  72. package/dist/seeders/module-test-data.service.d.ts +3 -0
  73. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  74. package/dist/seeders/module-test-data.service.js +92 -0
  75. package/dist/seeders/module-test-data.service.js.map +1 -1
  76. package/dist/seeders/seed-data/solid-core-metadata.json +128 -0
  77. package/dist/services/api-key.service.d.ts +20 -0
  78. package/dist/services/api-key.service.d.ts.map +1 -0
  79. package/dist/services/api-key.service.js +98 -0
  80. package/dist/services/api-key.service.js.map +1 -0
  81. package/dist/services/authentication.service.d.ts +19 -1
  82. package/dist/services/authentication.service.d.ts.map +1 -1
  83. package/dist/services/authentication.service.js +31 -5
  84. package/dist/services/authentication.service.js.map +1 -1
  85. package/dist/services/encryption.service.d.ts +8 -0
  86. package/dist/services/encryption.service.d.ts.map +1 -0
  87. package/dist/services/encryption.service.js +75 -0
  88. package/dist/services/encryption.service.js.map +1 -0
  89. package/dist/services/setting.service.d.ts +1 -0
  90. package/dist/services/setting.service.d.ts.map +1 -1
  91. package/dist/services/setting.service.js +35 -7
  92. package/dist/services/setting.service.js.map +1 -1
  93. package/dist/services/settings/default-settings-provider.service.d.ts +12 -0
  94. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  95. package/dist/services/settings/default-settings-provider.service.js +4 -3
  96. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  97. package/dist/services/sso-code-storage.service.d.ts +15 -0
  98. package/dist/services/sso-code-storage.service.d.ts.map +1 -0
  99. package/dist/services/sso-code-storage.service.js +47 -0
  100. package/dist/services/sso-code-storage.service.js.map +1 -0
  101. package/dist/solid-core.module.d.ts.map +1 -1
  102. package/dist/solid-core.module.js +10 -0
  103. package/dist/solid-core.module.js.map +1 -1
  104. package/dist/subscribers/audit.subscriber.d.ts +1 -1
  105. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  106. package/dist/subscribers/audit.subscriber.js.map +1 -1
  107. package/dist/testing/contracts/testing-metadata.types.d.ts +14 -0
  108. package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -1
  109. package/dist/testing/contracts/testing-metadata.types.js.map +1 -1
  110. package/package.json +1 -1
  111. package/src/controllers/authentication.controller.ts +59 -3
  112. package/src/dtos/create-api-key.dto.ts +14 -0
  113. package/src/dtos/register-private.dto.ts +5 -14
  114. package/src/dtos/sso-exchange.dto.ts +7 -0
  115. package/src/dtos/update-api-key.dto.ts +9 -0
  116. package/src/entities/setting.entity.ts +3 -0
  117. package/src/entities/user-api-key.entity.ts +37 -0
  118. package/src/entities/user.entity.ts +8 -0
  119. package/src/enums/auth-type.enum.ts +1 -0
  120. package/src/guards/api-key.guard.ts +32 -0
  121. package/src/guards/authentication.guard.ts +6 -3
  122. package/src/index.ts +2 -0
  123. package/src/interfaces.ts +16 -0
  124. package/src/jobs/database/chatter-queue-publisher-database.service.ts +1 -1
  125. package/src/jobs/database/chatter-queue-subscriber-database.service.ts +1 -1
  126. package/src/jobs/rabbitmq/chatter-queue-publisher.service.ts +1 -15
  127. package/src/jobs/rabbitmq/chatter-queue-subscriber.service.ts +1 -1
  128. package/src/jobs/redis/chatter-queue-subscriber-redis.service.ts +1 -1
  129. package/src/repository/user-api-key.repository.ts +17 -0
  130. package/src/seeders/module-test-data.service.ts +106 -0
  131. package/src/seeders/seed-data/solid-core-metadata.json +128 -0
  132. package/src/services/api-key.service.ts +111 -0
  133. package/src/services/authentication.service.ts +35 -3
  134. package/src/services/encryption.service.ts +43 -0
  135. package/src/services/setting.service.ts +38 -9
  136. package/src/services/settings/default-settings-provider.service.ts +4 -3
  137. package/src/services/sso-code-storage.service.ts +36 -0
  138. package/src/solid-core.module.ts +10 -0
  139. package/src/subscribers/audit.subscriber.ts +1 -1
  140. package/src/testing/contracts/testing-metadata.types.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"setting.entity.d.ts","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,qBACa,OAAQ,SAAQ,YAAY;IAIrC,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAKd,IAAI,EAAE,IAAI,CAAC;IAKX,cAAc,EAAE,cAAc,CAAC;CAClC"}
1
+ {"version":3,"file":"setting.entity.d.ts","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,qBACa,OAAQ,SAAQ,YAAY;IAIrC,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,SAAS,EAAE,OAAO,CAAC;IAKnB,IAAI,EAAE,IAAI,CAAC;IAKX,cAAc,EAAE,cAAc,CAAC;CAClC"}
@@ -17,7 +17,7 @@ const user_entity_1 = require("./user.entity");
17
17
  const module_metadata_entity_1 = require("./module-metadata.entity");
18
18
  let Setting = class Setting extends common_entity_1.CommonEntity {
19
19
  static _OPENAPI_METADATA_FACTORY() {
20
- return { key: { required: true, type: () => String }, value: { required: true, type: () => String }, type: { required: true, type: () => String }, level: { required: true, type: () => String }, user: { required: true, type: () => require("./user.entity").User }, moduleMetadata: { required: true, type: () => require("./module-metadata.entity").ModuleMetadata } };
20
+ return { key: { required: true, type: () => String }, value: { required: true, type: () => String }, type: { required: true, type: () => String }, level: { required: true, type: () => String }, encrypted: { required: true, type: () => Boolean }, user: { required: true, type: () => require("./user.entity").User }, moduleMetadata: { required: true, type: () => require("./module-metadata.entity").ModuleMetadata } };
21
21
  }
22
22
  };
23
23
  exports.Setting = Setting;
@@ -38,6 +38,10 @@ __decorate([
38
38
  (0, typeorm_1.Column)({ name: "level", type: "varchar", nullable: true }),
39
39
  __metadata("design:type", String)
40
40
  ], Setting.prototype, "level", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ name: "encrypted", default: false }),
43
+ __metadata("design:type", Boolean)
44
+ ], Setting.prototype, "encrypted", void 0);
41
45
  __decorate([
42
46
  (0, typeorm_1.Index)(),
43
47
  (0, typeorm_1.ManyToOne)(() => user_entity_1.User, { nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"setting.entity.js","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAuE;AACvE,+CAA+C;AAC/C,qEAA0D;AAGnD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAAY;;;;CAwBxC,CAAA;AAxBY,0BAAO;AAIhB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oCACjC;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC9B;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCAC7C;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC7C;AAKd;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAU,GAAE;8BACP,kBAAI;qCAAC;AAKX;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,IAAA,oBAAU,GAAE;8BACG,uCAAc;+CAAC;kBAvBtB,OAAO;IADnB,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,OAAO,CAwBnB","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity'\nimport { Entity, Column, Index, JoinColumn, ManyToOne } from 'typeorm';\nimport { User } from 'src/entities/user.entity'\nimport { ModuleMetadata } from './module-metadata.entity';\n\n@Entity(\"ss_setting\")\nexport class Setting extends CommonEntity {\n\n @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: false })\n key: string;\n\n @Column({ type: \"varchar\", nullable: true })\n value: string;\n\n @Column({ name: \"type\", type: \"varchar\", nullable: true })\n type: string;\n\n @Column({ name: \"level\", type: \"varchar\", nullable: true })\n level: string;\n\n @Index()\n @ManyToOne(() => User, { nullable: true })\n @JoinColumn()\n user: User;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: true })\n @JoinColumn()\n moduleMetadata: ModuleMetadata;\n}\n"]}
1
+ {"version":3,"file":"setting.entity.js","sourceRoot":"","sources":["../../src/entities/setting.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAuE;AACvE,+CAA+C;AAC/C,qEAA0D;AAGnD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAAY;;;;CA2BxC,CAAA;AA3BY,0BAAO;AAIhB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oCACjC;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC9B;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCAC7C;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC7C;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;0CAC3B;AAKnB;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAU,GAAE;8BACP,kBAAI;qCAAC;AAKX;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,IAAA,oBAAU,GAAE;8BACG,uCAAc;+CAAC;kBA1BtB,OAAO;IADnB,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,OAAO,CA2BnB","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity'\nimport { Entity, Column, Index, JoinColumn, ManyToOne } from 'typeorm';\nimport { User } from 'src/entities/user.entity'\nimport { ModuleMetadata } from './module-metadata.entity';\n\n@Entity(\"ss_setting\")\nexport class Setting extends CommonEntity {\n\n @Index({ unique: true })\n @Column({ type: \"varchar\", nullable: false })\n key: string;\n\n @Column({ type: \"varchar\", nullable: true })\n value: string;\n\n @Column({ name: \"type\", type: \"varchar\", nullable: true })\n type: string;\n\n @Column({ name: \"level\", type: \"varchar\", nullable: true })\n level: string;\n\n @Column({ name: \"encrypted\", default: false })\n encrypted: boolean; \n\n @Index()\n @ManyToOne(() => User, { nullable: true })\n @JoinColumn()\n user: User;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: true })\n @JoinColumn()\n moduleMetadata: ModuleMetadata;\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { CommonEntity } from "src/entities/common.entity";
2
+ import { User } from "./user.entity";
3
+ export declare class UserApiKey extends CommonEntity {
4
+ name: string;
5
+ hashedKey: string;
6
+ maskedKey: string;
7
+ isActive: boolean;
8
+ expiresAt: Date;
9
+ lastUsedAt: Date;
10
+ user: User;
11
+ }
12
+ //# sourceMappingURL=user-api-key.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-api-key.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user-api-key.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,qBAEa,UAAW,SAAQ,YAAY;IAIxC,IAAI,EAAE,MAAM,CAAC;IAKb,SAAS,EAAE,MAAM,CAAC;IAIlB,SAAS,EAAE,MAAM,CAAC;IAIlB,QAAQ,EAAE,OAAO,CAAC;IAIlB,SAAS,EAAE,IAAI,CAAC;IAIhB,UAAU,EAAE,IAAI,CAAC;IAGjB,IAAI,EAAE,IAAI,CAAC;CACd"}
@@ -0,0 +1,62 @@
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.UserApiKey = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const common_entity_1 = require("./common.entity");
16
+ const typeorm_1 = require("typeorm");
17
+ const user_entity_1 = require("./user.entity");
18
+ let UserApiKey = class UserApiKey extends common_entity_1.CommonEntity {
19
+ static _OPENAPI_METADATA_FACTORY() {
20
+ return { name: { required: true, type: () => String }, hashedKey: { required: true, type: () => String }, maskedKey: { required: true, type: () => String }, isActive: { required: true, type: () => Boolean }, expiresAt: { required: true, type: () => Date }, lastUsedAt: { required: true, type: () => Date }, user: { required: true, type: () => require("./user.entity").User } };
21
+ }
22
+ };
23
+ exports.UserApiKey = UserApiKey;
24
+ __decorate([
25
+ (0, class_transformer_1.Expose)(),
26
+ (0, typeorm_1.Column)(),
27
+ __metadata("design:type", String)
28
+ ], UserApiKey.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Index)({ unique: true }),
31
+ (0, typeorm_1.Column)(),
32
+ __metadata("design:type", String)
33
+ ], UserApiKey.prototype, "hashedKey", void 0);
34
+ __decorate([
35
+ (0, class_transformer_1.Expose)(),
36
+ (0, typeorm_1.Column)(),
37
+ __metadata("design:type", String)
38
+ ], UserApiKey.prototype, "maskedKey", void 0);
39
+ __decorate([
40
+ (0, class_transformer_1.Expose)(),
41
+ (0, typeorm_1.Column)({ default: true }),
42
+ __metadata("design:type", Boolean)
43
+ ], UserApiKey.prototype, "isActive", void 0);
44
+ __decorate([
45
+ (0, class_transformer_1.Expose)(),
46
+ (0, typeorm_1.Column)({ nullable: true }),
47
+ __metadata("design:type", Date)
48
+ ], UserApiKey.prototype, "expiresAt", void 0);
49
+ __decorate([
50
+ (0, class_transformer_1.Expose)(),
51
+ (0, typeorm_1.Column)({ nullable: true }),
52
+ __metadata("design:type", Date)
53
+ ], UserApiKey.prototype, "lastUsedAt", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User, user => user.apiKeys),
56
+ __metadata("design:type", user_entity_1.User)
57
+ ], UserApiKey.prototype, "user", void 0);
58
+ exports.UserApiKey = UserApiKey = __decorate([
59
+ (0, typeorm_1.Entity)("ss_user_api_key"),
60
+ (0, class_transformer_1.Exclude)()
61
+ ], UserApiKey);
62
+ //# sourceMappingURL=user-api-key.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-api-key.entity.js","sourceRoot":"","sources":["../../src/entities/user-api-key.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAoD;AACpD,mDAA0D;AAC1D,qCAA2D;AAC3D,+CAAqC;AAI9B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,4BAAY;;;;CA6B3C,CAAA;AA7BY,gCAAU;AAInB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,GAAE;;wCACI;AAKb;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,GAAE;;6CACS;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,GAAE;;6CACS;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CACR;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAChB,IAAI;6CAAC;AAIhB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACf,IAAI;8CAAC;AAGjB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;8BACtC,kBAAI;wCAAC;qBA5BF,UAAU;IAFtB,IAAA,gBAAM,EAAC,iBAAiB,CAAC;IACzB,IAAA,2BAAO,GAAE;GACG,UAAU,CA6BtB","sourcesContent":["import { Exclude, Expose } from \"class-transformer\";\nimport { CommonEntity } from \"src/entities/common.entity\";\nimport { Column, Entity, Index, ManyToOne } from \"typeorm\";\nimport { User } from \"./user.entity\";\n\n@Entity(\"ss_user_api_key\")\n@Exclude()\nexport class UserApiKey extends CommonEntity {\n\n @Expose()\n @Column()\n name: string;\n\n // SHA-256 hash of the raw key — never exposed, same treatment as User.password\n @Index({ unique: true })\n @Column()\n hashedKey: string;\n\n @Expose()\n @Column()\n maskedKey: string;\n\n @Expose()\n @Column({ default: true })\n isActive: boolean;\n\n @Expose()\n @Column({ nullable: true })\n expiresAt: Date;\n\n @Expose()\n @Column({ nullable: true })\n lastUsedAt: Date;\n\n @ManyToOne(() => User, user => user.apiKeys)\n user: User;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { CommonEntity } from "src/entities/common.entity";
2
2
  import { RoleMetadata } from 'src/entities/role-metadata.entity';
3
3
  import { UserViewMetadata } from 'src/entities/user-view-metadata.entity';
4
+ import { UserApiKey } from 'src/entities/user-api-key.entity';
4
5
  export declare class User extends CommonEntity {
5
6
  fullName: string;
6
7
  username: string;
@@ -37,5 +38,7 @@ export declare class User extends CommonEntity {
37
38
  rehashedAt: Date;
38
39
  failedLoginAttempts: number;
39
40
  _media: any;
41
+ isAllowedToGenerateApiKeys: boolean;
42
+ apiKeys: UserApiKey[];
40
43
  }
41
44
  //# sourceMappingURL=user.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAGzE,qBAGa,IAAK,SAAQ,YAAY;IAGlC,QAAQ,EAAE,MAAM,CAAC;IAKjB,QAAQ,EAAE,MAAM,CAAC;IAKjB,KAAK,EAAE,MAAM,CAAC;IAKd,MAAM,EAAE,MAAM,CAAC;IAIf,QAAQ,EAAE,MAAM,CAAC;IAIjB,mBAAmB,EAAE,OAAO,CAAQ;IAIpC,iBAAiB,EAAE,MAAM,CAAW;IAIpC,UAAU,EAAE,MAAM,CAAC;IAInB,iBAAiB,EAAE,MAAM,CAAC;IAI1B,QAAQ,EAAE,MAAM,CAAC;IAIjB,oBAAoB,EAAE,MAAM,CAAC;IAI7B,MAAM,EAAE,OAAO,CAAQ;IAIvB,yBAAyB,EAAE,IAAI,CAAC;IAIhC,iCAAiC,EAAE,MAAM,CAAC;IAI1C,0CAA0C,EAAE,IAAI,CAAC;IAIjD,6BAA6B,EAAE,IAAI,CAAC;IAIpC,oCAAoC,EAAE,MAAM,CAAC;IAI7C,6CAA6C,EAAE,IAAI,CAAC;IAIpD,8BAA8B,EAAE,IAAI,CAAC;IAIrC,qCAAqC,EAAE,MAAM,CAAC;IAI9C,8CAA8C,EAAE,IAAI,CAAC;IAIrD,sBAAsB,EAAE,IAAI,CAAC;IAI7B,6BAA6B,EAAE,MAAM,CAAC;IAItC,sCAAsC,EAAE,IAAI,CAAC;IAI7C,uBAAuB,EAAE,IAAI,CAAC;IAI9B,8BAA8B,EAAE,MAAM,CAAC;IAIvC,uCAAuC,EAAE,IAAI,CAAC;IAI9C,aAAa,EAAE,MAAM,CAAC;IAKtB,KAAK,EAAE,YAAY,EAAE,CAAC;IAItB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAIrC,cAAc,EAAE,MAAM,CAAC;IAIvB,qBAAqB,EAAE,MAAM,CAAC;IAI9B,UAAU,EAAE,IAAI,CAAC;IAIjB,mBAAmB,EAAE,MAAM,CAAK;IAGhC,MAAM,EAAE,GAAG,CAAC;CAEf"}
1
+ {"version":3,"file":"user.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAG7D,qBAGa,IAAK,SAAQ,YAAY;IAGlC,QAAQ,EAAE,MAAM,CAAC;IAKjB,QAAQ,EAAE,MAAM,CAAC;IAKjB,KAAK,EAAE,MAAM,CAAC;IAKd,MAAM,EAAE,MAAM,CAAC;IAIf,QAAQ,EAAE,MAAM,CAAC;IAIjB,mBAAmB,EAAE,OAAO,CAAQ;IAIpC,iBAAiB,EAAE,MAAM,CAAW;IAIpC,UAAU,EAAE,MAAM,CAAC;IAInB,iBAAiB,EAAE,MAAM,CAAC;IAI1B,QAAQ,EAAE,MAAM,CAAC;IAIjB,oBAAoB,EAAE,MAAM,CAAC;IAI7B,MAAM,EAAE,OAAO,CAAQ;IAIvB,yBAAyB,EAAE,IAAI,CAAC;IAIhC,iCAAiC,EAAE,MAAM,CAAC;IAI1C,0CAA0C,EAAE,IAAI,CAAC;IAIjD,6BAA6B,EAAE,IAAI,CAAC;IAIpC,oCAAoC,EAAE,MAAM,CAAC;IAI7C,6CAA6C,EAAE,IAAI,CAAC;IAIpD,8BAA8B,EAAE,IAAI,CAAC;IAIrC,qCAAqC,EAAE,MAAM,CAAC;IAI9C,8CAA8C,EAAE,IAAI,CAAC;IAIrD,sBAAsB,EAAE,IAAI,CAAC;IAI7B,6BAA6B,EAAE,MAAM,CAAC;IAItC,sCAAsC,EAAE,IAAI,CAAC;IAI7C,uBAAuB,EAAE,IAAI,CAAC;IAI9B,8BAA8B,EAAE,MAAM,CAAC;IAIvC,uCAAuC,EAAE,IAAI,CAAC;IAI9C,aAAa,EAAE,MAAM,CAAC;IAKtB,KAAK,EAAE,YAAY,EAAE,CAAC;IAItB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAIrC,cAAc,EAAE,MAAM,CAAC;IAIvB,qBAAqB,EAAE,MAAM,CAAC;IAI9B,UAAU,EAAE,IAAI,CAAC;IAIjB,mBAAmB,EAAE,MAAM,CAAK;IAGhC,MAAM,EAAE,GAAG,CAAC;IAIZ,0BAA0B,EAAE,OAAO,CAAS;IAG5C,OAAO,EAAE,UAAU,EAAE,CAAC;CAEzB"}
@@ -15,6 +15,7 @@ const common_entity_1 = require("./common.entity");
15
15
  const typeorm_1 = require("typeorm");
16
16
  const role_metadata_entity_1 = require("./role-metadata.entity");
17
17
  const user_view_metadata_entity_1 = require("./user-view-metadata.entity");
18
+ const user_api_key_entity_1 = require("./user-api-key.entity");
18
19
  const class_transformer_1 = require("class-transformer");
19
20
  let User = class User extends common_entity_1.CommonEntity {
20
21
  constructor() {
@@ -23,9 +24,10 @@ let User = class User extends common_entity_1.CommonEntity {
23
24
  this.lastLoginProvider = "local";
24
25
  this.active = true;
25
26
  this.failedLoginAttempts = 0;
27
+ this.isAllowedToGenerateApiKeys = false;
26
28
  }
27
29
  static _OPENAPI_METADATA_FACTORY() {
28
- return { fullName: { required: true, type: () => String }, username: { required: true, type: () => String }, email: { required: true, type: () => String }, mobile: { required: true, type: () => String }, password: { required: true, type: () => String }, forcePasswordChange: { required: true, type: () => Boolean, default: true }, lastLoginProvider: { required: true, type: () => String, default: "local" }, accessCode: { required: true, type: () => String }, googleAccessToken: { required: true, type: () => String }, googleId: { required: true, type: () => String }, googleProfilePicture: { required: true, type: () => String }, active: { required: true, type: () => Boolean, default: true }, forgotPasswordConfirmedAt: { required: true, type: () => Date }, verificationTokenOnForgotPassword: { required: true, type: () => String }, verificationTokenOnForgotPasswordExpiresAt: { required: true, type: () => Date }, emailVerifiedOnRegistrationAt: { required: true, type: () => Date }, emailVerificationTokenOnRegistration: { required: true, type: () => String }, emailVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnRegistrationAt: { required: true, type: () => Date }, mobileVerificationTokenOnRegistration: { required: true, type: () => String }, mobileVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, emailVerifiedOnLoginAt: { required: true, type: () => Date }, emailVerificationTokenOnLogin: { required: true, type: () => String }, emailVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnLoginAt: { required: true, type: () => Date }, mobileVerificationTokenOnLogin: { required: true, type: () => String }, mobileVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, customPayload: { required: true, type: () => String }, roles: { required: true, type: () => [require("./role-metadata.entity").RoleMetadata] }, userViewMetadata: { required: true, type: () => [require("./user-view-metadata.entity").UserViewMetadata] }, passwordScheme: { required: true, type: () => String }, passwordSchemeVersion: { required: true, type: () => Number }, rehashedAt: { required: true, type: () => Date }, failedLoginAttempts: { required: true, type: () => Number, default: 0 }, _media: { required: true, type: () => Object } };
30
+ return { fullName: { required: true, type: () => String }, username: { required: true, type: () => String }, email: { required: true, type: () => String }, mobile: { required: true, type: () => String }, password: { required: true, type: () => String }, forcePasswordChange: { required: true, type: () => Boolean, default: true }, lastLoginProvider: { required: true, type: () => String, default: "local" }, accessCode: { required: true, type: () => String }, googleAccessToken: { required: true, type: () => String }, googleId: { required: true, type: () => String }, googleProfilePicture: { required: true, type: () => String }, active: { required: true, type: () => Boolean, default: true }, forgotPasswordConfirmedAt: { required: true, type: () => Date }, verificationTokenOnForgotPassword: { required: true, type: () => String }, verificationTokenOnForgotPasswordExpiresAt: { required: true, type: () => Date }, emailVerifiedOnRegistrationAt: { required: true, type: () => Date }, emailVerificationTokenOnRegistration: { required: true, type: () => String }, emailVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnRegistrationAt: { required: true, type: () => Date }, mobileVerificationTokenOnRegistration: { required: true, type: () => String }, mobileVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, emailVerifiedOnLoginAt: { required: true, type: () => Date }, emailVerificationTokenOnLogin: { required: true, type: () => String }, emailVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnLoginAt: { required: true, type: () => Date }, mobileVerificationTokenOnLogin: { required: true, type: () => String }, mobileVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, customPayload: { required: true, type: () => String }, roles: { required: true, type: () => [require("./role-metadata.entity").RoleMetadata] }, userViewMetadata: { required: true, type: () => [require("./user-view-metadata.entity").UserViewMetadata] }, passwordScheme: { required: true, type: () => String }, passwordSchemeVersion: { required: true, type: () => Number }, rehashedAt: { required: true, type: () => Date }, failedLoginAttempts: { required: true, type: () => Number, default: 0 }, _media: { required: true, type: () => Object }, isAllowedToGenerateApiKeys: { required: true, type: () => Boolean, default: false }, apiKeys: { required: true, type: () => [require("./user-api-key.entity").UserApiKey] } };
29
31
  }
30
32
  };
31
33
  exports.User = User;
@@ -181,6 +183,15 @@ __decorate([
181
183
  (0, class_transformer_1.Expose)(),
182
184
  __metadata("design:type", Object)
183
185
  ], User.prototype, "_media", void 0);
186
+ __decorate([
187
+ (0, typeorm_1.Column)({ default: false }),
188
+ (0, class_transformer_1.Expose)(),
189
+ __metadata("design:type", Boolean)
190
+ ], User.prototype, "isAllowedToGenerateApiKeys", void 0);
191
+ __decorate([
192
+ (0, typeorm_1.OneToMany)(() => user_api_key_entity_1.UserApiKey, key => key.user),
193
+ __metadata("design:type", Array)
194
+ ], User.prototype, "apiKeys", void 0);
184
195
  exports.User = User = __decorate([
185
196
  (0, typeorm_1.Entity)("ss_user"),
186
197
  (0, typeorm_1.TableInheritance)({ column: { type: "varchar", name: "type", default: "User" } }),
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n // dont send to client\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n}"]}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n // dont send to client\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n apiKeys: UserApiKey[];\n\n}"]}
@@ -1,5 +1,6 @@
1
1
  export declare enum AuthType {
2
2
  Bearer = 0,
3
- None = 1
3
+ ApiKey = 1,
4
+ None = 2
4
5
  }
5
6
  //# sourceMappingURL=auth-type.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-type.enum.d.ts","sourceRoot":"","sources":["../../src/enums/auth-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,MAAM,IAAA;IACN,IAAI,IAAA;CACP"}
1
+ {"version":3,"file":"auth-type.enum.d.ts","sourceRoot":"","sources":["../../src/enums/auth-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,IAAI,IAAA;CACP"}
@@ -4,6 +4,7 @@ exports.AuthType = void 0;
4
4
  var AuthType;
5
5
  (function (AuthType) {
6
6
  AuthType[AuthType["Bearer"] = 0] = "Bearer";
7
- AuthType[AuthType["None"] = 1] = "None";
7
+ AuthType[AuthType["ApiKey"] = 1] = "ApiKey";
8
+ AuthType[AuthType["None"] = 2] = "None";
8
9
  })(AuthType || (exports.AuthType = AuthType = {}));
9
10
  //# sourceMappingURL=auth-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-type.enum.js","sourceRoot":"","sources":["../../src/enums/auth-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,2CAAM,CAAA;IACN,uCAAI,CAAA;AACR,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB","sourcesContent":["export enum AuthType {\n Bearer,\n None,\n}\n"]}
1
+ {"version":3,"file":"auth-type.enum.js","sourceRoot":"","sources":["../../src/enums/auth-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,2CAAM,CAAA;IACN,2CAAM,CAAA;IACN,uCAAI,CAAA;AACR,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB","sourcesContent":["export enum AuthType {\n Bearer,\n ApiKey,\n None,\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { ApiKeyService } from 'src/services/api-key.service';
3
+ import { ClsService } from 'nestjs-cls';
4
+ export declare class ApiKeyGuard implements CanActivate {
5
+ private readonly apiKeyService;
6
+ private readonly cls;
7
+ constructor(apiKeyService: ApiKeyService, cls: ClsService);
8
+ canActivate(context: ExecutionContext): Promise<boolean>;
9
+ private extractKeyFromHeader;
10
+ }
11
+ //# sourceMappingURL=api-key.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.guard.d.ts","sourceRoot":"","sources":["../../src/guards/api-key.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,gBAAgB,CAAC;AAGlG,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,qBACa,WAAY,YAAW,WAAW;IAEvC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,UAAU;IAG9B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAe9D,OAAO,CAAC,oBAAoB;CAG/B"}
@@ -0,0 +1,43 @@
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.ApiKeyGuard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const constants_1 = require("../constants");
15
+ const api_key_service_1 = require("../services/api-key.service");
16
+ const nestjs_cls_1 = require("nestjs-cls");
17
+ let ApiKeyGuard = class ApiKeyGuard {
18
+ constructor(apiKeyService, cls) {
19
+ this.apiKeyService = apiKeyService;
20
+ this.cls = cls;
21
+ }
22
+ async canActivate(context) {
23
+ const request = context.switchToHttp().getRequest();
24
+ const rawKey = this.extractKeyFromHeader(request);
25
+ if (!rawKey) {
26
+ throw new common_1.UnauthorizedException();
27
+ }
28
+ const activeUser = await this.apiKeyService.validate(rawKey);
29
+ request[constants_1.REQUEST_USER_KEY] = activeUser;
30
+ this.cls.set(constants_1.REQUEST_USER_KEY, activeUser);
31
+ return true;
32
+ }
33
+ extractKeyFromHeader(request) {
34
+ return request.headers['solidx-api-key'];
35
+ }
36
+ };
37
+ exports.ApiKeyGuard = ApiKeyGuard;
38
+ exports.ApiKeyGuard = ApiKeyGuard = __decorate([
39
+ (0, common_1.Injectable)(),
40
+ __metadata("design:paramtypes", [api_key_service_1.ApiKeyService,
41
+ nestjs_cls_1.ClsService])
42
+ ], ApiKeyGuard);
43
+ //# sourceMappingURL=api-key.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.guard.js","sourceRoot":"","sources":["../../src/guards/api-key.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkG;AAElG,4CAAiD;AACjD,iEAA6D;AAC7D,2CAAwC;AAGjC,IAAM,WAAW,GAAjB,MAAM,WAAW;IACpB,YACqB,aAA4B,EAC5B,GAAe;QADf,kBAAa,GAAb,aAAa,CAAe;QAC5B,QAAG,GAAH,GAAG,CAAY;IACjC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,CAAC,4BAAgB,CAAC,GAAG,UAAU,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAAgB,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QACzC,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IACnE,CAAC;CACJ,CAAA;AAxBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAG2B,+BAAa;QACvB,uBAAU;GAH3B,WAAW,CAwBvB","sourcesContent":["import { CanActivate, ExecutionContext, Injectable, UnauthorizedException } from '@nestjs/common';\nimport { Request } from 'express';\nimport { REQUEST_USER_KEY } from 'src/constants';\nimport { ApiKeyService } from 'src/services/api-key.service';\nimport { ClsService } from 'nestjs-cls';\n\n@Injectable()\nexport class ApiKeyGuard implements CanActivate {\n constructor(\n private readonly apiKeyService: ApiKeyService,\n private readonly cls: ClsService,\n ) {}\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n const request = context.switchToHttp().getRequest<Request>();\n const rawKey = this.extractKeyFromHeader(request);\n\n if (!rawKey) {\n throw new UnauthorizedException();\n }\n\n const activeUser = await this.apiKeyService.validate(rawKey);\n request[REQUEST_USER_KEY] = activeUser;\n this.cls.set(REQUEST_USER_KEY, activeUser);\n\n return true;\n }\n\n private extractKeyFromHeader(request: Request): string | undefined {\n return request.headers['solidx-api-key'] as string | undefined;\n }\n}\n"]}
@@ -1,16 +1,18 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
3
  import { AccessTokenGuard } from './access-token.guard';
4
+ import { ApiKeyGuard } from './api-key.guard';
4
5
  import { PermissionMetadataService } from '../services/permission-metadata.service';
5
6
  import { ClsService } from 'nestjs-cls';
6
7
  export declare class AuthenticationGuard implements CanActivate {
7
8
  private readonly reflector;
8
9
  private readonly accessTokenGuard;
10
+ private readonly apiKeyGuard;
9
11
  private readonly permissionService;
10
12
  private readonly cls;
11
- private static readonly defaultAuthType;
13
+ private static readonly defaultAuthTypes;
12
14
  private readonly authTypeGuardMap;
13
- constructor(reflector: Reflector, accessTokenGuard: AccessTokenGuard, permissionService: PermissionMetadataService, cls: ClsService);
15
+ constructor(reflector: Reflector, accessTokenGuard: AccessTokenGuard, apiKeyGuard: ApiKeyGuard, permissionService: PermissionMetadataService, cls: ClsService);
14
16
  canActivate(context: ExecutionContext): Promise<boolean>;
15
17
  }
16
18
  //# sourceMappingURL=authentication.guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.guard.d.ts","sourceRoot":"","sources":["../../src/guards/authentication.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,qBACa,mBAAoB,YAAW,WAAW;IAUnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAZtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAmB;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAK7B;gBAGe,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,yBAAyB,EAC5C,GAAG,EAAE,UAAU;IAG5B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAiD/D"}
1
+ {"version":3,"file":"authentication.guard.d.ts","sourceRoot":"","sources":["../../src/guards/authentication.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,qBACa,mBAAoB,YAAW,WAAW;IAWnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IAC9E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAM7B;gBAGe,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,yBAAyB,EAC5C,GAAG,EAAE,UAAU;IAG5B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAiD/D"}
@@ -16,17 +16,20 @@ const core_1 = require("@nestjs/core");
16
16
  const auth_decorator_1 = require("../decorators/auth.decorator");
17
17
  const auth_type_enum_1 = require("../enums/auth-type.enum");
18
18
  const access_token_guard_1 = require("./access-token.guard");
19
+ const api_key_guard_1 = require("./api-key.guard");
19
20
  const public_decorator_1 = require("../decorators/public.decorator");
20
21
  const permission_metadata_service_1 = require("../services/permission-metadata.service");
21
22
  const nestjs_cls_1 = require("nestjs-cls");
22
23
  let AuthenticationGuard = AuthenticationGuard_1 = class AuthenticationGuard {
23
- constructor(reflector, accessTokenGuard, permissionService, cls) {
24
+ constructor(reflector, accessTokenGuard, apiKeyGuard, permissionService, cls) {
24
25
  this.reflector = reflector;
25
26
  this.accessTokenGuard = accessTokenGuard;
27
+ this.apiKeyGuard = apiKeyGuard;
26
28
  this.permissionService = permissionService;
27
29
  this.cls = cls;
28
30
  this.authTypeGuardMap = {
29
31
  [auth_type_enum_1.AuthType.Bearer]: this.accessTokenGuard,
32
+ [auth_type_enum_1.AuthType.ApiKey]: this.apiKeyGuard,
30
33
  [auth_type_enum_1.AuthType.None]: { canActivate: () => true },
31
34
  };
32
35
  }
@@ -50,7 +53,7 @@ let AuthenticationGuard = AuthenticationGuard_1 = class AuthenticationGuard {
50
53
  request['isListedInPublicRole'] = true;
51
54
  return true;
52
55
  }
53
- const authTypes = this.reflector.getAllAndOverride(auth_decorator_1.AUTH_TYPE_KEY, [context.getHandler(), context.getClass()]) ?? [AuthenticationGuard_1.defaultAuthType];
56
+ const authTypes = this.reflector.getAllAndOverride(auth_decorator_1.AUTH_TYPE_KEY, [context.getHandler(), context.getClass()]) ?? AuthenticationGuard_1.defaultAuthTypes;
54
57
  const guards = authTypes.map((type) => this.authTypeGuardMap[type]).flat();
55
58
  let error = new common_1.UnauthorizedException();
56
59
  for (const instance of guards) {
@@ -65,11 +68,12 @@ let AuthenticationGuard = AuthenticationGuard_1 = class AuthenticationGuard {
65
68
  }
66
69
  };
67
70
  exports.AuthenticationGuard = AuthenticationGuard;
68
- AuthenticationGuard.defaultAuthType = auth_type_enum_1.AuthType.Bearer;
71
+ AuthenticationGuard.defaultAuthTypes = [auth_type_enum_1.AuthType.Bearer, auth_type_enum_1.AuthType.ApiKey];
69
72
  exports.AuthenticationGuard = AuthenticationGuard = AuthenticationGuard_1 = __decorate([
70
73
  (0, common_1.Injectable)(),
71
74
  __metadata("design:paramtypes", [core_1.Reflector,
72
75
  access_token_guard_1.AccessTokenGuard,
76
+ api_key_guard_1.ApiKeyGuard,
73
77
  permission_metadata_service_1.PermissionMetadataService,
74
78
  nestjs_cls_1.ClsService])
75
79
  ], AuthenticationGuard);
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.guard.js","sourceRoot":"","sources":["../../src/guards/authentication.guard.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CanActivate,\n ExecutionContext,\n Injectable,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { AUTH_TYPE_KEY } from '../decorators/auth.decorator';\nimport { AuthType } from '../enums/auth-type.enum';\nimport { AccessTokenGuard } from './access-token.guard';\nimport { IS_PUBLIC_KEY } from '../decorators/public.decorator';\nimport { PermissionMetadataService } from '../services/permission-metadata.service';\nimport { ClsService } from 'nestjs-cls';\n\n@Injectable()\nexport class AuthenticationGuard implements CanActivate {\n private static readonly defaultAuthType = AuthType.Bearer;\n private readonly authTypeGuardMap: Record<\n AuthType,\n CanActivate | CanActivate[]> = {\n [AuthType.Bearer]: this.accessTokenGuard,\n [AuthType.None]: { canActivate: () => true },\n };\n\n constructor(\n private readonly reflector: Reflector,\n private readonly accessTokenGuard: AccessTokenGuard,\n private readonly permissionService: PermissionMetadataService,\n private readonly cls: ClsService,\n ) { }\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n // If method marked as public, then we return with true, else go ahead and apply the access token guard. \n const contextLog = context.getHandler();\n const request = context.switchToHttp().getRequest();\n request['isListedInPublicRole'] = false;\n\n // Set IP and User-Agent into CLS context\n const rawIp = request.headers['x-forwarded-for'] || request.socket?.remoteAddress || request.ip;\n const ip = Array.isArray(rawIp) ? rawIp[0] :\n typeof rawIp === 'string' ? rawIp.split(',')[0].trim() : '';\n const userAgent = request.headers['user-agent'] || '';\n\n this.cls.set('ipAddress', ip);\n this.cls.set('userAgent', userAgent);\n\n const isPublic = this.reflector.get(IS_PUBLIC_KEY, context.getHandler());\n if (isPublic) {\n return true;\n }\n\n // TODO: Check if this permission viz. contextPermission is listed in the Public role. \n const contextPermission = `${context.getClass().name}.${context.getHandler().name}`;\n\n const permissionExistsInRole = await this.permissionService.permissionExistsInRole('Public', contextPermission)\n if (permissionExistsInRole.length > 0) {\n request['isListedInPublicRole'] = true;\n return true\n }\n\n const authTypes = this.reflector.getAllAndOverride<AuthType[]>(\n AUTH_TYPE_KEY,\n [context.getHandler(), context.getClass()],\n ) ?? [AuthenticationGuard.defaultAuthType];\n const guards = authTypes.map((type) => this.authTypeGuardMap[type]).flat();\n let error = new UnauthorizedException();\n\n for (const instance of guards) {\n const canActivate = await Promise.resolve(\n instance.canActivate(context),\n ).catch((err) => {\n error = err;\n });\n\n if (canActivate) {\n return true;\n }\n }\n throw error;\n }\n}\n"]}
1
+ {"version":3,"file":"authentication.guard.js","sourceRoot":"","sources":["../../src/guards/authentication.guard.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CanActivate,\n ExecutionContext,\n Injectable,\n UnauthorizedException,\n} from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { AUTH_TYPE_KEY } from '../decorators/auth.decorator';\nimport { AuthType } from '../enums/auth-type.enum';\nimport { AccessTokenGuard } from './access-token.guard';\nimport { ApiKeyGuard } from './api-key.guard';\nimport { IS_PUBLIC_KEY } from '../decorators/public.decorator';\nimport { PermissionMetadataService } from '../services/permission-metadata.service';\nimport { ClsService } from 'nestjs-cls';\n\n@Injectable()\nexport class AuthenticationGuard implements CanActivate {\n private static readonly defaultAuthTypes = [AuthType.Bearer, AuthType.ApiKey];\n private readonly authTypeGuardMap: Record<\n AuthType,\n CanActivate | CanActivate[]> = {\n [AuthType.Bearer]: this.accessTokenGuard,\n [AuthType.ApiKey]: this.apiKeyGuard,\n [AuthType.None]: { canActivate: () => true },\n };\n\n constructor(\n private readonly reflector: Reflector,\n private readonly accessTokenGuard: AccessTokenGuard,\n private readonly apiKeyGuard: ApiKeyGuard,\n private readonly permissionService: PermissionMetadataService,\n private readonly cls: ClsService,\n ) { }\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n // If method marked as public, then we return with true, else go ahead and apply the access token guard. \n const contextLog = context.getHandler();\n const request = context.switchToHttp().getRequest();\n request['isListedInPublicRole'] = false;\n\n // Set IP and User-Agent into CLS context\n const rawIp = request.headers['x-forwarded-for'] || request.socket?.remoteAddress || request.ip;\n const ip = Array.isArray(rawIp) ? rawIp[0] :\n typeof rawIp === 'string' ? rawIp.split(',')[0].trim() : '';\n const userAgent = request.headers['user-agent'] || '';\n\n this.cls.set('ipAddress', ip);\n this.cls.set('userAgent', userAgent);\n\n const isPublic = this.reflector.get(IS_PUBLIC_KEY, context.getHandler());\n if (isPublic) {\n return true;\n }\n\n // TODO: Check if this permission viz. contextPermission is listed in the Public role.\n const contextPermission = `${context.getClass().name}.${context.getHandler().name}`;\n\n const permissionExistsInRole = await this.permissionService.permissionExistsInRole('Public', contextPermission)\n if (permissionExistsInRole.length > 0) {\n request['isListedInPublicRole'] = true;\n return true\n }\n\n const authTypes = this.reflector.getAllAndOverride<AuthType[]>(\n AUTH_TYPE_KEY,\n [context.getHandler(), context.getClass()],\n ) ?? AuthenticationGuard.defaultAuthTypes;\n const guards = authTypes.map((type) => this.authTypeGuardMap[type]).flat();\n let error = new UnauthorizedException();\n\n for (const instance of guards) {\n const canActivate = await Promise.resolve(\n instance.canActivate(context),\n ).catch((err) => {\n error = err;\n });\n\n if (canActivate) {\n return true;\n }\n }\n throw error;\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -122,6 +122,7 @@ export * from './entities/permission-metadata.entity';
122
122
  export * from './entities/role-metadata.entity';
123
123
  export * from './entities/sms-template.entity';
124
124
  export * from './entities/user.entity';
125
+ export * from './entities/user-api-key.entity';
125
126
  export * from './entities/view-metadata.entity';
126
127
  export * from './entities/setting.entity';
127
128
  export * from './entities/saved-filters.entity';
@@ -295,6 +296,7 @@ export * from './services/user.service';
295
296
  export * from './services/view-metadata.service';
296
297
  export * from './services/whatsapp/Msg91WhatsappService';
297
298
  export * from './services/setting.service';
299
+ export * from './services/encryption.service';
298
300
  export * from './services/info.service';
299
301
  export * from './controllers/info.controller';
300
302
  export * from './services/settings/default-settings-provider.service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -142,6 +142,7 @@ __exportStar(require("./entities/permission-metadata.entity"), exports);
142
142
  __exportStar(require("./entities/role-metadata.entity"), exports);
143
143
  __exportStar(require("./entities/sms-template.entity"), exports);
144
144
  __exportStar(require("./entities/user.entity"), exports);
145
+ __exportStar(require("./entities/user-api-key.entity"), exports);
145
146
  __exportStar(require("./entities/view-metadata.entity"), exports);
146
147
  __exportStar(require("./entities/setting.entity"), exports);
147
148
  __exportStar(require("./entities/saved-filters.entity"), exports);
@@ -319,6 +320,7 @@ __exportStar(require("./services/user.service"), exports);
319
320
  __exportStar(require("./services/view-metadata.service"), exports);
320
321
  __exportStar(require("./services/whatsapp/Msg91WhatsappService"), exports);
321
322
  __exportStar(require("./services/setting.service"), exports);
323
+ __exportStar(require("./services/encryption.service"), exports);
322
324
  __exportStar(require("./services/info.service"), exports);
323
325
  __exportStar(require("./controllers/info.controller"), exports);
324
326
  __exportStar(require("./services/settings/default-settings-provider.service"), exports);