@atlantjs/arch 1.0.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 (176) hide show
  1. package/README.md +8 -0
  2. package/configs/env/env-vars.d.ts +3 -0
  3. package/configs/env/env-vars.js +20 -0
  4. package/external-files/biome.json +47 -0
  5. package/external-files/typescript/tsconfig-backend.json +3 -0
  6. package/external-files/typescript/tsconfig-default.json +42 -0
  7. package/external-files/typescript/tsconfig-frontend.json +3 -0
  8. package/external-files/typescript/tsconfig-lib.json +6 -0
  9. package/external-files/typescript/tsconfig-mobile.json +3 -0
  10. package/index.d.ts +51 -0
  11. package/index.js +106 -0
  12. package/objects/arch/application/errors/application-error.abstract.d.ts +8 -0
  13. package/objects/arch/application/errors/application-error.abstract.js +25 -0
  14. package/objects/arch/application/errors/application-error.abstract.type.d.ts +9 -0
  15. package/objects/arch/application/errors/application-error.abstract.type.js +2 -0
  16. package/objects/arch/application/errors/unknown-application-error.d.ts +15 -0
  17. package/objects/arch/application/errors/unknown-application-error.js +16 -0
  18. package/objects/arch/domain/entity.abstract.d.ts +3 -0
  19. package/objects/arch/domain/entity.abstract.js +6 -0
  20. package/objects/arch/domain/usecase.abstract.d.ts +4 -0
  21. package/objects/arch/domain/usecase.abstract.js +6 -0
  22. package/objects/arch/infrastructure/controller.abstract.d.ts +6 -0
  23. package/objects/arch/infrastructure/controller.abstract.js +6 -0
  24. package/objects/auth/entities/client/client-credentials.abstract.d.ts +13 -0
  25. package/objects/auth/entities/client/client-credentials.abstract.js +27 -0
  26. package/objects/auth/entities/client/client-credentials.abstract.type.d.ts +7 -0
  27. package/objects/auth/entities/client/client-credentials.abstract.type.js +2 -0
  28. package/objects/auth/entities/client/realm-credentials.abstract.d.ts +13 -0
  29. package/objects/auth/entities/client/realm-credentials.abstract.js +20 -0
  30. package/objects/auth/entities/token/access-token-signature.d.ts +10 -0
  31. package/objects/auth/entities/token/access-token-signature.js +58 -0
  32. package/objects/auth/entities/token/access-token.abstract.d.ts +10 -0
  33. package/objects/auth/entities/token/access-token.abstract.has-role.error.d.ts +4 -0
  34. package/objects/auth/entities/token/access-token.abstract.has-role.error.js +14 -0
  35. package/objects/auth/entities/token/access-token.abstract.js +25 -0
  36. package/objects/auth/entities/token/access-token.abstract.signature-verify.error.d.ts +4 -0
  37. package/objects/auth/entities/token/access-token.abstract.signature-verify.error.js +10 -0
  38. package/objects/auth/entities/token/access-token.abstract.type.d.ts +44 -0
  39. package/objects/auth/entities/token/access-token.abstract.type.js +2 -0
  40. package/objects/auth/entities/token/rotation.d.ts +12 -0
  41. package/objects/auth/entities/token/rotation.js +108 -0
  42. package/objects/auth/entities/token/rotation.type.d.ts +5 -0
  43. package/objects/auth/entities/token/rotation.type.js +2 -0
  44. package/objects/auth/entities/token/token.d.ts +16 -0
  45. package/objects/auth/entities/token/token.js +50 -0
  46. package/objects/auth/entities/token/token.type.d.ts +5 -0
  47. package/objects/auth/entities/token/token.type.js +2 -0
  48. package/objects/auth/entities/user/enums/user-status.enum.d.ts +4 -0
  49. package/objects/auth/entities/user/enums/user-status.enum.js +8 -0
  50. package/objects/auth/entities/user/password/password.abstract.d.ts +8 -0
  51. package/objects/auth/entities/user/password/password.abstract.js +41 -0
  52. package/objects/auth/entities/user/password/password.abstract.type.d.ts +5 -0
  53. package/objects/auth/entities/user/password/password.abstract.type.js +2 -0
  54. package/objects/auth/entities/user/password/steps/not-allowing-consecutive-chars-step.d.ts +11 -0
  55. package/objects/auth/entities/user/password/steps/not-allowing-consecutive-chars-step.js +34 -0
  56. package/objects/auth/entities/user/password/steps/not-allowing-date-step.d.ts +11 -0
  57. package/objects/auth/entities/user/password/steps/not-allowing-date-step.js +61 -0
  58. package/objects/auth/entities/user/password/steps/not-allowing-phone-step.d.ts +7 -0
  59. package/objects/auth/entities/user/password/steps/not-allowing-phone-step.js +27 -0
  60. package/objects/auth/entities/user/password/steps/not-allowing-repeated-chars-step.d.ts +11 -0
  61. package/objects/auth/entities/user/password/steps/not-allowing-repeated-chars-step.js +34 -0
  62. package/objects/auth/entities/user/password/steps/not-allowing-string-step.d.ts +7 -0
  63. package/objects/auth/entities/user/password/steps/not-allowing-string-step.js +19 -0
  64. package/objects/auth/entities/user/password/steps/not-allowing-these-chars-step.d.ts +10 -0
  65. package/objects/auth/entities/user/password/steps/not-allowing-these-chars-step.js +17 -0
  66. package/objects/auth/entities/user/password/steps/numeric-step.d.ts +5 -0
  67. package/objects/auth/entities/user/password/steps/numeric-step.js +13 -0
  68. package/objects/auth/entities/user/password/steps/with-at-least-one-letter-step.d.ts +5 -0
  69. package/objects/auth/entities/user/password/steps/with-at-least-one-letter-step.js +14 -0
  70. package/objects/auth/entities/user/password/steps/with-at-least-one-number-digit-step.d.ts +5 -0
  71. package/objects/auth/entities/user/password/steps/with-at-least-one-number-digit-step.js +14 -0
  72. package/objects/auth/entities/user/password/steps/with-at-least-one-special-char-step.d.ts +5 -0
  73. package/objects/auth/entities/user/password/steps/with-at-least-one-special-char-step.js +14 -0
  74. package/objects/auth/entities/user/password/steps/with-length-step.d.ts +11 -0
  75. package/objects/auth/entities/user/password/steps/with-length-step.js +18 -0
  76. package/objects/auth/entities/user/password/validation-step.d.ts +5 -0
  77. package/objects/auth/entities/user/password/validation-step.js +9 -0
  78. package/objects/auth/entities/user/password/validation-step.type.d.ts +4 -0
  79. package/objects/auth/entities/user/password/validation-step.type.js +2 -0
  80. package/objects/auth/entities/user/user-credentials.abstract.d.ts +9 -0
  81. package/objects/auth/entities/user/user-credentials.abstract.js +6 -0
  82. package/objects/auth/entities/user/user-tokens.abstract.d.ts +13 -0
  83. package/objects/auth/entities/user/user-tokens.abstract.js +27 -0
  84. package/objects/auth/entities/user/user-tokens.abstract.type.d.ts +5 -0
  85. package/objects/auth/entities/user/user-tokens.abstract.type.js +2 -0
  86. package/objects/auth/entities/user/user.abstract.d.ts +21 -0
  87. package/objects/auth/entities/user/user.abstract.js +29 -0
  88. package/objects/auth/entities/user/value-objects/email.d.ts +6 -0
  89. package/objects/auth/entities/user/value-objects/email.js +17 -0
  90. package/objects/auth/entities/user/value-objects/person-name.d.ts +7 -0
  91. package/objects/auth/entities/user/value-objects/person-name.js +17 -0
  92. package/objects/auth/entities/user/value-objects/user-id.d.ts +3 -0
  93. package/objects/auth/entities/user/value-objects/user-id.js +7 -0
  94. package/objects/auth/entities/user/value-objects/username.d.ts +3 -0
  95. package/objects/auth/entities/user/value-objects/username.js +7 -0
  96. package/objects/auth/enums/client.enum.d.ts +3 -0
  97. package/objects/auth/enums/client.enum.js +7 -0
  98. package/objects/auth/enums/realm.enum.d.ts +3 -0
  99. package/objects/auth/enums/realm.enum.js +7 -0
  100. package/objects/auth/enums/role-group.enum.d.ts +4 -0
  101. package/objects/auth/enums/role-group.enum.js +8 -0
  102. package/objects/auth/enums/role.enum.d.ts +17 -0
  103. package/objects/auth/enums/role.enum.js +21 -0
  104. package/objects/auth/enums/token-name-header.enum.d.ts +4 -0
  105. package/objects/auth/enums/token-name-header.enum.js +8 -0
  106. package/objects/configs/enums/node-envs.enum.d.ts +6 -0
  107. package/objects/configs/enums/node-envs.enum.js +10 -0
  108. package/objects/datatypes/entities/$boolean.abstract.d.ts +7 -0
  109. package/objects/datatypes/entities/$boolean.abstract.js +21 -0
  110. package/objects/datatypes/entities/$number.abstract.d.ts +13 -0
  111. package/objects/datatypes/entities/$number.abstract.js +60 -0
  112. package/objects/datatypes/entities/$string.abstract.d.ts +10 -0
  113. package/objects/datatypes/entities/$string.abstract.js +34 -0
  114. package/objects/datatypes/entities/uuid.abstract.d.ts +7 -0
  115. package/objects/datatypes/entities/uuid.abstract.js +20 -0
  116. package/package.json +66 -0
  117. package/tests/builders/auth/access-token-signature.builder.d.ts +6 -0
  118. package/tests/builders/auth/access-token-signature.builder.js +19 -0
  119. package/tests/builders/auth/access-token.builder.d.ts +6 -0
  120. package/tests/builders/auth/access-token.builder.js +15 -0
  121. package/tests/builders/auth/rotation.builder.d.ts +6 -0
  122. package/tests/builders/auth/rotation.builder.js +19 -0
  123. package/tests/builders/auth/token.builder.d.ts +7 -0
  124. package/tests/builders/auth/token.builder.js +15 -0
  125. package/tests/builders/auth/value-objects/client-credentials.builder.d.ts +6 -0
  126. package/tests/builders/auth/value-objects/client-credentials.builder.js +18 -0
  127. package/tests/builders/auth/value-objects/dummies/access-token.dummy.d.ts +3 -0
  128. package/tests/builders/auth/value-objects/dummies/access-token.dummy.js +7 -0
  129. package/tests/builders/auth/value-objects/dummies/client-credentials.dummy.d.ts +3 -0
  130. package/tests/builders/auth/value-objects/dummies/client-credentials.dummy.js +7 -0
  131. package/tests/builders/auth/value-objects/dummies/realm-credentials.dummy.d.ts +6 -0
  132. package/tests/builders/auth/value-objects/dummies/realm-credentials.dummy.js +12 -0
  133. package/tests/builders/auth/value-objects/dummies/user-tokens.dummy.d.ts +3 -0
  134. package/tests/builders/auth/value-objects/dummies/user-tokens.dummy.js +7 -0
  135. package/tests/builders/auth/value-objects/realm-credentials.builder.d.ts +6 -0
  136. package/tests/builders/auth/value-objects/realm-credentials.builder.js +17 -0
  137. package/tests/builders/auth/value-objects/user-tokens.builder.d.ts +7 -0
  138. package/tests/builders/auth/value-objects/user-tokens.builder.js +18 -0
  139. package/tests/builders/errors/application-error.builder.d.ts +6 -0
  140. package/tests/builders/errors/application-error.builder.js +21 -0
  141. package/tests/builders/errors/dummies/application-error.dummy.d.ts +3 -0
  142. package/tests/builders/errors/dummies/application-error.dummy.js +7 -0
  143. package/tests/builders/generic/dummies/uuid.dummy.d.ts +3 -0
  144. package/tests/builders/generic/dummies/uuid.dummy.js +7 -0
  145. package/tests/builders/generic/uuid.builder.d.ts +6 -0
  146. package/tests/builders/generic/uuid.builder.js +14 -0
  147. package/tests/builders/user/user-id.builder.d.ts +6 -0
  148. package/tests/builders/user/user-id.builder.js +15 -0
  149. package/tests/create-fake-stub.d.ts +8 -0
  150. package/tests/create-fake-stub.js +37 -0
  151. package/tests/entity-builder.util.d.ts +13 -0
  152. package/tests/entity-builder.util.js +39 -0
  153. package/tests/faker/faker.d.ts +2 -0
  154. package/tests/faker/faker.js +6 -0
  155. package/utils/arrays/extended-map.d.ts +5 -0
  156. package/utils/arrays/extended-map.js +23 -0
  157. package/utils/datatypes/generic-types.d.ts +7 -0
  158. package/utils/datatypes/generic-types.js +3 -0
  159. package/utils/datatypes/string-utils.d.ts +3 -0
  160. package/utils/datatypes/string-utils.js +4 -0
  161. package/utils/ducts/common.d.ts +9 -0
  162. package/utils/ducts/common.js +14 -0
  163. package/utils/ducts/optional-type.d.ts +25 -0
  164. package/utils/ducts/optional-type.js +50 -0
  165. package/utils/ducts/return-type.d.ts +22 -0
  166. package/utils/ducts/return-type.js +60 -0
  167. package/utils/randoms/random-enum-value.d.ts +2 -0
  168. package/utils/randoms/random-enum-value.js +20 -0
  169. package/utils/randoms/random-number.d.ts +6 -0
  170. package/utils/randoms/random-number.js +6 -0
  171. package/utils/type-guard/guardian-exception.d.ts +2 -0
  172. package/utils/type-guard/guardian-exception.js +6 -0
  173. package/utils/type-guard/guardian.d.ts +29 -0
  174. package/utils/type-guard/guardian.js +132 -0
  175. package/utils/type-guard/guardian.type.d.ts +1 -0
  176. package/utils/type-guard/guardian.type.js +2 -0
package/README.md ADDED
@@ -0,0 +1,8 @@
1
+ # String Utils
2
+
3
+ ## Install
4
+
5
+ ```
6
+ npm install @atlantjs/string-utils
7
+ yarn add @atlantjs/string-utils
8
+ ```
@@ -0,0 +1,3 @@
1
+ import { NodeEnvs } from "../../objects/configs/enums/node-envs.enum";
2
+ export declare const ENVIRONMENT: NodeEnvs;
3
+ export declare const IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256: string | undefined;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = void 0;
7
+ const env_var_1 = __importDefault(require("env-var"));
8
+ const node_envs_enum_1 = require("../../objects/configs/enums/node-envs.enum");
9
+ exports.ENVIRONMENT = env_var_1.default
10
+ .get("ENVIRONMENT")
11
+ .required()
12
+ .asEnum([
13
+ node_envs_enum_1.NodeEnvs.test,
14
+ node_envs_enum_1.NodeEnvs.development,
15
+ node_envs_enum_1.NodeEnvs.production,
16
+ node_envs_enum_1.NodeEnvs.homolog,
17
+ ]);
18
+ exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = env_var_1.default
19
+ .get("KEYCLOAK_MOVINGAPP_REALM_PUBLIC_KEY_RS256")
20
+ .asString();
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
3
+ "organizeImports": {
4
+ "enabled": true
5
+ },
6
+ "formatter": {
7
+ "lineEnding": "cr"
8
+ },
9
+ "files": {
10
+ "ignore": [".dev", "dist"]
11
+ },
12
+ "javascript": {
13
+ "parser": {
14
+ "unsafeParameterDecoratorsEnabled": true
15
+ }
16
+ },
17
+ "linter": {
18
+ "enabled": true,
19
+ "rules": {
20
+ "style": {
21
+ "useImportType": {
22
+ "level": "off"
23
+ }
24
+ },
25
+ "recommended": true,
26
+ "complexity": {
27
+ "noForEach": {
28
+ "level": "off"
29
+ },
30
+ "noStaticOnlyClass": {
31
+ "level": "off"
32
+ },
33
+ "noBannedTypes": {
34
+ "level": "off"
35
+ }
36
+ },
37
+ "suspicious": {
38
+ "noExplicitAny": {
39
+ "level": "off"
40
+ },
41
+ "noMisleadingInstantiator": {
42
+ "level": "off"
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./tsconfig-default.json"
3
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "ts-node": {
4
+ "require": [
5
+ "tsconfig-paths/register"
6
+ ]
7
+ },
8
+ "compilerOptions": {
9
+ "baseUrl": "../../../../../",
10
+ "strict": true,
11
+ "moduleResolution": "node",
12
+ "resolveJsonModule": true,
13
+ "rootDirs": [
14
+ "../../../../../src",
15
+ "../../../../../tests"
16
+ ],
17
+ "paths": {
18
+ "#/*": [
19
+ "../../../../../src/*"
20
+ ],
21
+ "!tests/*": [
22
+ "../../../../../tests/*"
23
+ ]
24
+ },
25
+ "esModuleInterop": true,
26
+ "experimentalDecorators": true,
27
+ "emitDecoratorMetadata": true,
28
+ "target": "es6",
29
+ "module": "commonjs",
30
+ "skipLibCheck": true,
31
+ "declaration": true,
32
+ "forceConsistentCasingInFileNames": true,
33
+ "outDir": "../../../../../dist"
34
+ },
35
+ "include": [
36
+ "../../../../../src/**/*"
37
+ ],
38
+ "exclude": [
39
+ "../../../../../node_modules",
40
+ "../../../../../dist"
41
+ ]
42
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./tsconfig-default.json",
3
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "./tsconfig-default.json",
3
+ "compilerOptions": {
4
+ "declaration": true
5
+ }
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./tsconfig-default.json"
3
+ }
package/index.d.ts ADDED
@@ -0,0 +1,51 @@
1
+ import "./utils/datatypes/string-utils";
2
+ export { ENVIRONMENT, IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 as KEYCLOAK_MOVINGAPP_REALM_PUBLIC_KEY_RS256, } from "./configs/env/env-vars";
3
+ export { ApplicationErrorAbstract } from "./objects/arch/application/errors/application-error.abstract";
4
+ export { UnknownApplicationError } from "./objects/arch/application/errors/unknown-application-error";
5
+ export { EntityAbstract } from "./objects/arch/domain/entity.abstract";
6
+ export { UsecaseAbstract } from "./objects/arch/domain/usecase.abstract";
7
+ export { ControllerAbstract } from "./objects/arch/infrastructure/controller.abstract";
8
+ export { NodeEnvs } from "./objects/configs/enums/node-envs.enum";
9
+ export { $string } from "./objects/datatypes/entities/$string.abstract";
10
+ export { $number } from "./objects/datatypes/entities/$number.abstract";
11
+ export { $boolean } from "./objects/datatypes/entities/$boolean.abstract";
12
+ export { UuidAbstract } from "./objects/datatypes/entities/uuid.abstract";
13
+ export { ClientCredentialsBuilder } from "./tests/builders/auth/value-objects/client-credentials.builder";
14
+ export { RealmCredentialsBuilder } from "./tests/builders/auth/value-objects/realm-credentials.builder";
15
+ export { UserTokensBuilder } from "./tests/builders/auth/value-objects/user-tokens.builder";
16
+ export { AccessTokenSignatureBuilder } from "./tests/builders/auth/access-token-signature.builder";
17
+ export { AccessTokenBuilder } from "./tests/builders/auth/access-token.builder";
18
+ export { RotationBuilder } from "./tests/builders/auth/rotation.builder";
19
+ export { TokenBuilder } from "./tests/builders/auth/token.builder";
20
+ export { ApplicationErrorBuilder } from "./tests/builders/errors/application-error.builder";
21
+ export { UuidBuilder } from "./tests/builders/generic/uuid.builder";
22
+ export { UserIdBuilder } from "./tests/builders/user/user-id.builder";
23
+ export { CreateFakeUsecase } from "./tests/create-fake-stub";
24
+ export { EntityBuilder } from "./tests/entity-builder.util";
25
+ export { ExtendedMap } from "./utils/arrays/extended-map";
26
+ export { Newable, ObjectType, Abstract, } from "./utils/datatypes/generic-types";
27
+ export { Something, Nothing, Optional } from "./utils/ducts/optional-type";
28
+ export { Success, Failure, Return } from "./utils/ducts/return-type";
29
+ export { randomEnumValue, randomEnumValueExcept, } from "./utils/randoms/random-enum-value";
30
+ export { randomNumber } from "./utils/randoms/random-number";
31
+ export { Guardian } from "./utils/type-guard/guardian";
32
+ export { PrimitiveType } from "./utils/type-guard/guardian.type";
33
+ export { ClientCredentialsAbstract } from "./objects/auth/entities/client/client-credentials.abstract";
34
+ export { RealmCredentialsAbstract } from "./objects/auth/entities/client/realm-credentials.abstract";
35
+ export { AccessTokenAbstract } from "./objects/auth/entities/token/access-token.abstract";
36
+ export { Token } from "./objects/auth/entities/token/token";
37
+ export { AccessTokenSignature } from "./objects/auth/entities/token/access-token-signature";
38
+ export { UserStatusEnum } from "./objects/auth/entities/user/enums/user-status.enum";
39
+ export { PasswordAbstract } from "./objects/auth/entities/user/password/password.abstract";
40
+ export { Email } from "./objects/auth/entities/user/value-objects/email";
41
+ export { PersonName } from "./objects/auth/entities/user/value-objects/person-name";
42
+ export { UserId } from "./objects/auth/entities/user/value-objects/user-id";
43
+ export { Username } from "./objects/auth/entities/user/value-objects/username";
44
+ export { UserTokensAbstract } from "./objects/auth/entities/user/user-tokens.abstract";
45
+ export { UserCredentialsAbstract } from "./objects/auth/entities/user/user-credentials.abstract";
46
+ export { UserAbstract } from "./objects/auth/entities/user/user.abstract";
47
+ export { ClientEnum } from "./objects/auth/enums/client.enum";
48
+ export { RealmEnum } from "./objects/auth/enums/realm.enum";
49
+ export { RoleGroupEnum } from "./objects/auth/enums/role-group.enum";
50
+ export { RoleEnum } from "./objects/auth/enums/role.enum";
51
+ export { TokenNameHeaderEnum } from "./objects/auth/enums/token-name-header.enum";
package/index.js ADDED
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealmEnum = exports.ClientEnum = exports.UserAbstract = exports.UserCredentialsAbstract = exports.UserTokensAbstract = exports.Username = exports.UserId = exports.PersonName = exports.Email = exports.PasswordAbstract = exports.UserStatusEnum = exports.AccessTokenSignature = exports.Token = exports.AccessTokenAbstract = exports.RealmCredentialsAbstract = exports.ClientCredentialsAbstract = exports.Guardian = exports.randomNumber = exports.randomEnumValueExcept = exports.randomEnumValue = exports.Failure = exports.Success = exports.Optional = exports.Nothing = exports.Something = exports.ExtendedMap = exports.EntityBuilder = exports.CreateFakeUsecase = exports.UserIdBuilder = exports.UuidBuilder = exports.ApplicationErrorBuilder = exports.TokenBuilder = exports.RotationBuilder = exports.AccessTokenBuilder = exports.AccessTokenSignatureBuilder = exports.UserTokensBuilder = exports.RealmCredentialsBuilder = exports.ClientCredentialsBuilder = exports.UuidAbstract = exports.$boolean = exports.$number = exports.$string = exports.NodeEnvs = exports.ControllerAbstract = exports.UsecaseAbstract = exports.EntityAbstract = exports.UnknownApplicationError = exports.ApplicationErrorAbstract = exports.KEYCLOAK_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = void 0;
4
+ exports.TokenNameHeaderEnum = exports.RoleEnum = exports.RoleGroupEnum = void 0;
5
+ require("./utils/datatypes/string-utils");
6
+ var env_vars_1 = require("./configs/env/env-vars");
7
+ Object.defineProperty(exports, "ENVIRONMENT", { enumerable: true, get: function () { return env_vars_1.ENVIRONMENT; } });
8
+ Object.defineProperty(exports, "KEYCLOAK_MOVINGAPP_REALM_PUBLIC_KEY_RS256", { enumerable: true, get: function () { return env_vars_1.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256; } });
9
+ var application_error_abstract_1 = require("./objects/arch/application/errors/application-error.abstract");
10
+ Object.defineProperty(exports, "ApplicationErrorAbstract", { enumerable: true, get: function () { return application_error_abstract_1.ApplicationErrorAbstract; } });
11
+ var unknown_application_error_1 = require("./objects/arch/application/errors/unknown-application-error");
12
+ Object.defineProperty(exports, "UnknownApplicationError", { enumerable: true, get: function () { return unknown_application_error_1.UnknownApplicationError; } });
13
+ var entity_abstract_1 = require("./objects/arch/domain/entity.abstract");
14
+ Object.defineProperty(exports, "EntityAbstract", { enumerable: true, get: function () { return entity_abstract_1.EntityAbstract; } });
15
+ var usecase_abstract_1 = require("./objects/arch/domain/usecase.abstract");
16
+ Object.defineProperty(exports, "UsecaseAbstract", { enumerable: true, get: function () { return usecase_abstract_1.UsecaseAbstract; } });
17
+ var controller_abstract_1 = require("./objects/arch/infrastructure/controller.abstract");
18
+ Object.defineProperty(exports, "ControllerAbstract", { enumerable: true, get: function () { return controller_abstract_1.ControllerAbstract; } });
19
+ var node_envs_enum_1 = require("./objects/configs/enums/node-envs.enum");
20
+ Object.defineProperty(exports, "NodeEnvs", { enumerable: true, get: function () { return node_envs_enum_1.NodeEnvs; } });
21
+ var _string_abstract_1 = require("./objects/datatypes/entities/$string.abstract");
22
+ Object.defineProperty(exports, "$string", { enumerable: true, get: function () { return _string_abstract_1.$string; } });
23
+ var _number_abstract_1 = require("./objects/datatypes/entities/$number.abstract");
24
+ Object.defineProperty(exports, "$number", { enumerable: true, get: function () { return _number_abstract_1.$number; } });
25
+ var _boolean_abstract_1 = require("./objects/datatypes/entities/$boolean.abstract");
26
+ Object.defineProperty(exports, "$boolean", { enumerable: true, get: function () { return _boolean_abstract_1.$boolean; } });
27
+ var uuid_abstract_1 = require("./objects/datatypes/entities/uuid.abstract");
28
+ Object.defineProperty(exports, "UuidAbstract", { enumerable: true, get: function () { return uuid_abstract_1.UuidAbstract; } });
29
+ var client_credentials_builder_1 = require("./tests/builders/auth/value-objects/client-credentials.builder");
30
+ Object.defineProperty(exports, "ClientCredentialsBuilder", { enumerable: true, get: function () { return client_credentials_builder_1.ClientCredentialsBuilder; } });
31
+ var realm_credentials_builder_1 = require("./tests/builders/auth/value-objects/realm-credentials.builder");
32
+ Object.defineProperty(exports, "RealmCredentialsBuilder", { enumerable: true, get: function () { return realm_credentials_builder_1.RealmCredentialsBuilder; } });
33
+ var user_tokens_builder_1 = require("./tests/builders/auth/value-objects/user-tokens.builder");
34
+ Object.defineProperty(exports, "UserTokensBuilder", { enumerable: true, get: function () { return user_tokens_builder_1.UserTokensBuilder; } });
35
+ var access_token_signature_builder_1 = require("./tests/builders/auth/access-token-signature.builder");
36
+ Object.defineProperty(exports, "AccessTokenSignatureBuilder", { enumerable: true, get: function () { return access_token_signature_builder_1.AccessTokenSignatureBuilder; } });
37
+ var access_token_builder_1 = require("./tests/builders/auth/access-token.builder");
38
+ Object.defineProperty(exports, "AccessTokenBuilder", { enumerable: true, get: function () { return access_token_builder_1.AccessTokenBuilder; } });
39
+ var rotation_builder_1 = require("./tests/builders/auth/rotation.builder");
40
+ Object.defineProperty(exports, "RotationBuilder", { enumerable: true, get: function () { return rotation_builder_1.RotationBuilder; } });
41
+ var token_builder_1 = require("./tests/builders/auth/token.builder");
42
+ Object.defineProperty(exports, "TokenBuilder", { enumerable: true, get: function () { return token_builder_1.TokenBuilder; } });
43
+ var application_error_builder_1 = require("./tests/builders/errors/application-error.builder");
44
+ Object.defineProperty(exports, "ApplicationErrorBuilder", { enumerable: true, get: function () { return application_error_builder_1.ApplicationErrorBuilder; } });
45
+ var uuid_builder_1 = require("./tests/builders/generic/uuid.builder");
46
+ Object.defineProperty(exports, "UuidBuilder", { enumerable: true, get: function () { return uuid_builder_1.UuidBuilder; } });
47
+ var user_id_builder_1 = require("./tests/builders/user/user-id.builder");
48
+ Object.defineProperty(exports, "UserIdBuilder", { enumerable: true, get: function () { return user_id_builder_1.UserIdBuilder; } });
49
+ var create_fake_stub_1 = require("./tests/create-fake-stub");
50
+ Object.defineProperty(exports, "CreateFakeUsecase", { enumerable: true, get: function () { return create_fake_stub_1.CreateFakeUsecase; } });
51
+ var entity_builder_util_1 = require("./tests/entity-builder.util");
52
+ Object.defineProperty(exports, "EntityBuilder", { enumerable: true, get: function () { return entity_builder_util_1.EntityBuilder; } });
53
+ var extended_map_1 = require("./utils/arrays/extended-map");
54
+ Object.defineProperty(exports, "ExtendedMap", { enumerable: true, get: function () { return extended_map_1.ExtendedMap; } });
55
+ var optional_type_1 = require("./utils/ducts/optional-type");
56
+ Object.defineProperty(exports, "Something", { enumerable: true, get: function () { return optional_type_1.Something; } });
57
+ Object.defineProperty(exports, "Nothing", { enumerable: true, get: function () { return optional_type_1.Nothing; } });
58
+ Object.defineProperty(exports, "Optional", { enumerable: true, get: function () { return optional_type_1.Optional; } });
59
+ var return_type_1 = require("./utils/ducts/return-type");
60
+ Object.defineProperty(exports, "Success", { enumerable: true, get: function () { return return_type_1.Success; } });
61
+ Object.defineProperty(exports, "Failure", { enumerable: true, get: function () { return return_type_1.Failure; } });
62
+ var random_enum_value_1 = require("./utils/randoms/random-enum-value");
63
+ Object.defineProperty(exports, "randomEnumValue", { enumerable: true, get: function () { return random_enum_value_1.randomEnumValue; } });
64
+ Object.defineProperty(exports, "randomEnumValueExcept", { enumerable: true, get: function () { return random_enum_value_1.randomEnumValueExcept; } });
65
+ var random_number_1 = require("./utils/randoms/random-number");
66
+ Object.defineProperty(exports, "randomNumber", { enumerable: true, get: function () { return random_number_1.randomNumber; } });
67
+ var guardian_1 = require("./utils/type-guard/guardian");
68
+ Object.defineProperty(exports, "Guardian", { enumerable: true, get: function () { return guardian_1.Guardian; } });
69
+ var client_credentials_abstract_1 = require("./objects/auth/entities/client/client-credentials.abstract");
70
+ Object.defineProperty(exports, "ClientCredentialsAbstract", { enumerable: true, get: function () { return client_credentials_abstract_1.ClientCredentialsAbstract; } });
71
+ var realm_credentials_abstract_1 = require("./objects/auth/entities/client/realm-credentials.abstract");
72
+ Object.defineProperty(exports, "RealmCredentialsAbstract", { enumerable: true, get: function () { return realm_credentials_abstract_1.RealmCredentialsAbstract; } });
73
+ var access_token_abstract_1 = require("./objects/auth/entities/token/access-token.abstract");
74
+ Object.defineProperty(exports, "AccessTokenAbstract", { enumerable: true, get: function () { return access_token_abstract_1.AccessTokenAbstract; } });
75
+ var token_1 = require("./objects/auth/entities/token/token");
76
+ Object.defineProperty(exports, "Token", { enumerable: true, get: function () { return token_1.Token; } });
77
+ var access_token_signature_1 = require("./objects/auth/entities/token/access-token-signature");
78
+ Object.defineProperty(exports, "AccessTokenSignature", { enumerable: true, get: function () { return access_token_signature_1.AccessTokenSignature; } });
79
+ var user_status_enum_1 = require("./objects/auth/entities/user/enums/user-status.enum");
80
+ Object.defineProperty(exports, "UserStatusEnum", { enumerable: true, get: function () { return user_status_enum_1.UserStatusEnum; } });
81
+ var password_abstract_1 = require("./objects/auth/entities/user/password/password.abstract");
82
+ Object.defineProperty(exports, "PasswordAbstract", { enumerable: true, get: function () { return password_abstract_1.PasswordAbstract; } });
83
+ var email_1 = require("./objects/auth/entities/user/value-objects/email");
84
+ Object.defineProperty(exports, "Email", { enumerable: true, get: function () { return email_1.Email; } });
85
+ var person_name_1 = require("./objects/auth/entities/user/value-objects/person-name");
86
+ Object.defineProperty(exports, "PersonName", { enumerable: true, get: function () { return person_name_1.PersonName; } });
87
+ var user_id_1 = require("./objects/auth/entities/user/value-objects/user-id");
88
+ Object.defineProperty(exports, "UserId", { enumerable: true, get: function () { return user_id_1.UserId; } });
89
+ var username_1 = require("./objects/auth/entities/user/value-objects/username");
90
+ Object.defineProperty(exports, "Username", { enumerable: true, get: function () { return username_1.Username; } });
91
+ var user_tokens_abstract_1 = require("./objects/auth/entities/user/user-tokens.abstract");
92
+ Object.defineProperty(exports, "UserTokensAbstract", { enumerable: true, get: function () { return user_tokens_abstract_1.UserTokensAbstract; } });
93
+ var user_credentials_abstract_1 = require("./objects/auth/entities/user/user-credentials.abstract");
94
+ Object.defineProperty(exports, "UserCredentialsAbstract", { enumerable: true, get: function () { return user_credentials_abstract_1.UserCredentialsAbstract; } });
95
+ var user_abstract_1 = require("./objects/auth/entities/user/user.abstract");
96
+ Object.defineProperty(exports, "UserAbstract", { enumerable: true, get: function () { return user_abstract_1.UserAbstract; } });
97
+ var client_enum_1 = require("./objects/auth/enums/client.enum");
98
+ Object.defineProperty(exports, "ClientEnum", { enumerable: true, get: function () { return client_enum_1.ClientEnum; } });
99
+ var realm_enum_1 = require("./objects/auth/enums/realm.enum");
100
+ Object.defineProperty(exports, "RealmEnum", { enumerable: true, get: function () { return realm_enum_1.RealmEnum; } });
101
+ var role_group_enum_1 = require("./objects/auth/enums/role-group.enum");
102
+ Object.defineProperty(exports, "RoleGroupEnum", { enumerable: true, get: function () { return role_group_enum_1.RoleGroupEnum; } });
103
+ var role_enum_1 = require("./objects/auth/enums/role.enum");
104
+ Object.defineProperty(exports, "RoleEnum", { enumerable: true, get: function () { return role_enum_1.RoleEnum; } });
105
+ var token_name_header_enum_1 = require("./objects/auth/enums/token-name-header.enum");
106
+ Object.defineProperty(exports, "TokenNameHeaderEnum", { enumerable: true, get: function () { return token_name_header_enum_1.TokenNameHeaderEnum; } });
@@ -0,0 +1,8 @@
1
+ import { ApplicationErrorPrimitive, ApplicationErrorProps } from "./application-error.abstract.type";
2
+ export declare abstract class ApplicationErrorAbstract {
3
+ private readonly props;
4
+ protected readonly _code: string;
5
+ protected readonly _message: string;
6
+ constructor(props: ApplicationErrorProps);
7
+ toPlain(): ApplicationErrorPrimitive;
8
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationErrorAbstract = void 0;
4
+ const env_vars_1 = require("../../../../configs/env/env-vars");
5
+ const node_envs_enum_1 = require("../../../configs/enums/node-envs.enum");
6
+ const guardian_1 = require("../../../../utils/type-guard/guardian");
7
+ class ApplicationErrorAbstract {
8
+ constructor(props) {
9
+ this.props = props;
10
+ this._code = this.props.className.toKebab();
11
+ if (guardian_1.Guardian.and(guardian_1.Guardian.isEqual(env_vars_1.ENVIRONMENT, node_envs_enum_1.NodeEnvs.development), guardian_1.Guardian.isNotEmpty(this.props.error))) {
12
+ this._message = `${this.props.message} - ${this.props.error.toString()}`;
13
+ }
14
+ else {
15
+ this._message = this.props.message;
16
+ }
17
+ }
18
+ toPlain() {
19
+ return {
20
+ code: this._code,
21
+ message: this._message,
22
+ };
23
+ }
24
+ }
25
+ exports.ApplicationErrorAbstract = ApplicationErrorAbstract;
@@ -0,0 +1,9 @@
1
+ export interface ApplicationErrorPrimitive {
2
+ code: string;
3
+ message: string;
4
+ }
5
+ export interface ApplicationErrorProps {
6
+ className: string;
7
+ message: string;
8
+ error?: any;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ interface UnknownApplicationErrorPrimitive {
2
+ code: string;
3
+ message: string;
4
+ }
5
+ interface UnknownApplicationErrorProps {
6
+ className: string;
7
+ error: UnknownApplicationErrorPrimitive;
8
+ }
9
+ export declare class UnknownApplicationError {
10
+ protected readonly unknownCode: string;
11
+ protected readonly unknownMessage: string;
12
+ constructor({ className, error }: UnknownApplicationErrorProps);
13
+ toPlain(): UnknownApplicationErrorPrimitive;
14
+ }
15
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnknownApplicationError = void 0;
4
+ class UnknownApplicationError {
5
+ constructor({ className, error }) {
6
+ this.unknownCode = className.toKebab();
7
+ this.unknownMessage = error.message;
8
+ }
9
+ toPlain() {
10
+ return {
11
+ code: this.unknownCode,
12
+ message: this.unknownMessage,
13
+ };
14
+ }
15
+ }
16
+ exports.UnknownApplicationError = UnknownApplicationError;
@@ -0,0 +1,3 @@
1
+ export declare abstract class EntityAbstract {
2
+ abstract toPlain(): Record<string, unknown>;
3
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityAbstract = void 0;
4
+ class EntityAbstract {
5
+ }
6
+ exports.EntityAbstract = EntityAbstract;
@@ -0,0 +1,4 @@
1
+ import { Return } from "../../../utils/ducts/return-type";
2
+ export declare abstract class UsecaseAbstract {
3
+ abstract execute(...args: unknown[]): Promise<Return<unknown, unknown>>;
4
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsecaseAbstract = void 0;
4
+ class UsecaseAbstract {
5
+ }
6
+ exports.UsecaseAbstract = UsecaseAbstract;
@@ -0,0 +1,6 @@
1
+ import { Response } from "express";
2
+ export declare abstract class ControllerAbstract {
3
+ abstract handler(): Promise<Response>;
4
+ protected abstract onSuccess(res: Response, ...args: unknown[]): Response;
5
+ protected abstract onError(res: Response, error: unknown, ...args: unknown[]): Response;
6
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControllerAbstract = void 0;
4
+ class ControllerAbstract {
5
+ }
6
+ exports.ControllerAbstract = ControllerAbstract;
@@ -0,0 +1,13 @@
1
+ import { ClientCredentialsPrimitive } from "./client-credentials.abstract.type";
2
+ import { ClientEnum } from "../../enums/client.enum";
3
+ import { RealmEnum } from "../../enums/realm.enum";
4
+ export declare class ClientCredentialsAbstract {
5
+ protected _clientId: ClientEnum;
6
+ protected _clientSecret: string;
7
+ protected _realm: RealmEnum;
8
+ constructor(_clientId: ClientEnum, _clientSecret: string, _realm: RealmEnum);
9
+ get clientId(): ClientEnum;
10
+ get clientSecret(): string;
11
+ get realm(): RealmEnum;
12
+ toPlain(): ClientCredentialsPrimitive;
13
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientCredentialsAbstract = void 0;
4
+ class ClientCredentialsAbstract {
5
+ constructor(_clientId, _clientSecret, _realm) {
6
+ this._clientId = _clientId;
7
+ this._clientSecret = _clientSecret;
8
+ this._realm = _realm;
9
+ }
10
+ get clientId() {
11
+ return this._clientId;
12
+ }
13
+ get clientSecret() {
14
+ return this._clientSecret;
15
+ }
16
+ get realm() {
17
+ return this._realm;
18
+ }
19
+ toPlain() {
20
+ return {
21
+ clientId: this.clientId,
22
+ clientSecret: this.clientSecret,
23
+ realm: this.realm,
24
+ };
25
+ }
26
+ }
27
+ exports.ClientCredentialsAbstract = ClientCredentialsAbstract;
@@ -0,0 +1,7 @@
1
+ import { ClientEnum } from "../../enums/client.enum";
2
+ import { RealmEnum } from "../../enums/realm.enum";
3
+ export interface ClientCredentialsPrimitive {
4
+ clientId: ClientEnum;
5
+ clientSecret: string;
6
+ realm: RealmEnum;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { ClientCredentialsAbstract } from "./client-credentials.abstract";
2
+ import { RealmEnum } from "../../enums/realm.enum";
3
+ import { Optional } from "../../../../utils/ducts/optional-type";
4
+ export declare abstract class RealmCredentialsAbstract {
5
+ protected _realm: RealmEnum;
6
+ protected _adminUsername: string;
7
+ protected _adminPassword: string;
8
+ abstract clientWrapped: Optional<ClientCredentialsAbstract>;
9
+ constructor(_realm: RealmEnum, _adminUsername: string, _adminPassword: string);
10
+ get realm(): RealmEnum;
11
+ get adminUsername(): string;
12
+ get adminPassword(): string;
13
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealmCredentialsAbstract = void 0;
4
+ class RealmCredentialsAbstract {
5
+ constructor(_realm, _adminUsername, _adminPassword) {
6
+ this._realm = _realm;
7
+ this._adminUsername = _adminUsername;
8
+ this._adminPassword = _adminPassword;
9
+ }
10
+ get realm() {
11
+ return this._realm;
12
+ }
13
+ get adminUsername() {
14
+ return this._adminUsername;
15
+ }
16
+ get adminPassword() {
17
+ return this._adminPassword;
18
+ }
19
+ }
20
+ exports.RealmCredentialsAbstract = RealmCredentialsAbstract;
@@ -0,0 +1,10 @@
1
+ import { SignatureVerifyError } from "./access-token.abstract.signature-verify.error";
2
+ import { AuthTokenPayload } from "./access-token.abstract.type";
3
+ import { RotationConfig } from "./rotation.type";
4
+ import { Token } from "./token";
5
+ import { Return } from "../../../../utils/ducts/return-type";
6
+ export declare class AccessTokenSignature {
7
+ private readonly config;
8
+ constructor(config: RotationConfig);
9
+ verify(token: Token<AuthTokenPayload>): Promise<Return<Token<AuthTokenPayload>, SignatureVerifyError>>;
10
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AccessTokenSignature = void 0;
16
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
17
+ const env_vars_1 = require("../../../../configs/env/env-vars");
18
+ const access_token_abstract_signature_verify_error_1 = require("./access-token.abstract.signature-verify.error");
19
+ const rotation_1 = require("./rotation");
20
+ const return_type_1 = require("../../../../utils/ducts/return-type");
21
+ const guardian_1 = require("../../../../utils/type-guard/guardian");
22
+ class AccessTokenSignature {
23
+ constructor(config) {
24
+ this.config = config;
25
+ }
26
+ verify(token) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ try {
29
+ const rotation = new rotation_1.Rotation(this.config);
30
+ const publicKey = yield rotation.getJWK(token.header.kid);
31
+ if (guardian_1.Guardian.isEmpty(publicKey)) {
32
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("Unable to capture public key"));
33
+ }
34
+ const publicKeySanitized = publicKey
35
+ .split("\n")
36
+ .filter((line) => line && !line.includes("BEGIN") && !line.includes("END"))
37
+ .join("\n")
38
+ .replace(/\n/g, "");
39
+ if (guardian_1.Guardian.isDifferent(env_vars_1.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256, publicKeySanitized)) {
40
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("Token is invalid"));
41
+ }
42
+ if (guardian_1.Guardian.isNotEmpty(publicKey)) {
43
+ const isSignatureValid = jsonwebtoken_1.default.verify(token.toString(), publicKey, {
44
+ algorithms: ["RS256"],
45
+ });
46
+ if (guardian_1.Guardian.isEmpty(isSignatureValid)) {
47
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("admin request failed: invalid token (signature)"));
48
+ }
49
+ }
50
+ return (0, return_type_1.Success)(token);
51
+ }
52
+ catch (error) {
53
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("Failed to verify token", error));
54
+ }
55
+ });
56
+ }
57
+ }
58
+ exports.AccessTokenSignature = AccessTokenSignature;
@@ -0,0 +1,10 @@
1
+ import { TokenHasRoleError } from "./access-token.abstract.has-role.error";
2
+ import { AccessTokenPayload } from "./access-token.abstract.type";
3
+ import { Token } from "./token";
4
+ import { RoleEnum } from "../../enums/role.enum";
5
+ import { Return } from "../../../../utils/ducts/return-type";
6
+ export declare class AccessTokenAbstract extends Token<AccessTokenPayload> {
7
+ private readonly token;
8
+ constructor(token: string);
9
+ hasRoles(roles: RoleEnum[]): Return<boolean, TokenHasRoleError>;
10
+ }
@@ -0,0 +1,4 @@
1
+ import { ApplicationErrorAbstract } from "../../../arch/application/errors/application-error.abstract";
2
+ export declare class TokenHasRoleError extends ApplicationErrorAbstract {
3
+ constructor(error?: any);
4
+ }