@atlantjs/arch 2.5.3 → 2.5.5

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 (43) hide show
  1. package/index.d.ts +5 -5
  2. package/index.js +9 -9
  3. package/objects/arch/application/dependency-injection.abstract.d.ts +28 -0
  4. package/objects/arch/application/dependency-injection.abstract.js +6 -0
  5. package/objects/arch/application/errors/application-failure.abstract.d.ts +9 -0
  6. package/objects/arch/application/errors/{application-error.abstract.js → application-failure.abstract.js} +3 -3
  7. package/objects/arch/application/errors/{application-error.abstract.type.d.ts → application-failure.abstract.type.d.ts} +2 -2
  8. package/objects/arch/application/errors/unknown-application-error.d.ts +6 -6
  9. package/objects/arch/application/errors/unknown-application-error.js +5 -5
  10. package/objects/arch/domain/repository.abstract.d.ts +2 -0
  11. package/objects/arch/domain/repository.abstract.js +6 -0
  12. package/objects/arch/domain/service.abstract.d.ts +2 -0
  13. package/objects/arch/domain/service.abstract.js +6 -0
  14. package/objects/arch/infrastructure/controller.abstract.d.ts +3 -3
  15. package/objects/arch/infrastructure/controller.abstract.js +4 -4
  16. package/objects/auth/entities/token/access-token-signature.d.ts +2 -2
  17. package/objects/auth/entities/token/access-token-signature.js +5 -5
  18. package/objects/auth/entities/token/access-token.abstract.d.ts +2 -2
  19. package/objects/auth/entities/token/access-token.abstract.has-role.failure.d.ts +4 -0
  20. package/objects/auth/entities/token/access-token.abstract.has-role.failure.js +14 -0
  21. package/objects/auth/entities/token/access-token.abstract.signature-verify.failure.d.ts +4 -0
  22. package/objects/auth/entities/token/access-token.abstract.signature-verify.failure.js +10 -0
  23. package/objects/auth/entities/user/password/password.abstract.js +2 -2
  24. package/objects/auth/entities/user/value-objects/email.js +1 -1
  25. package/objects/datatypes/entities/$number.abstract.js +1 -1
  26. package/objects/datatypes/entities/$string.abstract.js +1 -1
  27. package/package.json +1 -1
  28. package/tests/builders/errors/dummies/failure.dummy.d.ts +3 -0
  29. package/tests/builders/errors/dummies/failure.dummy.js +7 -0
  30. package/tests/builders/errors/{application-error.builder.d.ts → failure.builder.d.ts} +1 -1
  31. package/tests/builders/errors/{application-error.builder.js → failure.builder.js} +6 -6
  32. package/tests/{create-fake-stub.d.ts → create-fake-usecase.d.ts} +2 -1
  33. package/tests/{create-fake-stub.js → create-fake-usecase.js} +4 -4
  34. package/tsconfig.tsbuildinfo +1 -1
  35. package/utils/ducts/return-type.d.ts +2 -1
  36. package/objects/arch/application/errors/application-error.abstract.d.ts +0 -9
  37. package/objects/auth/entities/token/access-token.abstract.has-role.error.d.ts +0 -4
  38. package/objects/auth/entities/token/access-token.abstract.has-role.error.js +0 -14
  39. package/objects/auth/entities/token/access-token.abstract.signature-verify.error.d.ts +0 -4
  40. package/objects/auth/entities/token/access-token.abstract.signature-verify.error.js +0 -10
  41. package/tests/builders/errors/dummies/application-error.dummy.d.ts +0 -3
  42. package/tests/builders/errors/dummies/application-error.dummy.js +0 -7
  43. /package/objects/arch/application/errors/{application-error.abstract.type.js → application-failure.abstract.type.js} +0 -0
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
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";
2
+ export { ENVIRONMENT, IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256, } from "./configs/env/env-vars";
3
+ export { FailureAbstract } from "./objects/arch/application/errors/application-failure.abstract";
4
+ export { UnknownApplicationFailure } from "./objects/arch/application/errors/unknown-application-error";
5
5
  export { EntityAbstract } from "./objects/arch/domain/entity.abstract";
6
6
  export { UsecaseAbstract } from "./objects/arch/domain/usecase.abstract";
7
7
  export { ControllerAbstract } from "./objects/arch/infrastructure/controller.abstract";
@@ -19,11 +19,11 @@ export { AccessTokenSignatureBuilder } from "./tests/builders/auth/access-token-
19
19
  export { AccessTokenBuilder } from "./tests/builders/auth/access-token.builder";
20
20
  export { RotationBuilder } from "./tests/builders/auth/rotation.builder";
21
21
  export { TokenBuilder } from "./tests/builders/auth/token.builder";
22
- export { ApplicationErrorBuilder } from "./tests/builders/errors/application-error.builder";
22
+ export { FailureBuilder } from "./tests/builders/errors/failure.builder";
23
23
  export { UuidBuilder } from "./tests/builders/generic/uuid.builder";
24
24
  export { UserIdBuilder } from "./tests/builders/user/user-id.builder";
25
25
  export { PersonNameBuilder } from "./tests/builders/user/person-name.builder";
26
- export { CreateFakeUsecase } from "./tests/create-fake-stub";
26
+ export { CreateFakeUsecase } from "./tests/create-fake-usecase";
27
27
  export { EntityBuilder } from "./tests/entity-builder.util";
28
28
  export { ExtendedMap } from "./utils/arrays/extended-map";
29
29
  export { Newable, ObjectType, Abstract, } from "./utils/datatypes/generic-types";
package/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.PersonNameBuilder = 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.ResponseAbstract = exports.HttpStatusCodes = exports.ControllerAbstract = exports.UsecaseAbstract = exports.UnknownApplicationError = exports.ApplicationErrorAbstract = exports.KEYCLOAK_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = void 0;
3
+ 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.PersonNameBuilder = exports.UserIdBuilder = exports.UuidBuilder = exports.FailureBuilder = 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.ResponseAbstract = exports.HttpStatusCodes = exports.ControllerAbstract = exports.UsecaseAbstract = exports.UnknownApplicationFailure = exports.FailureAbstract = exports.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256 = exports.ENVIRONMENT = void 0;
4
4
  exports.TokenNameHeaderEnum = exports.UserRoleEnum = exports.ClientRoleEnum = exports.UserRoleGroupEnum = exports.ClientRoleGroupEnum = exports.RealmEnum = exports.ClientEnum = void 0;
5
5
  require("./utils/datatypes/string-utils");
6
6
  var env_vars_1 = require("./configs/env/env-vars");
7
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; } });
8
+ Object.defineProperty(exports, "IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256", { enumerable: true, get: function () { return env_vars_1.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256; } });
9
+ var application_failure_abstract_1 = require("./objects/arch/application/errors/application-failure.abstract");
10
+ Object.defineProperty(exports, "FailureAbstract", { enumerable: true, get: function () { return application_failure_abstract_1.FailureAbstract; } });
11
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; } });
12
+ Object.defineProperty(exports, "UnknownApplicationFailure", { enumerable: true, get: function () { return unknown_application_error_1.UnknownApplicationFailure; } });
13
13
  var usecase_abstract_1 = require("./objects/arch/domain/usecase.abstract");
14
14
  Object.defineProperty(exports, "UsecaseAbstract", { enumerable: true, get: function () { return usecase_abstract_1.UsecaseAbstract; } });
15
15
  var controller_abstract_1 = require("./objects/arch/infrastructure/controller.abstract");
@@ -42,16 +42,16 @@ var rotation_builder_1 = require("./tests/builders/auth/rotation.builder");
42
42
  Object.defineProperty(exports, "RotationBuilder", { enumerable: true, get: function () { return rotation_builder_1.RotationBuilder; } });
43
43
  var token_builder_1 = require("./tests/builders/auth/token.builder");
44
44
  Object.defineProperty(exports, "TokenBuilder", { enumerable: true, get: function () { return token_builder_1.TokenBuilder; } });
45
- var application_error_builder_1 = require("./tests/builders/errors/application-error.builder");
46
- Object.defineProperty(exports, "ApplicationErrorBuilder", { enumerable: true, get: function () { return application_error_builder_1.ApplicationErrorBuilder; } });
45
+ var failure_builder_1 = require("./tests/builders/errors/failure.builder");
46
+ Object.defineProperty(exports, "FailureBuilder", { enumerable: true, get: function () { return failure_builder_1.FailureBuilder; } });
47
47
  var uuid_builder_1 = require("./tests/builders/generic/uuid.builder");
48
48
  Object.defineProperty(exports, "UuidBuilder", { enumerable: true, get: function () { return uuid_builder_1.UuidBuilder; } });
49
49
  var user_id_builder_1 = require("./tests/builders/user/user-id.builder");
50
50
  Object.defineProperty(exports, "UserIdBuilder", { enumerable: true, get: function () { return user_id_builder_1.UserIdBuilder; } });
51
51
  var person_name_builder_1 = require("./tests/builders/user/person-name.builder");
52
52
  Object.defineProperty(exports, "PersonNameBuilder", { enumerable: true, get: function () { return person_name_builder_1.PersonNameBuilder; } });
53
- var create_fake_stub_1 = require("./tests/create-fake-stub");
54
- Object.defineProperty(exports, "CreateFakeUsecase", { enumerable: true, get: function () { return create_fake_stub_1.CreateFakeUsecase; } });
53
+ var create_fake_usecase_1 = require("./tests/create-fake-usecase");
54
+ Object.defineProperty(exports, "CreateFakeUsecase", { enumerable: true, get: function () { return create_fake_usecase_1.CreateFakeUsecase; } });
55
55
  var entity_builder_util_1 = require("./tests/entity-builder.util");
56
56
  Object.defineProperty(exports, "EntityBuilder", { enumerable: true, get: function () { return entity_builder_util_1.EntityBuilder; } });
57
57
  var extended_map_1 = require("./utils/arrays/extended-map");
@@ -0,0 +1,28 @@
1
+ import { RepositoryAbstract } from "../domain/repository.abstract";
2
+ import { ServiceAbstract } from "../domain/service.abstract";
3
+ import { UsecaseAbstract } from "../domain/usecase.abstract";
4
+ interface DependenciesProps {
5
+ controllers: [];
6
+ usecases: [
7
+ {
8
+ ref: Symbol;
9
+ target: UsecaseAbstract;
10
+ }
11
+ ];
12
+ services: [
13
+ {
14
+ ref: Symbol;
15
+ target: ServiceAbstract;
16
+ }
17
+ ];
18
+ repositories: [
19
+ {
20
+ ref: Symbol;
21
+ target: RepositoryAbstract;
22
+ }
23
+ ];
24
+ }
25
+ export declare abstract class DependencyInjectionAbstract {
26
+ protected abstract dependencies: DependenciesProps;
27
+ }
28
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyInjectionAbstract = void 0;
4
+ class DependencyInjectionAbstract {
5
+ }
6
+ exports.DependencyInjectionAbstract = DependencyInjectionAbstract;
@@ -0,0 +1,9 @@
1
+ import { FailurePrimitive, FailureProps } from "./application-failure.abstract.type";
2
+ import { EntityAbstract } from "../../domain/entity.abstract";
3
+ export declare abstract class FailureAbstract implements EntityAbstract {
4
+ private readonly props;
5
+ protected readonly _code: string;
6
+ protected readonly _message: string;
7
+ constructor(props: FailureProps);
8
+ toPlain(): FailurePrimitive;
9
+ }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationErrorAbstract = void 0;
3
+ exports.FailureAbstract = void 0;
4
4
  const env_vars_1 = require("../../../../configs/env/env-vars");
5
5
  const node_envs_enum_1 = require("../../../configs/enums/node-envs.enum");
6
6
  const guardian_1 = require("../../../../utils/type-guard/guardian");
7
- class ApplicationErrorAbstract {
7
+ class FailureAbstract {
8
8
  constructor(props) {
9
9
  this.props = props;
10
10
  this._code = this.props.className.toKebab();
@@ -22,4 +22,4 @@ class ApplicationErrorAbstract {
22
22
  };
23
23
  }
24
24
  }
25
- exports.ApplicationErrorAbstract = ApplicationErrorAbstract;
25
+ exports.FailureAbstract = FailureAbstract;
@@ -1,8 +1,8 @@
1
- export interface ApplicationErrorPrimitive {
1
+ export interface FailurePrimitive {
2
2
  code: string;
3
3
  message: string;
4
4
  }
5
- export interface ApplicationErrorProps {
5
+ export interface FailureProps {
6
6
  className: string;
7
7
  message: string;
8
8
  error?: any;
@@ -1,15 +1,15 @@
1
- interface UnknownApplicationErrorPrimitive {
1
+ interface UnknownApplicationFailurePrimitive {
2
2
  code: string;
3
3
  message: string;
4
4
  }
5
- interface UnknownApplicationErrorProps {
5
+ interface UnknownApplicationFailureProps {
6
6
  className: string;
7
- error: UnknownApplicationErrorPrimitive;
7
+ failure: UnknownApplicationFailurePrimitive;
8
8
  }
9
- export declare class UnknownApplicationError {
9
+ export declare class UnknownApplicationFailure {
10
10
  protected readonly unknownCode: string;
11
11
  protected readonly unknownMessage: string;
12
- constructor({ className, error }: UnknownApplicationErrorProps);
13
- toPlain(): UnknownApplicationErrorPrimitive;
12
+ constructor({ className, failure }: UnknownApplicationFailureProps);
13
+ toPlain(): UnknownApplicationFailurePrimitive;
14
14
  }
15
15
  export {};
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnknownApplicationError = void 0;
4
- class UnknownApplicationError {
5
- constructor({ className, error }) {
3
+ exports.UnknownApplicationFailure = void 0;
4
+ class UnknownApplicationFailure {
5
+ constructor({ className, failure }) {
6
6
  this.unknownCode = className.toKebab();
7
- this.unknownMessage = error.message;
7
+ this.unknownMessage = failure.message;
8
8
  }
9
9
  toPlain() {
10
10
  return {
@@ -13,4 +13,4 @@ class UnknownApplicationError {
13
13
  };
14
14
  }
15
15
  }
16
- exports.UnknownApplicationError = UnknownApplicationError;
16
+ exports.UnknownApplicationFailure = UnknownApplicationFailure;
@@ -0,0 +1,2 @@
1
+ export declare abstract class RepositoryAbstract {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RepositoryAbstract = void 0;
4
+ class RepositoryAbstract {
5
+ }
6
+ exports.RepositoryAbstract = RepositoryAbstract;
@@ -0,0 +1,2 @@
1
+ export declare abstract class ServiceAbstract {
2
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceAbstract = void 0;
4
+ class ServiceAbstract {
5
+ }
6
+ exports.ServiceAbstract = ServiceAbstract;
@@ -1,10 +1,10 @@
1
1
  import { Response } from "express";
2
- import { ApplicationErrorAbstract } from "../application/errors/application-error.abstract";
2
+ import { FailureAbstract } from "../application/errors/application-failure.abstract";
3
3
  import { HttpStatusCodes } from "./http-status-codes.enum";
4
4
  import { ResponseAbstract } from "./response.abstract";
5
5
  export declare abstract class ControllerAbstract {
6
6
  protected readonly response: Response;
7
7
  abstract handler(...args: unknown[]): Promise<Response>;
8
- protected onSuccess<Payload extends ResponseAbstract>(httpStatusCode?: HttpStatusCodes, payload?: Payload): Response;
9
- protected onFailure(error: ApplicationErrorAbstract, httpStatusCode?: HttpStatusCodes): Response;
8
+ protected onSuccess<Payload extends ResponseAbstract>(payload?: Payload, httpStatusCode?: HttpStatusCodes): Response;
9
+ protected onFailure(failure: FailureAbstract, httpStatusCode?: HttpStatusCodes): Response;
10
10
  }
@@ -10,14 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ControllerAbstract = void 0;
13
- const http_status_codes_enum_1 = require("./http-status-codes.enum");
14
13
  const routing_controllers_1 = require("routing-controllers");
14
+ const http_status_codes_enum_1 = require("./http-status-codes.enum");
15
15
  let ControllerAbstract = class ControllerAbstract {
16
- onSuccess(httpStatusCode = http_status_codes_enum_1.HttpStatusCodes.OK, payload) {
16
+ onSuccess(payload, httpStatusCode = http_status_codes_enum_1.HttpStatusCodes.OK) {
17
17
  return this.response.status(httpStatusCode).send(payload?.toPain() ?? {});
18
18
  }
19
- onFailure(error, httpStatusCode = http_status_codes_enum_1.HttpStatusCodes.BAD_REQUEST) {
20
- return this.response.status(httpStatusCode).send(error.toPlain());
19
+ onFailure(failure, httpStatusCode = http_status_codes_enum_1.HttpStatusCodes.BAD_REQUEST) {
20
+ return this.response.status(httpStatusCode).send(failure.toPlain());
21
21
  }
22
22
  };
23
23
  exports.ControllerAbstract = ControllerAbstract;
@@ -1,4 +1,4 @@
1
- import { SignatureVerifyError } from "./access-token.abstract.signature-verify.error";
1
+ import { SignatureVerifyFailure } from "./access-token.abstract.signature-verify.failure";
2
2
  import { AuthTokenPayload } from "./access-token.abstract.type";
3
3
  import { RotationConfig } from "./rotation.type";
4
4
  import { Token } from "./token";
@@ -6,5 +6,5 @@ import { Return } from "../../../../utils/ducts/return-type";
6
6
  export declare class AccessTokenSignature {
7
7
  private readonly config;
8
8
  constructor(config: RotationConfig);
9
- verify(token: Token<AuthTokenPayload>): Promise<Return<Token<AuthTokenPayload>, SignatureVerifyError>>;
9
+ verify(token: Token<AuthTokenPayload>): Promise<Return<Token<AuthTokenPayload>, SignatureVerifyFailure>>;
10
10
  }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AccessTokenSignature = void 0;
7
7
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
8
  const env_vars_1 = require("../../../../configs/env/env-vars");
9
- const access_token_abstract_signature_verify_error_1 = require("./access-token.abstract.signature-verify.error");
9
+ const access_token_abstract_signature_verify_failure_1 = require("./access-token.abstract.signature-verify.failure");
10
10
  const rotation_1 = require("./rotation");
11
11
  const return_type_1 = require("../../../../utils/ducts/return-type");
12
12
  const guardian_1 = require("../../../../utils/type-guard/guardian");
@@ -19,7 +19,7 @@ class AccessTokenSignature {
19
19
  const rotation = new rotation_1.Rotation(this.config);
20
20
  const publicKey = await rotation.getJWK(token.header.kid);
21
21
  if (guardian_1.Guardian.isEmpty(publicKey)) {
22
- return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("Unable to capture public key"));
22
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_failure_1.SignatureVerifyFailure("Unable to capture public key"));
23
23
  }
24
24
  const publicKeySanitized = publicKey
25
25
  .split("\n")
@@ -27,20 +27,20 @@ class AccessTokenSignature {
27
27
  .join("\n")
28
28
  .replace(/\n/g, "");
29
29
  if (guardian_1.Guardian.isDifferent(env_vars_1.IAM_MOVINGAPP_REALM_PUBLIC_KEY_RS256, publicKeySanitized)) {
30
- return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("Token is invalid"));
30
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_failure_1.SignatureVerifyFailure("Token is invalid"));
31
31
  }
32
32
  if (guardian_1.Guardian.isNotEmpty(publicKey)) {
33
33
  const isSignatureValid = jsonwebtoken_1.default.verify(token.toString(), publicKey, {
34
34
  algorithms: ["RS256"],
35
35
  });
36
36
  if (guardian_1.Guardian.isEmpty(isSignatureValid)) {
37
- return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("admin request failed: invalid token (signature)"));
37
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_failure_1.SignatureVerifyFailure("admin request failed: invalid token (signature)"));
38
38
  }
39
39
  }
40
40
  return (0, return_type_1.Success)(token);
41
41
  }
42
42
  catch (error) {
43
- return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_error_1.SignatureVerifyError("Failed to verify token", error));
43
+ return (0, return_type_1.Failure)(new access_token_abstract_signature_verify_failure_1.SignatureVerifyFailure("Failed to verify token", error));
44
44
  }
45
45
  }
46
46
  }
@@ -1,4 +1,4 @@
1
- import { TokenHasRoleError } from "./access-token.abstract.has-role.error";
1
+ import { TokenHasRoleFailure } from "./access-token.abstract.has-role.failure";
2
2
  import { AccessTokenPayload } from "./access-token.abstract.type";
3
3
  import { Token } from "./token";
4
4
  import { UserRoleEnum } from "../../enums/user-role.enum";
@@ -6,5 +6,5 @@ import { Return } from "../../../../utils/ducts/return-type";
6
6
  export declare class AccessTokenAbstract extends Token<AccessTokenPayload> {
7
7
  private readonly token;
8
8
  constructor(token: string);
9
- hasRoles(roles: UserRoleEnum[]): Return<boolean, TokenHasRoleError>;
9
+ hasRoles(roles: UserRoleEnum[]): Return<boolean, TokenHasRoleFailure>;
10
10
  }
@@ -0,0 +1,4 @@
1
+ import { FailureAbstract } from "../../../arch/application/errors/application-failure.abstract";
2
+ export declare class TokenHasRoleFailure extends FailureAbstract {
3
+ constructor(error?: any);
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenHasRoleFailure = void 0;
4
+ const application_failure_abstract_1 = require("../../../arch/application/errors/application-failure.abstract");
5
+ class TokenHasRoleFailure extends application_failure_abstract_1.FailureAbstract {
6
+ constructor(error) {
7
+ super({
8
+ className: TokenHasRoleFailure.name,
9
+ message: "É necessário informar o clientId para verificar se possui a role",
10
+ error,
11
+ });
12
+ }
13
+ }
14
+ exports.TokenHasRoleFailure = TokenHasRoleFailure;
@@ -0,0 +1,4 @@
1
+ import { FailureAbstract } from "../../../arch/application/errors/application-failure.abstract";
2
+ export declare class SignatureVerifyFailure extends FailureAbstract {
3
+ constructor(message: string, error?: any);
4
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SignatureVerifyFailure = void 0;
4
+ const application_failure_abstract_1 = require("../../../arch/application/errors/application-failure.abstract");
5
+ class SignatureVerifyFailure extends application_failure_abstract_1.FailureAbstract {
6
+ constructor(message, error) {
7
+ super({ className: SignatureVerifyFailure.name, message, error });
8
+ }
9
+ }
10
+ exports.SignatureVerifyFailure = SignatureVerifyFailure;
@@ -17,12 +17,12 @@ class PasswordAbstract {
17
17
  ];
18
18
  const { valid, validationStepsResults } = this.validate(this.password);
19
19
  if (guardian_1.Guardian.isFalsy(valid)) {
20
- throw new Error(`Password is invalid: ${validationStepsResults.map((result) => result.name)}`);
20
+ throw new TypeError(`Password is invalid: ${validationStepsResults.map((result) => result.name)}`);
21
21
  }
22
22
  }
23
23
  validate(password) {
24
24
  if (guardian_1.Guardian.isEqual(this.validationSteps.length, 0)) {
25
- throw new Error("No validations found");
25
+ throw new TypeError("No validations found");
26
26
  }
27
27
  const validationStepsResults = [];
28
28
  for (const step of this.validationSteps) {
@@ -10,7 +10,7 @@ class Email extends _string_abstract_1.$string {
10
10
  }
11
11
  validation() {
12
12
  if (!/^[\w-\\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(this.email)) {
13
- throw new Error(`${this.constructor.name} should be valid.`);
13
+ throw new TypeError(`${this.constructor.name} should be valid.`);
14
14
  }
15
15
  }
16
16
  }
@@ -53,7 +53,7 @@ class $number {
53
53
  }
54
54
  validate(value) {
55
55
  if (Number.isNaN(value)) {
56
- throw new Error(`${this.constructor.name} should be valid.`);
56
+ throw new TypeError(`${this.constructor.name} should be valid.`);
57
57
  }
58
58
  }
59
59
  }
@@ -27,7 +27,7 @@ class $string {
27
27
  }
28
28
  validate() {
29
29
  if (this.value.length <= 0) {
30
- throw Error(`${this.constructor.name} should not be empty.`);
30
+ throw TypeError(`${this.constructor.name} should not be empty.`);
31
31
  }
32
32
  }
33
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlantjs/arch",
3
- "version": "2.5.3",
3
+ "version": "2.5.5",
4
4
  "main": "index.js",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -0,0 +1,3 @@
1
+ import { FailureAbstract } from "../../../../objects/arch/application/errors/application-failure.abstract";
2
+ export declare class ApplicationFailureDummy extends FailureAbstract {
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationFailureDummy = void 0;
4
+ const application_failure_abstract_1 = require("../../../../objects/arch/application/errors/application-failure.abstract");
5
+ class ApplicationFailureDummy extends application_failure_abstract_1.FailureAbstract {
6
+ }
7
+ exports.ApplicationFailureDummy = ApplicationFailureDummy;
@@ -1,5 +1,5 @@
1
1
  import { EntityBuilder } from "../../entity-builder.util";
2
- export declare class ApplicationErrorBuilder<T> extends EntityBuilder<T, ApplicationErrorBuilder<T>> {
2
+ export declare class FailureBuilder<T> extends EntityBuilder<T, FailureBuilder<T>> {
3
3
  private instance;
4
4
  constructor(entityClass: new (...args: any[]) => T);
5
5
  protected buildDefault(): T;
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationErrorBuilder = void 0;
3
+ exports.FailureBuilder = void 0;
4
4
  const faker_1 = require("@faker-js/faker");
5
- const application_error_dummy_1 = require("./dummies/application-error.dummy");
5
+ const failure_dummy_1 = require("./dummies/failure.dummy");
6
6
  const entity_builder_util_1 = require("../../entity-builder.util");
7
- class ApplicationErrorBuilder extends entity_builder_util_1.EntityBuilder {
7
+ class FailureBuilder extends entity_builder_util_1.EntityBuilder {
8
8
  constructor(entityClass) {
9
- super(ApplicationErrorBuilder);
9
+ super(FailureBuilder);
10
10
  this.instance = entityClass;
11
11
  }
12
12
  buildDefault() {
13
- const dummy = new application_error_dummy_1.ApplicationErrorDummy({
13
+ const dummy = new failure_dummy_1.ApplicationFailureDummy({
14
14
  className: faker_1.faker.string.alphanumeric(),
15
15
  message: faker_1.faker.lorem.words(),
16
16
  });
@@ -18,4 +18,4 @@ class ApplicationErrorBuilder extends entity_builder_util_1.EntityBuilder {
18
18
  return dummy;
19
19
  }
20
20
  }
21
- exports.ApplicationErrorBuilder = ApplicationErrorBuilder;
21
+ exports.FailureBuilder = FailureBuilder;
@@ -1,8 +1,9 @@
1
+ import { FailureAbstract } from "../objects/arch/application/errors/application-failure.abstract";
1
2
  import { Return } from "../utils/ducts/return-type";
2
3
  export declare class CreateFakeUsecase {
3
4
  private _response;
4
5
  static new<UsecaseStub>(): UsecaseStub & CreateFakeUsecase;
5
6
  protected execute(): Promise<Return<unknown, unknown>>;
6
7
  withSuccess(response: unknown): this;
7
- withError(response?: unknown): this;
8
+ withFailure(response?: FailureAbstract): this;
8
9
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreateFakeUsecase = void 0;
4
- const application_error_builder_1 = require("./builders/errors/application-error.builder");
5
- const application_error_dummy_1 = require("./builders/errors/dummies/application-error.dummy");
4
+ const failure_builder_1 = require("./builders/errors/failure.builder");
5
+ const failure_dummy_1 = require("./builders/errors/dummies/failure.dummy");
6
6
  const return_type_1 = require("../utils/ducts/return-type");
7
7
  class CreateFakeUsecase {
8
8
  static new() {
@@ -18,8 +18,8 @@ class CreateFakeUsecase {
18
18
  this._response = (0, return_type_1.Success)(response);
19
19
  return this;
20
20
  }
21
- withError(response) {
22
- this._response = (0, return_type_1.Failure)(response ?? new application_error_builder_1.ApplicationErrorBuilder(application_error_dummy_1.ApplicationErrorDummy).build());
21
+ withFailure(response) {
22
+ this._response = (0, return_type_1.Failure)(response ?? new failure_builder_1.FailureBuilder(failure_dummy_1.ApplicationFailureDummy).build());
23
23
  return this;
24
24
  }
25
25
  }