@explorins/pers-shared 2.1.41 → 2.1.43

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 (81) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.d.ts +1 -1
  4. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.d.ts.map +1 -1
  5. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.js +3 -3
  6. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.js.map +1 -1
  7. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.d.ts +8 -0
  8. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.d.ts.map +1 -0
  9. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.js +51 -0
  10. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.js.map +1 -0
  11. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.d.ts +24 -0
  12. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.d.ts.map +1 -0
  13. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.js +119 -0
  14. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.js.map +1 -0
  15. package/dist/cjs/shared-lib/dto/api-key/api-key.request.dto.d.ts +4 -0
  16. package/dist/cjs/shared-lib/dto/api-key/api-key.request.dto.d.ts.map +1 -0
  17. package/dist/cjs/shared-lib/dto/{tenant/tenantApiKey.request.dto.js → api-key/api-key.request.dto.js} +12 -16
  18. package/dist/cjs/shared-lib/dto/api-key/api-key.request.dto.js.map +1 -0
  19. package/dist/cjs/shared-lib/dto/api-key/index.d.ts +4 -0
  20. package/dist/cjs/shared-lib/dto/api-key/index.d.ts.map +1 -0
  21. package/dist/cjs/shared-lib/dto/api-key/index.js +20 -0
  22. package/dist/cjs/shared-lib/dto/api-key/index.js.map +1 -0
  23. package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
  24. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  25. package/dist/cjs/shared-lib/dto/index.js +1 -0
  26. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  27. package/dist/cjs/shared-lib/dto/tenant/index.d.ts +0 -1
  28. package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -1
  29. package/dist/cjs/shared-lib/dto/tenant/index.js +0 -1
  30. package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -1
  31. package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts +3 -1
  32. package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
  33. package/dist/cjs/shared-lib/enum/api-key-type.enum.js +1 -1
  34. package/dist/cjs/shared-lib/enum/api-key-type.enum.js.map +1 -1
  35. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts +32 -10
  36. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
  37. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js +16 -1
  38. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
  39. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.d.ts +1 -1
  40. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.d.ts.map +1 -1
  41. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js +1 -1
  42. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js.map +1 -1
  43. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.d.ts +8 -0
  44. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.d.ts.map +1 -0
  45. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.js +41 -0
  46. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.js.map +1 -0
  47. package/dist/esm/shared-lib/dto/api-key/api-key.dto.d.ts +24 -0
  48. package/dist/esm/shared-lib/dto/api-key/api-key.dto.d.ts.map +1 -0
  49. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js +102 -0
  50. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js.map +1 -0
  51. package/dist/esm/shared-lib/dto/api-key/api-key.request.dto.d.ts +4 -0
  52. package/dist/esm/shared-lib/dto/api-key/api-key.request.dto.d.ts.map +1 -0
  53. package/dist/esm/shared-lib/dto/{tenant/tenantApiKey.request.dto.js → api-key/api-key.request.dto.js} +9 -11
  54. package/dist/esm/shared-lib/dto/api-key/api-key.request.dto.js.map +1 -0
  55. package/dist/esm/shared-lib/dto/api-key/index.d.ts +4 -0
  56. package/dist/esm/shared-lib/dto/api-key/index.d.ts.map +1 -0
  57. package/dist/esm/shared-lib/dto/api-key/index.js +4 -0
  58. package/dist/esm/shared-lib/dto/api-key/index.js.map +1 -0
  59. package/dist/esm/shared-lib/dto/index.d.ts +1 -0
  60. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  61. package/dist/esm/shared-lib/dto/index.js +1 -0
  62. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  63. package/dist/esm/shared-lib/dto/tenant/index.d.ts +0 -1
  64. package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -1
  65. package/dist/esm/shared-lib/dto/tenant/index.js +0 -1
  66. package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -1
  67. package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts +3 -1
  68. package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
  69. package/dist/esm/shared-lib/enum/api-key-type.enum.js +1 -1
  70. package/dist/esm/shared-lib/enum/api-key-type.enum.js.map +1 -1
  71. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts +32 -10
  72. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
  73. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js +13 -2
  74. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
  75. package/package.json +1 -1
  76. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +0 -7
  77. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +0 -1
  78. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +0 -1
  79. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +0 -7
  80. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +0 -1
  81. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +0 -1
package/CHANGELOG.md CHANGED
File without changes
package/README.md CHANGED
File without changes
@@ -1,4 +1,4 @@
1
- import { AdminType } from '@explorins/pers-shared';
1
+ import { AdminType } from './../../enum/admin-type.enum';
2
2
  export declare class AdminCreateRequestDTO {
3
3
  email: string;
4
4
  displayName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-create.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,qBAAqB;IAI9B,KAAK,EAAE,MAAM,CAAM;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,IAAI,EAAE,SAAS,CAA0B;CAC5C"}
1
+ {"version":3,"file":"admin-create.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,qBAAa,qBAAqB;IAI9B,KAAK,EAAE,MAAM,CAAM;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,IAAI,EAAE,SAAS,CAA0B;CAC5C"}
@@ -11,11 +11,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AdminCreateRequestDTO = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
- const pers_shared_1 = require("@explorins/pers-shared");
14
+ const admin_type_enum_1 = require("./../../enum/admin-type.enum");
15
15
  class AdminCreateRequestDTO {
16
16
  email = '';
17
17
  displayName;
18
- type = pers_shared_1.AdminType.TENANT_ADMIN;
18
+ type = admin_type_enum_1.AdminType.TENANT_ADMIN;
19
19
  }
20
20
  exports.AdminCreateRequestDTO = AdminCreateRequestDTO;
21
21
  __decorate([
@@ -33,7 +33,7 @@ __decorate([
33
33
  __decorate([
34
34
  (0, swagger_1.ApiProperty)({
35
35
  description: 'Type of the admin',
36
- enum: pers_shared_1.AdminType
36
+ enum: admin_type_enum_1.AdminType
37
37
  }),
38
38
  __metadata("design:type", String)
39
39
  ], AdminCreateRequestDTO.prototype, "type", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"admin-create.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,wDAAmD;AAEnD,MAAa,qBAAqB;IAI9B,KAAK,GAAW,EAAE,CAAC;IAKnB,WAAW,CAAU;IAMrB,IAAI,GAAc,uBAAS,CAAC,YAAY,CAAC;CAC5C;AAhBD,sDAgBC;AAZG;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oBAAoB;KACpC,CAAC;;oDACiB;AAKnB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2BAA2B;KAC3C,CAAC;;0DACmB;AAMrB;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,uBAAS;KAClB,CAAC;;mDACuC"}
1
+ {"version":3,"file":"admin-create.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,kEAAyD;AAEzD,MAAa,qBAAqB;IAI9B,KAAK,GAAW,EAAE,CAAC;IAKnB,WAAW,CAAU;IAMrB,IAAI,GAAc,2BAAS,CAAC,YAAY,CAAC;CAC5C;AAhBD,sDAgBC;AAZG;IAHC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oBAAoB;KACpC,CAAC;;oDACiB;AAKnB;IAHC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,2BAA2B;KAC3C,CAAC;;0DACmB;AAMrB;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,2BAAS;KAClB,CAAC;;mDACuC"}
@@ -0,0 +1,8 @@
1
+ import { ApiKeyDTO } from "./api-key.dto";
2
+ import { AuthJWTPayload } from "./../../interfaces";
3
+ export declare class ApiKeyVerificationDTO {
4
+ valid: boolean;
5
+ payload?: AuthJWTPayload;
6
+ apiKey?: ApiKeyDTO;
7
+ }
8
+ //# sourceMappingURL=api-key-verification.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-verification.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key-verification.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,qBAAqB;IAM9B,KAAK,EAAG,OAAO,CAAC;IAShB,OAAO,CAAC,EAAE,cAAc,CAAC;IASzB,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -0,0 +1,51 @@
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.ApiKeyVerificationDTO = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const api_key_dto_1 = require("./api-key.dto");
17
+ class ApiKeyVerificationDTO {
18
+ valid;
19
+ payload;
20
+ apiKey;
21
+ }
22
+ exports.ApiKeyVerificationDTO = ApiKeyVerificationDTO;
23
+ __decorate([
24
+ (0, swagger_1.ApiProperty)({
25
+ description: 'Whether the API key verification was successful',
26
+ example: true
27
+ }),
28
+ (0, class_validator_1.IsBoolean)(),
29
+ __metadata("design:type", Boolean)
30
+ ], ApiKeyVerificationDTO.prototype, "valid", void 0);
31
+ __decorate([
32
+ (0, swagger_1.ApiPropertyOptional)({
33
+ description: 'JWT payload data if verification was successful',
34
+ type: () => Object // Using Object since AuthJWTPayload might not be a class
35
+ }),
36
+ (0, class_validator_1.IsOptional)(),
37
+ (0, class_validator_1.ValidateNested)(),
38
+ (0, class_transformer_1.Type)(() => Object),
39
+ __metadata("design:type", Object)
40
+ ], ApiKeyVerificationDTO.prototype, "payload", void 0);
41
+ __decorate([
42
+ (0, swagger_1.ApiPropertyOptional)({
43
+ description: 'API key metadata if verification was successful',
44
+ type: () => api_key_dto_1.ApiKeyDTO
45
+ }),
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.ValidateNested)(),
48
+ (0, class_transformer_1.Type)(() => api_key_dto_1.ApiKeyDTO),
49
+ __metadata("design:type", api_key_dto_1.ApiKeyDTO)
50
+ ], ApiKeyVerificationDTO.prototype, "apiKey", void 0);
51
+ //# sourceMappingURL=api-key-verification.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-verification.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key-verification.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,yDAAyC;AACzC,qDAAwE;AACxE,+CAA0C;AAG1C,MAAa,qBAAqB;IAM9B,KAAK,CAAW;IAShB,OAAO,CAAkB;IASzB,MAAM,CAAa;CACtB;AAzBD,sDAyBC;AAnBG;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,IAAA,2BAAS,GAAE;;oDACI;AAShB;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yDAAyD;KAC/E,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sDACM;AASzB;IAPC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,GAAG,EAAE,CAAC,uBAAS;KACxB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAS,CAAC;8BACb,uBAAS;qDAAC"}
@@ -0,0 +1,24 @@
1
+ import { ApiKeyType } from './../../enum/api-key-type.enum';
2
+ /**
3
+ * API Key DTO - Standard response format for API key information
4
+ * Contains safe, non-sensitive API key metadata for client consumption
5
+ */
6
+ export declare class ApiKeyDTO {
7
+ id: string;
8
+ type: ApiKeyType;
9
+ name: string | null;
10
+ createdAt: Date;
11
+ shortenedPrivateKey: string;
12
+ expiresAt: Date | null;
13
+ isRevoked: boolean;
14
+ lastUsedAt: Date | null;
15
+ }
16
+ /**
17
+ * API Key Created DTO - Response format when a new API key is created
18
+ * Extends ApiKeyDTO with the full private key for one-time retrieval
19
+ * WARNING: The privateKey is only returned once during creation
20
+ */
21
+ export declare class ApiKeyCreatedDTO extends ApiKeyDTO {
22
+ privateKey: string;
23
+ }
24
+ //# sourceMappingURL=api-key.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D;;;GAGG;AACH,qBAAa,SAAS;IAMpB,EAAE,EAAG,MAAM,CAAC;IAQZ,IAAI,EAAG,UAAU,CAAC;IASlB,IAAI,EAAG,MAAM,GAAG,IAAI,CAAC;IAOrB,SAAS,EAAG,IAAI,CAAC;IAQjB,mBAAmB,EAAG,MAAM,CAAC;IAS7B,SAAS,EAAG,IAAI,GAAG,IAAI,CAAC;IAMxB,SAAS,EAAG,OAAO,CAAC;IASpB,UAAU,EAAG,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAM7C,UAAU,EAAG,MAAM,CAAC;CACrB"}
@@ -0,0 +1,119 @@
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.ApiKeyCreatedDTO = exports.ApiKeyDTO = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const api_key_type_enum_1 = require("./../../enum/api-key-type.enum");
16
+ /**
17
+ * API Key DTO - Standard response format for API key information
18
+ * Contains safe, non-sensitive API key metadata for client consumption
19
+ */
20
+ class ApiKeyDTO {
21
+ id;
22
+ type;
23
+ name;
24
+ createdAt;
25
+ shortenedPrivateKey;
26
+ expiresAt;
27
+ isRevoked;
28
+ lastUsedAt;
29
+ }
30
+ exports.ApiKeyDTO = ApiKeyDTO;
31
+ __decorate([
32
+ (0, swagger_1.ApiProperty)({
33
+ description: 'Unique identifier for the API key',
34
+ example: 'f47ac10b-58cc-4372-a567-0e02b2c3d479'
35
+ }),
36
+ (0, class_validator_1.IsUUID)(),
37
+ __metadata("design:type", String)
38
+ ], ApiKeyDTO.prototype, "id", void 0);
39
+ __decorate([
40
+ (0, swagger_1.ApiProperty)({
41
+ description: 'Type of API key',
42
+ enum: api_key_type_enum_1.ApiKeyType,
43
+ example: api_key_type_enum_1.ApiKeyType.TENANT_SYSTEM_JWT
44
+ }),
45
+ (0, class_validator_1.IsEnum)(api_key_type_enum_1.ApiKeyType),
46
+ __metadata("design:type", String)
47
+ ], ApiKeyDTO.prototype, "type", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiPropertyOptional)({
50
+ description: 'Human-readable name for the API key',
51
+ example: 'JWT Token (Mainnet) - 2025-11-22',
52
+ nullable: true
53
+ }),
54
+ (0, class_validator_1.IsOptional)(),
55
+ (0, class_validator_1.IsString)(),
56
+ __metadata("design:type", Object)
57
+ ], ApiKeyDTO.prototype, "name", void 0);
58
+ __decorate([
59
+ (0, swagger_1.ApiProperty)({
60
+ description: 'Creation timestamp',
61
+ example: '2025-11-22T10:30:00.000Z'
62
+ }),
63
+ (0, class_validator_1.IsDateString)(),
64
+ __metadata("design:type", Date)
65
+ ], ApiKeyDTO.prototype, "createdAt", void 0);
66
+ __decorate([
67
+ (0, swagger_1.ApiProperty)({
68
+ description: 'Token preview for dashboard identification (first 8 + last 4 characters)',
69
+ example: 'eyJhbGci...xMjM',
70
+ maxLength: 20
71
+ }),
72
+ (0, class_validator_1.IsString)(),
73
+ __metadata("design:type", String)
74
+ ], ApiKeyDTO.prototype, "shortenedPrivateKey", void 0);
75
+ __decorate([
76
+ (0, swagger_1.ApiPropertyOptional)({
77
+ description: 'Expiration timestamp (null = no expiry)',
78
+ example: '2026-11-22T10:30:00.000Z',
79
+ nullable: true
80
+ }),
81
+ (0, class_validator_1.IsOptional)(),
82
+ (0, class_validator_1.IsDateString)(),
83
+ __metadata("design:type", Object)
84
+ ], ApiKeyDTO.prototype, "expiresAt", void 0);
85
+ __decorate([
86
+ (0, swagger_1.ApiProperty)({
87
+ description: 'Indicates if the API key has been revoked',
88
+ example: false
89
+ }),
90
+ __metadata("design:type", Boolean)
91
+ ], ApiKeyDTO.prototype, "isRevoked", void 0);
92
+ __decorate([
93
+ (0, swagger_1.ApiPropertyOptional)({
94
+ description: 'Last time the API key was used for authentication',
95
+ example: '2025-11-24T14:30:00.000Z',
96
+ nullable: true
97
+ }),
98
+ (0, class_validator_1.IsOptional)(),
99
+ (0, class_validator_1.IsDateString)(),
100
+ __metadata("design:type", Object)
101
+ ], ApiKeyDTO.prototype, "lastUsedAt", void 0);
102
+ /**
103
+ * API Key Created DTO - Response format when a new API key is created
104
+ * Extends ApiKeyDTO with the full private key for one-time retrieval
105
+ * WARNING: The privateKey is only returned once during creation
106
+ */
107
+ class ApiKeyCreatedDTO extends ApiKeyDTO {
108
+ privateKey;
109
+ }
110
+ exports.ApiKeyCreatedDTO = ApiKeyCreatedDTO;
111
+ __decorate([
112
+ (0, swagger_1.ApiProperty)({
113
+ description: 'Full private key/token - STORE SECURELY! Only returned once during creation',
114
+ example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
115
+ }),
116
+ (0, class_validator_1.IsString)(),
117
+ __metadata("design:type", String)
118
+ ], ApiKeyCreatedDTO.prototype, "privateKey", void 0);
119
+ //# sourceMappingURL=api-key.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAAqF;AACrF,sEAA4D;AAE5D;;;GAGG;AACH,MAAa,SAAS;IAMpB,EAAE,CAAU;IAQZ,IAAI,CAAc;IASlB,IAAI,CAAiB;IAOrB,SAAS,CAAQ;IAQjB,mBAAmB,CAAU;IAS7B,SAAS,CAAe;IAMxB,SAAS,CAAW;IASpB,UAAU,CAAe;CAC1B;AA/DD,8BA+DC;AAzDC;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACD,IAAA,wBAAM,GAAE;;qCACG;AAQZ;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,8BAAU;QAChB,OAAO,EAAE,8BAAU,CAAC,iBAAiB;KACtC,CAAC;IACD,IAAA,wBAAM,EAAC,8BAAU,CAAC;;uCACD;AASlB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,kCAAkC;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uCACU;AAOrB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,IAAA,8BAAY,GAAE;8BACH,IAAI;4CAAC;AAQjB;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,EAAE;KACd,CAAC;IACD,IAAA,0BAAQ,GAAE;;sDACkB;AAS7B;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;;4CACS;AAMxB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,KAAK;KACf,CAAC;;4CACkB;AASpB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;;6CACU;AAG3B;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,SAAS;IAM7C,UAAU,CAAU;CACrB;AAPD,4CAOC;AADC;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,6EAA6E;QAC1F,OAAO,EAAE,6JAA6J;KACvK,CAAC;IACD,IAAA,0BAAQ,GAAE;;oDACS"}
@@ -0,0 +1,4 @@
1
+ export declare class ApiKeyRequestDTO {
2
+ name: string;
3
+ }
4
+ //# sourceMappingURL=api-key.request.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.request.dto.ts"],"names":[],"mappings":"AAUE,qBAAa,gBAAgB;IAI3B,IAAI,EAAE,MAAM,CAAK;CAClB"}
@@ -9,26 +9,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TenantApiKeyRequestDTO = exports.TenantJWTRequestDTO = void 0;
12
+ exports.ApiKeyRequestDTO = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
- class TenantJWTRequestDTO {
15
- isTestnet = true;
14
+ /* export class TenantJWTRequestDTO {
15
+ @ApiProperty({
16
+ description: 'wheter the key is for testnet or mainnet',
17
+ })
18
+ isTestnet: boolean = true
19
+ } */
20
+ class ApiKeyRequestDTO {
21
+ name = '';
16
22
  }
17
- exports.TenantJWTRequestDTO = TenantJWTRequestDTO;
18
- __decorate([
19
- (0, swagger_1.ApiProperty)({
20
- description: 'wheter the key is for testnet or mainnet',
21
- }),
22
- __metadata("design:type", Boolean)
23
- ], TenantJWTRequestDTO.prototype, "isTestnet", void 0);
24
- class TenantApiKeyRequestDTO {
25
- keyName = '';
26
- }
27
- exports.TenantApiKeyRequestDTO = TenantApiKeyRequestDTO;
23
+ exports.ApiKeyRequestDTO = ApiKeyRequestDTO;
28
24
  __decorate([
29
25
  (0, swagger_1.ApiProperty)({
30
26
  description: 'name of the key',
31
27
  }),
32
28
  __metadata("design:type", String)
33
- ], TenantApiKeyRequestDTO.prototype, "keyName", void 0);
34
- //# sourceMappingURL=tenantApiKey.request.dto.js.map
29
+ ], ApiKeyRequestDTO.prototype, "name", void 0);
30
+ //# sourceMappingURL=api-key.request.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C;;;;;MAKM;AAGJ,MAAa,gBAAgB;IAI3B,IAAI,GAAW,EAAE,CAAA;CAClB;AALD,4CAKC;AADC;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;KAC/B,CAAC;;8CACe"}
@@ -0,0 +1,4 @@
1
+ export * from './api-key.dto';
2
+ export * from './api-key.request.dto';
3
+ export * from './api-key-verification.dto';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,20 @@
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("./api-key.dto"), exports);
18
+ __exportStar(require("./api-key.request.dto"), exports);
19
+ __exportStar(require("./api-key-verification.dto"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,wDAAsC;AACtC,6DAA2C"}
@@ -16,6 +16,7 @@ export * from './token';
16
16
  export * from './transaction';
17
17
  export * from './purchase';
18
18
  export * from './redemption';
19
+ export * from './api-key';
19
20
  export * from './campaign/campaign.dto';
20
21
  export * from './campaign/campaignCreate.request.dto';
21
22
  export * from './campaign/campaignClaim.request.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AAGpD,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAG7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAI5D,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AAGpD,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAGzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAI5D,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
@@ -43,6 +43,7 @@ __exportStar(require("./transaction"), exports);
43
43
  __exportStar(require("./purchase"), exports);
44
44
  // Redemption DTOs
45
45
  __exportStar(require("./redemption"), exports);
46
+ __exportStar(require("./api-key"), exports);
46
47
  // Campaign DTOs
47
48
  __exportStar(require("./campaign/campaign.dto"), exports);
48
49
  __exportStar(require("./campaign/campaignCreate.request.dto"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,qFAAqF;;;;;;;;;;;;;;;;AAGrF,iBAAiB;AACjB,sEAAoD;AAEpD,YAAY;AACZ,6CAA2B;AAE3B,gBAAgB;AAChB,6CAA0B;AAE1B,YAAY;AACZ,2CAAyB;AACzB,6CAA2B;AAC3B,qDAAmC;AACnC,yDAAuC;AACvC,uDAAqC;AAErC,sBAAsB;AACtB,uDAAqC;AACrC,+DAA6C;AAE7C,sDAAoC;AACpC,oDAAkC;AAClC,4CAA0B;AAC1B,+CAA6B;AAE7B,aAAa;AACb,0CAAwB;AAExB,mBAAmB;AACnB,gDAA8B;AAE9B,gBAAgB;AAChB,6CAA2B;AAG3B,kBAAkB;AAClB,+CAA6B;AAE7B,gBAAgB;AAChB,0DAAwC;AACxC,wEAAsD;AACtD,uEAAqD;AACrD,iEAA+C;AAC/C,0EAAwD;AACxD,mEAAiD;AACjD,sFAAoE;AACpE,8EAA4D;AAG5D,uBAAuB;AACvB,oDAAiC;AAEjC,mBAAmB;AACnB,yDAAuC;AAEvC,aAAa;AACb,+CAA6B;AAE7B,oDAAkC;AAGlC,aAAa;AACb,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,qFAAqF;;;;;;;;;;;;;;;;AAGrF,iBAAiB;AACjB,sEAAoD;AAEpD,YAAY;AACZ,6CAA2B;AAE3B,gBAAgB;AAChB,6CAA0B;AAE1B,YAAY;AACZ,2CAAyB;AACzB,6CAA2B;AAC3B,qDAAmC;AACnC,yDAAuC;AACvC,uDAAqC;AAErC,sBAAsB;AACtB,uDAAqC;AACrC,+DAA6C;AAE7C,sDAAoC;AACpC,oDAAkC;AAClC,4CAA0B;AAC1B,+CAA6B;AAE7B,aAAa;AACb,0CAAwB;AAExB,mBAAmB;AACnB,gDAA8B;AAE9B,gBAAgB;AAChB,6CAA2B;AAG3B,kBAAkB;AAClB,+CAA6B;AAE7B,4CAAyB;AAEzB,gBAAgB;AAChB,0DAAwC;AACxC,wEAAsD;AACtD,uEAAqD;AACrD,iEAA+C;AAC/C,0EAAwD;AACxD,mEAAiD;AACjD,sFAAoE;AACpE,8EAA4D;AAG5D,uBAAuB;AACvB,oDAAiC;AAEjC,mBAAmB;AACnB,yDAAuC;AAEvC,aAAa;AACb,+CAA6B;AAE7B,oDAAkC;AAGlC,aAAa;AACb,0CAAwB"}
@@ -1,6 +1,5 @@
1
1
  export * from './tenant.dto';
2
2
  export * from './tenantCreate.request.dto';
3
- export * from './tenantApiKey.request.dto';
4
3
  export * from './tenantUpdate.request.dto';
5
4
  export * from './tenant-client-config.dto';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
@@ -16,7 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./tenant.dto"), exports);
18
18
  __exportStar(require("./tenantCreate.request.dto"), exports);
19
- __exportStar(require("./tenantApiKey.request.dto"), exports);
20
19
  __exportStar(require("./tenantUpdate.request.dto"), exports);
21
20
  __exportStar(require("./tenant-client-config.dto"), exports);
22
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+CAA6B;AAC7B,6DAA2C;AAC3C,6DAA2C;AAC3C,6DAA2C;AAC3C,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,+CAA6B;AAC7B,6DAA2C;AAC3C,6DAA2C;AAC3C,6DAA2C"}
@@ -1,5 +1,4 @@
1
1
  export declare enum ApiKeyType {
2
- TENANT_SYSTEM_API_SECRET = "TENANT_SYSTEM_API_SECRET",
3
2
  TENANT_SYSTEM_JWT = "TENANT_SYSTEM_JWT",
4
3
  ADMIN_JWT_ACCESS_TOKEN = "ADMIN_JWT_ACCESS_TOKEN",
5
4
  ADMIN_JWT_REFRESH_TOKEN = "ADMIN_JWT_REFRESH_TOKEN",
@@ -9,4 +8,7 @@ export declare enum ApiKeyType {
9
8
  BLOCKCHAIN_READER_JWT = "BLOCKCHAIN_READER_JWT",
10
9
  TENANT_LEGACY_ADMIN = "TENANT_ADMIN_JWT"
11
10
  }
11
+ export type AuthApiKeyType = ApiKeyType.USER_JWT_ACCESS_TOKEN | ApiKeyType.USER_JWT_REFRESH_TOKEN | ApiKeyType.ADMIN_JWT_ACCESS_TOKEN | ApiKeyType.ADMIN_JWT_REFRESH_TOKEN;
12
+ export type BlockchainApiKeyType = ApiKeyType.BLOCKCHAIN_READER_JWT | ApiKeyType.BLOCKCHAIN_WRITER_JWT;
13
+ export type IntegrationApiKeyType = ApiKeyType.TENANT_SYSTEM_JWT | ApiKeyType.TENANT_LEGACY_ADMIN;
12
14
  //# sourceMappingURL=api-key-type.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":"AAEA,oBAAY,UAAU;IAClB,wBAAwB,6BAAgC;IACxD,iBAAiB,sBAAgC;IACjD,sBAAsB,2BAAgC;IACtD,uBAAuB,4BAAgC;IACvD,qBAAqB,0BAAgC;IACrD,sBAAsB,2BAAgC;IACtD,qBAAqB,0BAAgC;IACrD,qBAAqB,0BAAgC;IAGrD,mBAAmB,qBAA6B;CACnD"}
1
+ {"version":3,"file":"api-key-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":"AAEA,oBAAY,UAAU;IAClB,iBAAiB,sBAAgC;IACjD,sBAAsB,2BAAgC;IACtD,uBAAuB,4BAAgC;IACvD,qBAAqB,0BAAgC;IACrD,sBAAsB,2BAAgC;IACtD,qBAAqB,0BAAgC;IACrD,qBAAqB,0BAAgC;IAGrD,mBAAmB,qBAA6B;CAEnD;AAOD,MAAM,MAAM,cAAc,GACpB,UAAU,CAAC,qBAAqB,GAChC,UAAU,CAAC,sBAAsB,GACjC,UAAU,CAAC,sBAAsB,GACjC,UAAU,CAAC,uBAAuB,CAAA;AAIxC,MAAM,MAAM,oBAAoB,GAC1B,UAAU,CAAC,qBAAqB,GAChC,UAAU,CAAC,qBAAqB,CAAC;AAGvC,MAAM,MAAM,qBAAqB,GAC3B,UAAU,CAAC,iBAAiB,GAC5B,UAAU,CAAC,mBAAmB,CAAC"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiKeyType = void 0;
4
4
  var ApiKeyType;
5
5
  (function (ApiKeyType) {
6
- ApiKeyType["TENANT_SYSTEM_API_SECRET"] = "TENANT_SYSTEM_API_SECRET";
7
6
  ApiKeyType["TENANT_SYSTEM_JWT"] = "TENANT_SYSTEM_JWT";
8
7
  ApiKeyType["ADMIN_JWT_ACCESS_TOKEN"] = "ADMIN_JWT_ACCESS_TOKEN";
9
8
  ApiKeyType["ADMIN_JWT_REFRESH_TOKEN"] = "ADMIN_JWT_REFRESH_TOKEN";
@@ -13,5 +12,6 @@ var ApiKeyType;
13
12
  ApiKeyType["BLOCKCHAIN_READER_JWT"] = "BLOCKCHAIN_READER_JWT";
14
13
  // TODO: this needs to be removed. However, there is still dependency
15
14
  ApiKeyType["TENANT_LEGACY_ADMIN"] = "TENANT_ADMIN_JWT";
15
+ // TENANT_SYSTEM_API_SECRET = 'TENANT_SYSTEM_API_SECRET',
16
16
  })(ApiKeyType || (exports.ApiKeyType = ApiKeyType = {}));
17
17
  //# sourceMappingURL=api-key-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,mEAAwD,CAAA;IACxD,qDAAiD,CAAA;IACjD,+DAAsD,CAAA;IACtD,iEAAuD,CAAA;IACvD,6DAAqD,CAAA;IACrD,+DAAsD,CAAA;IACtD,6DAAqD,CAAA;IACrD,6DAAqD,CAAA;IAErD,qEAAqE;IACrE,sDAAgD,CAAA;AACpD,CAAC,EAZW,UAAU,0BAAV,UAAU,QAYrB"}
1
+ {"version":3,"file":"api-key-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,qDAAiD,CAAA;IACjD,+DAAsD,CAAA;IACtD,iEAAuD,CAAA;IACvD,6DAAqD,CAAA;IACrD,+DAAsD,CAAA;IACtD,6DAAqD,CAAA;IACrD,6DAAqD,CAAA;IAErD,qEAAqE;IACrE,sDAAgD,CAAA;IAChD,4DAA4D;AAChE,CAAC,EAZW,UAAU,0BAAV,UAAU,QAYrB"}
@@ -1,15 +1,37 @@
1
- import { ApiKeyType } from "../enum/api-key-type.enum";
2
- type JWTPayloadSub = 'PERS-Auth-Token';
3
- export interface JWTPayload {
4
- sub: JWTPayloadSub | string;
5
- providerContextId?: string;
1
+ import { AccountOwnerType } from "../enum/owner-type.enum";
2
+ import { IntegrationApiKeyType, ApiKeyType, AuthApiKeyType, BlockchainApiKeyType } from "../enum/api-key-type.enum";
3
+ interface BaseJWTPayload {
4
+ sub: string;
6
5
  type: ApiKeyType;
7
6
  tenantId: string | null;
8
- transactionId?: string | null;
9
- userId: string | null;
10
- adminId: string | null;
11
- businessId?: string | null;
12
- permissions?: string[];
7
+ accountType?: AccountOwnerType;
8
+ }
9
+ export interface AuthJWTPayload extends BaseJWTPayload {
10
+ sub: string;
11
+ type: AuthApiKeyType | IntegrationApiKeyType;
12
+ tenantId: string | null;
13
+ accountType: AccountOwnerType;
14
+ apiKeyId: string | null;
15
+ providerContextId?: string;
16
+ }
17
+ export interface ActionableJWTPayload extends BaseJWTPayload {
18
+ sub: string;
19
+ type: AuthApiKeyType;
20
+ tenantId: string | null;
21
+ accountType: AccountOwnerType;
22
+ transactionId: string | null;
23
+ providerContextId?: string;
24
+ }
25
+ export interface BlockchainJWTPayload extends BaseJWTPayload {
26
+ sub: string;
27
+ type: BlockchainApiKeyType;
28
+ tenantId: string | null;
29
+ accountType?: AccountOwnerType;
30
+ permissions: string[];
13
31
  }
32
+ export type PersJWTPayload = AuthJWTPayload | ActionableJWTPayload | BlockchainJWTPayload;
33
+ export declare function isAuthPayload(payload: PersJWTPayload): payload is AuthJWTPayload;
34
+ export declare function isActionablePayload(payload: PersJWTPayload): payload is ActionableJWTPayload;
35
+ export declare function isBlockchainPayload(payload: PersJWTPayload): payload is BlockchainJWTPayload;
14
36
  export {};
15
37
  //# sourceMappingURL=jwt.payload.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,KAAK,aAAa,GAAG,iBAAiB,CAAC;AAEvC,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAwBpH,UAAU,cAAc;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAMlC;AAGD,MAAM,WAAW,cAAe,SAAQ,cAAc;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,GAAG,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAG9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAG/B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAOD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAQ1F,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,CAEhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,oBAAoB,CAE5F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,oBAAoB,CAE5F"}
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
3
+ exports.isAuthPayload = isAuthPayload;
4
+ exports.isActionablePayload = isActionablePayload;
5
+ exports.isBlockchainPayload = isBlockchainPayload;
6
+ // ===========================================
7
+ // TYPE GUARDS & UTILITIES
8
+ // ===========================================
9
+ // Type guards for specific payload types
10
+ function isAuthPayload(payload) {
11
+ return !('permissionss' in payload) && !('transactionId' in payload);
12
+ }
13
+ function isActionablePayload(payload) {
14
+ return 'transactionId' in payload && !('permissions' in payload);
15
+ }
16
+ function isBlockchainPayload(payload) {
17
+ return 'permissions' in payload;
18
+ }
4
19
  //# sourceMappingURL=jwt.payload.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAeG,CAAC"}
1
+ {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAoFA,sCAEC;AAED,kDAEC;AAED,kDAEC;AAhBD,8CAA8C;AAC9C,0BAA0B;AAC1B,8CAA8C;AAG9C,yCAAyC;AACzC,SAAgB,aAAa,CAAC,OAAuB;IACjD,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,aAAa,IAAI,OAAO,CAAC;AACpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AdminType } from '@explorins/pers-shared';
1
+ import { AdminType } from './../../enum/admin-type.enum';
2
2
  export declare class AdminCreateRequestDTO {
3
3
  email: string;
4
4
  displayName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-create.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,qBAAqB;IAI9B,KAAK,EAAE,MAAM,CAAM;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,IAAI,EAAE,SAAS,CAA0B;CAC5C"}
1
+ {"version":3,"file":"admin-create.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,qBAAa,qBAAqB;IAI9B,KAAK,EAAE,MAAM,CAAM;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,IAAI,EAAE,SAAS,CAA0B;CAC5C"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
8
- import { AdminType } from '@explorins/pers-shared';
8
+ import { AdminType } from './../../enum/admin-type.enum';
9
9
  export class AdminCreateRequestDTO {
10
10
  email = '';
11
11
  displayName;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-create.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,OAAO,qBAAqB;IAI9B,KAAK,GAAW,EAAE,CAAC;IAKnB,WAAW,CAAU;IAMrB,IAAI,GAAc,SAAS,CAAC,YAAY,CAAC;CAC5C;AAZG;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,oBAAoB;KACpC,CAAC;oDACiB;AAKnB;IAHC,mBAAmB,CAAC;QACjB,WAAW,EAAE,2BAA2B;KAC3C,CAAC;0DACmB;AAMrB;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,SAAS;KAClB,CAAC;mDACuC"}
1
+ {"version":3,"file":"admin-create.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/admin/admin-create.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,OAAO,qBAAqB;IAI9B,KAAK,GAAW,EAAE,CAAC;IAKnB,WAAW,CAAU;IAMrB,IAAI,GAAc,SAAS,CAAC,YAAY,CAAC;CAC5C;AAZG;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,oBAAoB;KACpC,CAAC;oDACiB;AAKnB;IAHC,mBAAmB,CAAC;QACjB,WAAW,EAAE,2BAA2B;KAC3C,CAAC;0DACmB;AAMrB;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,SAAS;KAClB,CAAC;mDACuC"}
@@ -0,0 +1,8 @@
1
+ import { ApiKeyDTO } from "./api-key.dto";
2
+ import { AuthJWTPayload } from "./../../interfaces";
3
+ export declare class ApiKeyVerificationDTO {
4
+ valid: boolean;
5
+ payload?: AuthJWTPayload;
6
+ apiKey?: ApiKeyDTO;
7
+ }
8
+ //# sourceMappingURL=api-key-verification.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-verification.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key-verification.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,qBAAqB;IAM9B,KAAK,EAAG,OAAO,CAAC;IAShB,OAAO,CAAC,EAAE,cAAc,CAAC;IASzB,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -0,0 +1,41 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
8
+ import { Type } from "class-transformer";
9
+ import { IsBoolean, IsOptional, ValidateNested } from "class-validator";
10
+ import { ApiKeyDTO } from "./api-key.dto";
11
+ export class ApiKeyVerificationDTO {
12
+ valid;
13
+ payload;
14
+ apiKey;
15
+ }
16
+ __decorate([
17
+ ApiProperty({
18
+ description: 'Whether the API key verification was successful',
19
+ example: true
20
+ }),
21
+ IsBoolean()
22
+ ], ApiKeyVerificationDTO.prototype, "valid", void 0);
23
+ __decorate([
24
+ ApiPropertyOptional({
25
+ description: 'JWT payload data if verification was successful',
26
+ type: () => Object // Using Object since AuthJWTPayload might not be a class
27
+ }),
28
+ IsOptional(),
29
+ ValidateNested(),
30
+ Type(() => Object)
31
+ ], ApiKeyVerificationDTO.prototype, "payload", void 0);
32
+ __decorate([
33
+ ApiPropertyOptional({
34
+ description: 'API key metadata if verification was successful',
35
+ type: () => ApiKeyDTO
36
+ }),
37
+ IsOptional(),
38
+ ValidateNested(),
39
+ Type(() => ApiKeyDTO)
40
+ ], ApiKeyVerificationDTO.prototype, "apiKey", void 0);
41
+ //# sourceMappingURL=api-key-verification.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-verification.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key-verification.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,OAAO,qBAAqB;IAM9B,KAAK,CAAW;IAShB,OAAO,CAAkB;IASzB,MAAM,CAAa;CACtB;AAnBG;IALC,WAAW,CAAC;QACT,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,SAAS,EAAE;oDACI;AAShB;IAPC,mBAAmB,CAAC;QACjB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yDAAyD;KAC/E,CAAC;IACD,UAAU,EAAE;IACZ,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;sDACM;AASzB;IAPC,mBAAmB,CAAC;QACjB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;KACxB,CAAC;IACD,UAAU,EAAE;IACZ,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;qDACH"}
@@ -0,0 +1,24 @@
1
+ import { ApiKeyType } from './../../enum/api-key-type.enum';
2
+ /**
3
+ * API Key DTO - Standard response format for API key information
4
+ * Contains safe, non-sensitive API key metadata for client consumption
5
+ */
6
+ export declare class ApiKeyDTO {
7
+ id: string;
8
+ type: ApiKeyType;
9
+ name: string | null;
10
+ createdAt: Date;
11
+ shortenedPrivateKey: string;
12
+ expiresAt: Date | null;
13
+ isRevoked: boolean;
14
+ lastUsedAt: Date | null;
15
+ }
16
+ /**
17
+ * API Key Created DTO - Response format when a new API key is created
18
+ * Extends ApiKeyDTO with the full private key for one-time retrieval
19
+ * WARNING: The privateKey is only returned once during creation
20
+ */
21
+ export declare class ApiKeyCreatedDTO extends ApiKeyDTO {
22
+ privateKey: string;
23
+ }
24
+ //# sourceMappingURL=api-key.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D;;;GAGG;AACH,qBAAa,SAAS;IAMpB,EAAE,EAAG,MAAM,CAAC;IAQZ,IAAI,EAAG,UAAU,CAAC;IASlB,IAAI,EAAG,MAAM,GAAG,IAAI,CAAC;IAOrB,SAAS,EAAG,IAAI,CAAC;IAQjB,mBAAmB,EAAG,MAAM,CAAC;IAS7B,SAAS,EAAG,IAAI,GAAG,IAAI,CAAC;IAMxB,SAAS,EAAG,OAAO,CAAC;IASpB,UAAU,EAAG,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAM7C,UAAU,EAAG,MAAM,CAAC;CACrB"}
@@ -0,0 +1,102 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
8
+ import { IsEnum, IsString, IsOptional, IsDateString, IsUUID } from 'class-validator';
9
+ import { ApiKeyType } from './../../enum/api-key-type.enum';
10
+ /**
11
+ * API Key DTO - Standard response format for API key information
12
+ * Contains safe, non-sensitive API key metadata for client consumption
13
+ */
14
+ export class ApiKeyDTO {
15
+ id;
16
+ type;
17
+ name;
18
+ createdAt;
19
+ shortenedPrivateKey;
20
+ expiresAt;
21
+ isRevoked;
22
+ lastUsedAt;
23
+ }
24
+ __decorate([
25
+ ApiProperty({
26
+ description: 'Unique identifier for the API key',
27
+ example: 'f47ac10b-58cc-4372-a567-0e02b2c3d479'
28
+ }),
29
+ IsUUID()
30
+ ], ApiKeyDTO.prototype, "id", void 0);
31
+ __decorate([
32
+ ApiProperty({
33
+ description: 'Type of API key',
34
+ enum: ApiKeyType,
35
+ example: ApiKeyType.TENANT_SYSTEM_JWT
36
+ }),
37
+ IsEnum(ApiKeyType)
38
+ ], ApiKeyDTO.prototype, "type", void 0);
39
+ __decorate([
40
+ ApiPropertyOptional({
41
+ description: 'Human-readable name for the API key',
42
+ example: 'JWT Token (Mainnet) - 2025-11-22',
43
+ nullable: true
44
+ }),
45
+ IsOptional(),
46
+ IsString()
47
+ ], ApiKeyDTO.prototype, "name", void 0);
48
+ __decorate([
49
+ ApiProperty({
50
+ description: 'Creation timestamp',
51
+ example: '2025-11-22T10:30:00.000Z'
52
+ }),
53
+ IsDateString()
54
+ ], ApiKeyDTO.prototype, "createdAt", void 0);
55
+ __decorate([
56
+ ApiProperty({
57
+ description: 'Token preview for dashboard identification (first 8 + last 4 characters)',
58
+ example: 'eyJhbGci...xMjM',
59
+ maxLength: 20
60
+ }),
61
+ IsString()
62
+ ], ApiKeyDTO.prototype, "shortenedPrivateKey", void 0);
63
+ __decorate([
64
+ ApiPropertyOptional({
65
+ description: 'Expiration timestamp (null = no expiry)',
66
+ example: '2026-11-22T10:30:00.000Z',
67
+ nullable: true
68
+ }),
69
+ IsOptional(),
70
+ IsDateString()
71
+ ], ApiKeyDTO.prototype, "expiresAt", void 0);
72
+ __decorate([
73
+ ApiProperty({
74
+ description: 'Indicates if the API key has been revoked',
75
+ example: false
76
+ })
77
+ ], ApiKeyDTO.prototype, "isRevoked", void 0);
78
+ __decorate([
79
+ ApiPropertyOptional({
80
+ description: 'Last time the API key was used for authentication',
81
+ example: '2025-11-24T14:30:00.000Z',
82
+ nullable: true
83
+ }),
84
+ IsOptional(),
85
+ IsDateString()
86
+ ], ApiKeyDTO.prototype, "lastUsedAt", void 0);
87
+ /**
88
+ * API Key Created DTO - Response format when a new API key is created
89
+ * Extends ApiKeyDTO with the full private key for one-time retrieval
90
+ * WARNING: The privateKey is only returned once during creation
91
+ */
92
+ export class ApiKeyCreatedDTO extends ApiKeyDTO {
93
+ privateKey;
94
+ }
95
+ __decorate([
96
+ ApiProperty({
97
+ description: 'Full private key/token - STORE SECURELY! Only returned once during creation',
98
+ example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
99
+ }),
100
+ IsString()
101
+ ], ApiKeyCreatedDTO.prototype, "privateKey", void 0);
102
+ //# sourceMappingURL=api-key.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D;;;GAGG;AACH,MAAM,OAAO,SAAS;IAMpB,EAAE,CAAU;IAQZ,IAAI,CAAc;IASlB,IAAI,CAAiB;IAOrB,SAAS,CAAQ;IAQjB,mBAAmB,CAAU;IAS7B,SAAS,CAAe;IAMxB,SAAS,CAAW;IASpB,UAAU,CAAe;CAC1B;AAzDC;IALC,WAAW,CAAC;QACX,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACD,MAAM,EAAE;qCACG;AAQZ;IANC,WAAW,CAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU,CAAC,iBAAiB;KACtC,CAAC;IACD,MAAM,CAAC,UAAU,CAAC;uCACD;AASlB;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,kCAAkC;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;uCACU;AAOrB;IALC,WAAW,CAAC;QACX,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,YAAY,EAAE;4CACE;AAQjB;IANC,WAAW,CAAC;QACX,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,EAAE;KACd,CAAC;IACD,QAAQ,EAAE;sDACkB;AAS7B;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;4CACS;AAMxB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,KAAK;KACf,CAAC;4CACkB;AASpB;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;6CACU;AAG3B;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAM7C,UAAU,CAAU;CACrB;AADC;IALC,WAAW,CAAC;QACX,WAAW,EAAE,6EAA6E;QAC1F,OAAO,EAAE,6JAA6J;KACvK,CAAC;IACD,QAAQ,EAAE;oDACS"}
@@ -0,0 +1,4 @@
1
+ export declare class ApiKeyRequestDTO {
2
+ name: string;
3
+ }
4
+ //# sourceMappingURL=api-key.request.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.request.dto.ts"],"names":[],"mappings":"AAUE,qBAAa,gBAAgB;IAI3B,IAAI,EAAE,MAAM,CAAK;CAClB"}
@@ -5,20 +5,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { ApiProperty } from "@nestjs/swagger";
8
- export class TenantJWTRequestDTO {
9
- isTestnet = true;
10
- }
11
- __decorate([
12
- ApiProperty({
13
- description: 'wheter the key is for testnet or mainnet',
8
+ /* export class TenantJWTRequestDTO {
9
+ @ApiProperty({
10
+ description: 'wheter the key is for testnet or mainnet',
14
11
  })
15
- ], TenantJWTRequestDTO.prototype, "isTestnet", void 0);
16
- export class TenantApiKeyRequestDTO {
17
- keyName = '';
12
+ isTestnet: boolean = true
13
+ } */
14
+ export class ApiKeyRequestDTO {
15
+ name = '';
18
16
  }
19
17
  __decorate([
20
18
  ApiProperty({
21
19
  description: 'name of the key',
22
20
  })
23
- ], TenantApiKeyRequestDTO.prototype, "keyName", void 0);
24
- //# sourceMappingURL=tenantApiKey.request.dto.js.map
21
+ ], ApiKeyRequestDTO.prototype, "name", void 0);
22
+ //# sourceMappingURL=api-key.request.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/api-key.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;MAKM;AAGJ,MAAM,OAAO,gBAAgB;IAI3B,IAAI,GAAW,EAAE,CAAA;CAClB;AADC;IAHC,WAAW,CAAC;QACX,WAAW,EAAE,iBAAiB;KAC/B,CAAC;8CACe"}
@@ -0,0 +1,4 @@
1
+ export * from './api-key.dto';
2
+ export * from './api-key.request.dto';
3
+ export * from './api-key-verification.dto';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './api-key.dto';
2
+ export * from './api-key.request.dto';
3
+ export * from './api-key-verification.dto';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/api-key/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC"}
@@ -16,6 +16,7 @@ export * from './token';
16
16
  export * from './transaction';
17
17
  export * from './purchase';
18
18
  export * from './redemption';
19
+ export * from './api-key';
19
20
  export * from './campaign/campaign.dto';
20
21
  export * from './campaign/campaignCreate.request.dto';
21
22
  export * from './campaign/campaignClaim.request.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AAGpD,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAG7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAI5D,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AAGpD,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAGzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAI5D,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
@@ -27,6 +27,7 @@ export * from './transaction';
27
27
  export * from './purchase';
28
28
  // Redemption DTOs
29
29
  export * from './redemption';
30
+ export * from './api-key';
30
31
  // Campaign DTOs
31
32
  export * from './campaign/campaign.dto';
32
33
  export * from './campaign/campaignCreate.request.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AAGrF,iBAAiB;AACjB,cAAc,qCAAqC,CAAC;AAEpD,YAAY;AACZ,cAAc,YAAY,CAAC;AAE3B,gBAAgB;AAChB,cAAc,YAAY,CAAA;AAE1B,YAAY;AACZ,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,eAAe,CAAC;AAE9B,gBAAgB;AAChB,cAAc,YAAY,CAAC;AAG3B,kBAAkB;AAClB,cAAc,cAAc,CAAC;AAE7B,gBAAgB;AAChB,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAG5D,uBAAuB;AACvB,cAAc,mBAAmB,CAAA;AAEjC,mBAAmB;AACnB,cAAc,wBAAwB,CAAC;AAEvC,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAGlC,aAAa;AACb,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AAGrF,iBAAiB;AACjB,cAAc,qCAAqC,CAAC;AAEpD,YAAY;AACZ,cAAc,YAAY,CAAC;AAE3B,gBAAgB;AAChB,cAAc,YAAY,CAAA;AAE1B,YAAY;AACZ,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,eAAe,CAAC;AAE9B,gBAAgB;AAChB,cAAc,YAAY,CAAC;AAG3B,kBAAkB;AAClB,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAEzB,gBAAgB;AAChB,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAG5D,uBAAuB;AACvB,cAAc,mBAAmB,CAAA;AAEjC,mBAAmB;AACnB,cAAc,wBAAwB,CAAC;AAEvC,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAGlC,aAAa;AACb,cAAc,SAAS,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from './tenant.dto';
2
2
  export * from './tenantCreate.request.dto';
3
- export * from './tenantApiKey.request.dto';
4
3
  export * from './tenantUpdate.request.dto';
5
4
  export * from './tenant-client-config.dto';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from './tenant.dto';
2
2
  export * from './tenantCreate.request.dto';
3
- export * from './tenantApiKey.request.dto';
4
3
  export * from './tenantUpdate.request.dto';
5
4
  export * from './tenant-client-config.dto';
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/index.ts"],"names":[],"mappings":"AAEA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export declare enum ApiKeyType {
2
- TENANT_SYSTEM_API_SECRET = "TENANT_SYSTEM_API_SECRET",
3
2
  TENANT_SYSTEM_JWT = "TENANT_SYSTEM_JWT",
4
3
  ADMIN_JWT_ACCESS_TOKEN = "ADMIN_JWT_ACCESS_TOKEN",
5
4
  ADMIN_JWT_REFRESH_TOKEN = "ADMIN_JWT_REFRESH_TOKEN",
@@ -9,4 +8,7 @@ export declare enum ApiKeyType {
9
8
  BLOCKCHAIN_READER_JWT = "BLOCKCHAIN_READER_JWT",
10
9
  TENANT_LEGACY_ADMIN = "TENANT_ADMIN_JWT"
11
10
  }
11
+ export type AuthApiKeyType = ApiKeyType.USER_JWT_ACCESS_TOKEN | ApiKeyType.USER_JWT_REFRESH_TOKEN | ApiKeyType.ADMIN_JWT_ACCESS_TOKEN | ApiKeyType.ADMIN_JWT_REFRESH_TOKEN;
12
+ export type BlockchainApiKeyType = ApiKeyType.BLOCKCHAIN_READER_JWT | ApiKeyType.BLOCKCHAIN_WRITER_JWT;
13
+ export type IntegrationApiKeyType = ApiKeyType.TENANT_SYSTEM_JWT | ApiKeyType.TENANT_LEGACY_ADMIN;
12
14
  //# sourceMappingURL=api-key-type.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":"AAEA,oBAAY,UAAU;IAClB,wBAAwB,6BAAgC;IACxD,iBAAiB,sBAAgC;IACjD,sBAAsB,2BAAgC;IACtD,uBAAuB,4BAAgC;IACvD,qBAAqB,0BAAgC;IACrD,sBAAsB,2BAAgC;IACtD,qBAAqB,0BAAgC;IACrD,qBAAqB,0BAAgC;IAGrD,mBAAmB,qBAA6B;CACnD"}
1
+ {"version":3,"file":"api-key-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":"AAEA,oBAAY,UAAU;IAClB,iBAAiB,sBAAgC;IACjD,sBAAsB,2BAAgC;IACtD,uBAAuB,4BAAgC;IACvD,qBAAqB,0BAAgC;IACrD,sBAAsB,2BAAgC;IACtD,qBAAqB,0BAAgC;IACrD,qBAAqB,0BAAgC;IAGrD,mBAAmB,qBAA6B;CAEnD;AAOD,MAAM,MAAM,cAAc,GACpB,UAAU,CAAC,qBAAqB,GAChC,UAAU,CAAC,sBAAsB,GACjC,UAAU,CAAC,sBAAsB,GACjC,UAAU,CAAC,uBAAuB,CAAA;AAIxC,MAAM,MAAM,oBAAoB,GAC1B,UAAU,CAAC,qBAAqB,GAChC,UAAU,CAAC,qBAAqB,CAAC;AAGvC,MAAM,MAAM,qBAAqB,GAC3B,UAAU,CAAC,iBAAiB,GAC5B,UAAU,CAAC,mBAAmB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export var ApiKeyType;
2
2
  (function (ApiKeyType) {
3
- ApiKeyType["TENANT_SYSTEM_API_SECRET"] = "TENANT_SYSTEM_API_SECRET";
4
3
  ApiKeyType["TENANT_SYSTEM_JWT"] = "TENANT_SYSTEM_JWT";
5
4
  ApiKeyType["ADMIN_JWT_ACCESS_TOKEN"] = "ADMIN_JWT_ACCESS_TOKEN";
6
5
  ApiKeyType["ADMIN_JWT_REFRESH_TOKEN"] = "ADMIN_JWT_REFRESH_TOKEN";
@@ -10,5 +9,6 @@ export var ApiKeyType;
10
9
  ApiKeyType["BLOCKCHAIN_READER_JWT"] = "BLOCKCHAIN_READER_JWT";
11
10
  // TODO: this needs to be removed. However, there is still dependency
12
11
  ApiKeyType["TENANT_LEGACY_ADMIN"] = "TENANT_ADMIN_JWT";
12
+ // TENANT_SYSTEM_API_SECRET = 'TENANT_SYSTEM_API_SECRET',
13
13
  })(ApiKeyType || (ApiKeyType = {}));
14
14
  //# sourceMappingURL=api-key-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,mEAAwD,CAAA;IACxD,qDAAiD,CAAA;IACjD,+DAAsD,CAAA;IACtD,iEAAuD,CAAA;IACvD,6DAAqD,CAAA;IACrD,+DAAsD,CAAA;IACtD,6DAAqD,CAAA;IACrD,6DAAqD,CAAA;IAErD,qEAAqE;IACrE,sDAAgD,CAAA;AACpD,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB"}
1
+ {"version":3,"file":"api-key-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/api-key-type.enum.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,qDAAiD,CAAA;IACjD,+DAAsD,CAAA;IACtD,iEAAuD,CAAA;IACvD,6DAAqD,CAAA;IACrD,+DAAsD,CAAA;IACtD,6DAAqD,CAAA;IACrD,6DAAqD,CAAA;IAErD,qEAAqE;IACrE,sDAAgD,CAAA;IAChD,4DAA4D;AAChE,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB"}
@@ -1,15 +1,37 @@
1
- import { ApiKeyType } from "../enum/api-key-type.enum";
2
- type JWTPayloadSub = 'PERS-Auth-Token';
3
- export interface JWTPayload {
4
- sub: JWTPayloadSub | string;
5
- providerContextId?: string;
1
+ import { AccountOwnerType } from "../enum/owner-type.enum";
2
+ import { IntegrationApiKeyType, ApiKeyType, AuthApiKeyType, BlockchainApiKeyType } from "../enum/api-key-type.enum";
3
+ interface BaseJWTPayload {
4
+ sub: string;
6
5
  type: ApiKeyType;
7
6
  tenantId: string | null;
8
- transactionId?: string | null;
9
- userId: string | null;
10
- adminId: string | null;
11
- businessId?: string | null;
12
- permissions?: string[];
7
+ accountType?: AccountOwnerType;
8
+ }
9
+ export interface AuthJWTPayload extends BaseJWTPayload {
10
+ sub: string;
11
+ type: AuthApiKeyType | IntegrationApiKeyType;
12
+ tenantId: string | null;
13
+ accountType: AccountOwnerType;
14
+ apiKeyId: string | null;
15
+ providerContextId?: string;
16
+ }
17
+ export interface ActionableJWTPayload extends BaseJWTPayload {
18
+ sub: string;
19
+ type: AuthApiKeyType;
20
+ tenantId: string | null;
21
+ accountType: AccountOwnerType;
22
+ transactionId: string | null;
23
+ providerContextId?: string;
24
+ }
25
+ export interface BlockchainJWTPayload extends BaseJWTPayload {
26
+ sub: string;
27
+ type: BlockchainApiKeyType;
28
+ tenantId: string | null;
29
+ accountType?: AccountOwnerType;
30
+ permissions: string[];
13
31
  }
32
+ export type PersJWTPayload = AuthJWTPayload | ActionableJWTPayload | BlockchainJWTPayload;
33
+ export declare function isAuthPayload(payload: PersJWTPayload): payload is AuthJWTPayload;
34
+ export declare function isActionablePayload(payload: PersJWTPayload): payload is ActionableJWTPayload;
35
+ export declare function isBlockchainPayload(payload: PersJWTPayload): payload is BlockchainJWTPayload;
14
36
  export {};
15
37
  //# sourceMappingURL=jwt.payload.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,KAAK,aAAa,GAAG,iBAAiB,CAAC;AAEvC,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAwBpH,UAAU,cAAc;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAMlC;AAGD,MAAM,WAAW,cAAe,SAAQ,cAAc;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,GAAG,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAG9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAG/B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAOD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAQ1F,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,CAEhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,oBAAoB,CAE5F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,oBAAoB,CAE5F"}
@@ -1,3 +1,14 @@
1
- ;
2
- export {};
1
+ // ===========================================
2
+ // TYPE GUARDS & UTILITIES
3
+ // ===========================================
4
+ // Type guards for specific payload types
5
+ export function isAuthPayload(payload) {
6
+ return !('permissionss' in payload) && !('transactionId' in payload);
7
+ }
8
+ export function isActionablePayload(payload) {
9
+ return 'transactionId' in payload && !('permissions' in payload);
10
+ }
11
+ export function isBlockchainPayload(payload) {
12
+ return 'permissions' in payload;
13
+ }
3
14
  //# sourceMappingURL=jwt.payload.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAeG,CAAC"}
1
+ {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AA8EA,8CAA8C;AAC9C,0BAA0B;AAC1B,8CAA8C;AAG9C,yCAAyC;AACzC,MAAM,UAAU,aAAa,CAAC,OAAuB;IACjD,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,OAAO,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,OAAO,aAAa,IAAI,OAAO,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorins/pers-shared",
3
- "version": "2.1.41",
3
+ "version": "2.1.43",
4
4
  "scripts": {
5
5
  "clean": "find dist -type f -delete 2>/dev/null || true",
6
6
  "build:esm": "tsc -p tsconfig.esm.json",
@@ -1,7 +0,0 @@
1
- export declare class TenantJWTRequestDTO {
2
- isTestnet: boolean;
3
- }
4
- export declare class TenantApiKeyRequestDTO {
5
- keyName: string;
6
- }
7
- //# sourceMappingURL=tenantApiKey.request.dto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenantApiKey.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantApiKey.request.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,mBAAmB;IAI5B,SAAS,EAAE,OAAO,CAAO;CAC1B;AAGD,qBAAa,sBAAsB;IAIjC,OAAO,EAAE,MAAM,CAAK;CACrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenantApiKey.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantApiKey.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,mBAAmB;IAI5B,SAAS,GAAY,IAAI,CAAA;CAC1B;AALH,kDAKG;AADC;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0CAA0C;KACxD,CAAC;;sDACuB;AAI3B,MAAa,sBAAsB;IAIjC,OAAO,GAAW,EAAE,CAAA;CACrB;AALD,wDAKC;AADC;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;KAC/B,CAAC;;uDACkB"}
@@ -1,7 +0,0 @@
1
- export declare class TenantJWTRequestDTO {
2
- isTestnet: boolean;
3
- }
4
- export declare class TenantApiKeyRequestDTO {
5
- keyName: string;
6
- }
7
- //# sourceMappingURL=tenantApiKey.request.dto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenantApiKey.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantApiKey.request.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,mBAAmB;IAI5B,SAAS,EAAE,OAAO,CAAO;CAC1B;AAGD,qBAAa,sBAAsB;IAIjC,OAAO,EAAE,MAAM,CAAK;CACrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenantApiKey.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/tenantApiKey.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,mBAAmB;IAI5B,SAAS,GAAY,IAAI,CAAA;CAC1B;AADC;IAHC,WAAW,CAAC;QACX,WAAW,EAAE,0CAA0C;KACxD,CAAC;sDACuB;AAI3B,MAAM,OAAO,sBAAsB;IAIjC,OAAO,GAAW,EAAE,CAAA;CACrB;AADC;IAHC,WAAW,CAAC;QACX,WAAW,EAAE,iBAAiB;KAC/B,CAAC;uDACkB"}