@atlantjs/arch 2.5.4 → 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.
- package/index.d.ts +5 -5
- package/index.js +9 -9
- package/objects/arch/application/dependency-injection.abstract.d.ts +28 -0
- package/objects/arch/application/dependency-injection.abstract.js +6 -0
- package/objects/arch/application/errors/application-failure.abstract.d.ts +9 -0
- package/objects/arch/application/errors/{application-error.abstract.js → application-failure.abstract.js} +3 -3
- package/objects/arch/application/errors/{application-error.abstract.type.d.ts → application-failure.abstract.type.d.ts} +2 -2
- package/objects/arch/application/errors/unknown-application-error.d.ts +6 -6
- package/objects/arch/application/errors/unknown-application-error.js +5 -5
- package/objects/arch/domain/repository.abstract.d.ts +2 -0
- package/objects/arch/domain/repository.abstract.js +6 -0
- package/objects/arch/domain/service.abstract.d.ts +2 -0
- package/objects/arch/domain/service.abstract.js +6 -0
- package/objects/arch/infrastructure/controller.abstract.d.ts +2 -2
- package/objects/arch/infrastructure/controller.abstract.js +2 -2
- package/objects/auth/entities/token/access-token-signature.d.ts +2 -2
- package/objects/auth/entities/token/access-token-signature.js +5 -5
- package/objects/auth/entities/token/access-token.abstract.d.ts +2 -2
- package/objects/auth/entities/token/access-token.abstract.has-role.failure.d.ts +4 -0
- package/objects/auth/entities/token/access-token.abstract.has-role.failure.js +14 -0
- package/objects/auth/entities/token/access-token.abstract.signature-verify.failure.d.ts +4 -0
- package/objects/auth/entities/token/access-token.abstract.signature-verify.failure.js +10 -0
- package/objects/auth/entities/user/password/password.abstract.js +2 -2
- package/objects/auth/entities/user/value-objects/email.js +1 -1
- package/objects/datatypes/entities/$number.abstract.js +1 -1
- package/objects/datatypes/entities/$string.abstract.js +1 -1
- package/package.json +1 -1
- package/tests/builders/errors/dummies/failure.dummy.d.ts +3 -0
- package/tests/builders/errors/dummies/failure.dummy.js +7 -0
- package/tests/builders/errors/{application-error.builder.d.ts → failure.builder.d.ts} +1 -1
- package/tests/builders/errors/{application-error.builder.js → failure.builder.js} +6 -6
- package/tests/{create-fake-stub.d.ts → create-fake-usecase.d.ts} +2 -1
- package/tests/{create-fake-stub.js → create-fake-usecase.js} +4 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/utils/ducts/return-type.d.ts +2 -1
- package/objects/arch/application/errors/application-error.abstract.d.ts +0 -9
- package/objects/auth/entities/token/access-token.abstract.has-role.error.d.ts +0 -4
- package/objects/auth/entities/token/access-token.abstract.has-role.error.js +0 -14
- package/objects/auth/entities/token/access-token.abstract.signature-verify.error.d.ts +0 -4
- package/objects/auth/entities/token/access-token.abstract.signature-verify.error.js +0 -10
- package/tests/builders/errors/dummies/application-error.dummy.d.ts +0 -3
- package/tests/builders/errors/dummies/application-error.dummy.js +0 -7
- /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
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
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 {
|
|
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-
|
|
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.
|
|
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, "
|
|
9
|
-
var
|
|
10
|
-
Object.defineProperty(exports, "
|
|
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, "
|
|
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
|
|
46
|
-
Object.defineProperty(exports, "
|
|
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
|
|
54
|
-
Object.defineProperty(exports, "CreateFakeUsecase", { enumerable: true, get: function () { return
|
|
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,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.
|
|
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
|
|
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.
|
|
25
|
+
exports.FailureAbstract = FailureAbstract;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface UnknownApplicationFailurePrimitive {
|
|
2
2
|
code: string;
|
|
3
3
|
message: string;
|
|
4
4
|
}
|
|
5
|
-
interface
|
|
5
|
+
interface UnknownApplicationFailureProps {
|
|
6
6
|
className: string;
|
|
7
|
-
|
|
7
|
+
failure: UnknownApplicationFailurePrimitive;
|
|
8
8
|
}
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class UnknownApplicationFailure {
|
|
10
10
|
protected readonly unknownCode: string;
|
|
11
11
|
protected readonly unknownMessage: string;
|
|
12
|
-
constructor({ className,
|
|
13
|
-
toPlain():
|
|
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.
|
|
4
|
-
class
|
|
5
|
-
constructor({ className,
|
|
3
|
+
exports.UnknownApplicationFailure = void 0;
|
|
4
|
+
class UnknownApplicationFailure {
|
|
5
|
+
constructor({ className, failure }) {
|
|
6
6
|
this.unknownCode = className.toKebab();
|
|
7
|
-
this.unknownMessage =
|
|
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.
|
|
16
|
+
exports.UnknownApplicationFailure = UnknownApplicationFailure;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Response } from "express";
|
|
2
|
-
import {
|
|
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
8
|
protected onSuccess<Payload extends ResponseAbstract>(payload?: Payload, httpStatusCode?: HttpStatusCodes): Response;
|
|
9
|
-
protected onFailure(
|
|
9
|
+
protected onFailure(failure: FailureAbstract, httpStatusCode?: HttpStatusCodes): Response;
|
|
10
10
|
}
|
|
@@ -16,8 +16,8 @@ let ControllerAbstract = class ControllerAbstract {
|
|
|
16
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(
|
|
20
|
-
return this.response.status(httpStatusCode).send(
|
|
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 {
|
|
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>,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
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,
|
|
9
|
+
hasRoles(roles: UserRoleEnum[]): Return<boolean, TokenHasRoleFailure>;
|
|
10
10
|
}
|
|
@@ -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,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
|
|
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
|
|
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
|
|
13
|
+
throw new TypeError(`${this.constructor.name} should be valid.`);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
package/package.json
CHANGED
|
@@ -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
|
|
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.
|
|
3
|
+
exports.FailureBuilder = void 0;
|
|
4
4
|
const faker_1 = require("@faker-js/faker");
|
|
5
|
-
const
|
|
5
|
+
const failure_dummy_1 = require("./dummies/failure.dummy");
|
|
6
6
|
const entity_builder_util_1 = require("../../entity-builder.util");
|
|
7
|
-
class
|
|
7
|
+
class FailureBuilder extends entity_builder_util_1.EntityBuilder {
|
|
8
8
|
constructor(entityClass) {
|
|
9
|
-
super(
|
|
9
|
+
super(FailureBuilder);
|
|
10
10
|
this.instance = entityClass;
|
|
11
11
|
}
|
|
12
12
|
buildDefault() {
|
|
13
|
-
const dummy = new
|
|
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.
|
|
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
|
-
|
|
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
|
|
5
|
-
const
|
|
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
|
-
|
|
22
|
-
this._response = (0, return_type_1.Failure)(response ?? new
|
|
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
|
}
|