@atlantjs/arch 2.6.4 → 3.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.
- package/@tool-box/tests/builders/errors/dummies/failure.dummy.d.ts +3 -0
- package/{tests → @tool-box/tests}/builders/errors/dummies/failure.dummy.js +1 -1
- package/@tool-box/tests/builders/generic/dummies/uuid.dummy.d.ts +3 -0
- package/{tests → @tool-box/tests}/builders/generic/dummies/uuid.dummy.js +1 -1
- package/{tests → @tool-box/tests}/create-fake-usecase.d.ts +1 -1
- package/@tool-box/tests/faker/faker.d.ts +0 -0
- package/@tool-box/tests/faker/faker.js +1 -0
- package/@tool-box/utils/datatypes/boolean-utils.d.ts +8 -0
- package/@tool-box/utils/datatypes/boolean-utils.js +19 -0
- package/{utils → @tool-box/utils}/ducts/common.d.ts +2 -2
- package/{utils → @tool-box/utils}/ducts/common.js +3 -3
- package/{utils → @tool-box/utils}/ducts/optional-type.d.ts +5 -5
- package/{utils → @tool-box/utils}/ducts/optional-type.js +11 -11
- package/{utils → @tool-box/utils}/ducts/return-type.d.ts +3 -3
- package/{utils → @tool-box/utils}/ducts/return-type.js +14 -14
- package/{utils → @tool-box/utils}/http-client/http-client-response.d.ts +2 -2
- package/{utils → @tool-box/utils}/http-client/http-client-response.get-header.failure.d.ts +1 -1
- package/{utils → @tool-box/utils}/http-client/http-client-response.get-header.failure.js +1 -1
- package/{utils → @tool-box/utils}/http-client/http-client-response.js +2 -2
- package/@tool-box/utils/randoms/random-value.d.ts +5 -0
- package/@tool-box/utils/randoms/random-value.js +25 -0
- package/arch/modules/application/databases/database.factory.abstract.d.ts +3 -0
- package/arch/modules/application/databases/database.helper.abstract.d.ts +4 -0
- package/arch/modules/application/databases/database.helper.abstract.js +6 -0
- package/{objects/arch/application/errors → arch/modules/application/failures}/failure.abstract.d.ts +1 -1
- package/{objects/arch/application/errors → arch/modules/application/failures}/failure.abstract.js +3 -3
- package/arch/modules/application/failures/unknown-failure.d.ts +15 -0
- package/{objects/arch/application/errors/unknown-application-error.js → arch/modules/application/failures/unknown-failure.js} +3 -3
- package/arch/modules/application/injections.abstract.d.ts +11 -0
- package/arch/modules/application/injections.abstract.js +45 -0
- package/arch/modules/application/injections.abstract.type.d.ts +17 -0
- package/arch/modules/domain/entities/$array.abstract.d.ts +2 -0
- package/arch/modules/domain/entities/$array.abstract.js +6 -0
- package/arch/modules/domain/entities/$date.abstract.d.ts +2 -0
- package/{tests/faker/faker.js → arch/modules/domain/entities/$date.abstract.js} +3 -3
- package/{objects/datatypes → arch/modules/domain}/entities/$number.abstract.js +1 -1
- package/arch/modules/domain/entities/$object.abstract.d.ts +2 -0
- package/arch/modules/domain/entities/$object.abstract.js +6 -0
- package/arch/modules/domain/entities/solid.abstract.d.ts +4 -0
- package/arch/modules/domain/entities/solid.abstract.js +2 -0
- package/{objects/arch/domain/middleware-handler.absctract.d.ts → arch/modules/domain/middlewares/middleware.handler.absctract.d.ts} +1 -1
- package/arch/modules/domain/providers/provider.abstract.d.ts +2 -0
- package/arch/modules/domain/providers/provider.abstract.js +6 -0
- package/arch/modules/domain/solid.abstract.d.ts +4 -0
- package/arch/modules/domain/solid.abstract.js +2 -0
- package/{objects/arch/domain → arch/modules/domain/usecases}/usecase.abstract.d.ts +1 -1
- package/{objects/arch/infrastructure → arch/modules/infrastructure/controllers}/controller.abstract.d.ts +3 -3
- package/{objects/arch/infrastructure → arch/modules/infrastructure/controllers}/controller.abstract.js +2 -2
- package/arch/modules/infrastructure/controllers/payloads/payload.abstract.d.ts +2 -0
- package/arch/modules/infrastructure/controllers/payloads/payload.abstract.js +6 -0
- package/arch/modules/infrastructure/controllers/payloads/validators/validator.abstract.d.ts +2 -0
- package/arch/modules/infrastructure/controllers/payloads/validators/validator.abstract.js +6 -0
- package/arch/modules/infrastructure/controllers/responses/response.abstract.d.ts +4 -0
- package/{objects/arch/infrastructure → arch/modules/infrastructure/repositories/entities}/entity.abstract.d.ts +1 -1
- package/index.d.ts +30 -32
- package/index.js +56 -57
- package/package.json +6 -1
- package/setup/dependency-injections/container.d.ts +11 -0
- package/setup/dependency-injections/container.js +14 -0
- package/setup/dependency-injections/default-container.d.ts +4 -0
- package/setup/dependency-injections/default-container.js +20 -0
- package/setup/dependency-injections/di-container.abstract.d.ts +30 -0
- package/setup/dependency-injections/di-container.abstract.js +45 -0
- package/setup/dependency-injections/di-container.d.ts +3 -0
- package/setup/dependency-injections/di-container.js +6 -0
- package/setup/dependency-injections/index.d.ts +3 -0
- package/setup/dependency-injections/index.js +15 -0
- package/setup/env/env-vars.d.ts +7 -0
- package/setup/env/env-vars.js +28 -0
- package/setup/env/load-envs.d.ts +1 -0
- package/setup/env/load-envs.js +30 -0
- package/setup/index.d.ts +5 -0
- package/setup/index.js +37 -0
- package/setup/server/body-parser-middleware.d.ts +9 -0
- package/setup/server/body-parser-middleware.js +31 -0
- package/setup/server/cors-middleware.d.ts +10 -0
- package/setup/server/cors-middleware.js +38 -0
- package/setup/server/default-error-handler-middleware.d.ts +8 -0
- package/setup/server/default-error-handler-middleware.js +45 -0
- package/setup/server/server.d.ts +6 -0
- package/setup/server/server.js +61 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/configs/env/env-vars.d.ts +0 -3
- package/configs/env/env-vars.js +0 -20
- package/external-files/biome.json +0 -47
- package/external-files/typescript/tsconfig-backend.json +0 -3
- package/external-files/typescript/tsconfig-default.json +0 -45
- package/external-files/typescript/tsconfig-frontend.json +0 -3
- package/external-files/typescript/tsconfig-lib.json +0 -6
- package/external-files/typescript/tsconfig-mobile.json +0 -3
- package/objects/arch/application/errors/unknown-application-error.d.ts +0 -15
- package/objects/arch/application/injections.abstract.d.ts +0 -4
- package/objects/arch/application/injections.abstract.js +0 -6
- package/objects/arch/application/injections.abstract.type.d.ts +0 -24
- package/objects/arch/domain/solid.abstract.d.ts +0 -4
- package/objects/arch/infrastructure/response.abstract.d.ts +0 -4
- package/tests/builders/errors/dummies/failure.dummy.d.ts +0 -3
- package/tests/builders/generic/dummies/uuid.dummy.d.ts +0 -3
- package/tests/faker/faker.d.ts +0 -2
- package/utils/randoms/random-enum-value.d.ts +0 -2
- package/utils/randoms/random-enum-value.js +0 -20
- package/utils/randoms/random-number.d.ts +0 -6
- package/utils/randoms/random-number.js +0 -6
- package/{tests → @tool-box/tests}/builders/errors/failure.builder.d.ts +0 -0
- package/{tests → @tool-box/tests}/builders/errors/failure.builder.js +1 -1
- /package/{tests → @tool-box/tests}/builders/generic/uuid.builder.d.ts +0 -0
- /package/{tests → @tool-box/tests}/builders/generic/uuid.builder.js +0 -0
- /package/{tests → @tool-box/tests}/create-fake-usecase.js +0 -0
- /package/{tests → @tool-box/tests}/entity-builder.util.d.ts +0 -0
- /package/{tests → @tool-box/tests}/entity-builder.util.js +0 -0
- /package/{utils → @tool-box/utils}/arrays/extended-map.d.ts +0 -0
- /package/{utils → @tool-box/utils}/arrays/extended-map.js +0 -0
- /package/{utils → @tool-box/utils}/datatypes/generic-types.d.ts +0 -0
- /package/{utils → @tool-box/utils}/datatypes/generic-types.js +0 -0
- /package/{utils → @tool-box/utils}/datatypes/string-utils.d.ts +0 -0
- /package/{utils → @tool-box/utils}/datatypes/string-utils.js +0 -0
- /package/{utils → @tool-box/utils}/http-client/http-client-exception.d.ts +0 -0
- /package/{utils → @tool-box/utils}/http-client/http-client-exception.js +0 -0
- /package/{utils → @tool-box/utils}/http-client/http-client-request.d.ts +0 -0
- /package/{utils → @tool-box/utils}/http-client/http-client-request.js +0 -0
- /package/{utils → @tool-box/utils}/http-client/http-client.d.ts +0 -0
- /package/{utils → @tool-box/utils}/http-client/http-client.js +0 -0
- /package/{utils → @tool-box/utils}/type-guard/guardian-exception.d.ts +0 -0
- /package/{utils → @tool-box/utils}/type-guard/guardian-exception.js +0 -0
- /package/{utils → @tool-box/utils}/type-guard/guardian.d.ts +0 -0
- /package/{utils → @tool-box/utils}/type-guard/guardian.js +0 -0
- /package/{utils → @tool-box/utils}/type-guard/guardian.type.d.ts +0 -0
- /package/{utils → @tool-box/utils}/type-guard/guardian.type.js +0 -0
- /package/{objects/arch/application/errors/failure.abstract.type.js → arch/modules/application/databases/database.factory.abstract.js} +0 -0
- /package/{objects/arch/application/errors → arch/modules/application/failures}/failure.abstract.type.d.ts +0 -0
- /package/{objects/arch/application/injections.abstract.type.js → arch/modules/application/failures/failure.abstract.type.js} +0 -0
- /package/{objects/arch/domain/solid.abstract.js → arch/modules/application/injections.abstract.type.js} +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/$boolean.abstract.d.ts +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/$boolean.abstract.js +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/$number.abstract.d.ts +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/$string.abstract.d.ts +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/$string.abstract.js +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/uuid.abstract.d.ts +0 -0
- /package/{objects/datatypes → arch/modules/domain}/entities/uuid.abstract.js +0 -0
- /package/{objects/arch/infrastructure → arch/modules/domain/enums}/http-status-codes.enum.d.ts +0 -0
- /package/{objects/arch/infrastructure → arch/modules/domain/enums}/http-status-codes.enum.js +0 -0
- /package/{objects/configs → arch/modules/domain}/enums/node-envs.enum.d.ts +0 -0
- /package/{objects/configs → arch/modules/domain}/enums/node-envs.enum.js +0 -0
- /package/{objects/arch/domain/middleware-handler.absctract.js → arch/modules/domain/middlewares/middleware.handler.absctract.js} +0 -0
- /package/{objects/arch/domain → arch/modules/domain/repositories}/repository.abstract.d.ts +0 -0
- /package/{objects/arch/domain → arch/modules/domain/repositories}/repository.abstract.js +0 -0
- /package/{objects/arch/domain → arch/modules/domain/services}/service.abstract.d.ts +0 -0
- /package/{objects/arch/domain → arch/modules/domain/services}/service.abstract.js +0 -0
- /package/{objects/arch/domain → arch/modules/domain/usecases}/usecase.abstract.js +0 -0
- /package/{objects/arch/infrastructure → arch/modules/infrastructure/controllers/responses}/response.abstract.js +0 -0
- /package/{objects/arch/infrastructure → arch/modules/infrastructure/repositories/entities}/entity.abstract.js +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
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.CorsMiddleware = void 0;
|
|
7
|
+
const cors_1 = __importDefault(require("cors"));
|
|
8
|
+
const env_vars_1 = require("../env/env-vars");
|
|
9
|
+
class CorsMiddleware {
|
|
10
|
+
constructor(corsSpecs) {
|
|
11
|
+
this.corsSpecs = corsSpecs;
|
|
12
|
+
this.cors = (0, cors_1.default)({
|
|
13
|
+
origin: this.parseCorsAllowedOrigins(),
|
|
14
|
+
credentials: true,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
static create(corsSpecs = env_vars_1.CORS_ALLOWED_ORIGINS) {
|
|
18
|
+
const middleware = new CorsMiddleware(corsSpecs);
|
|
19
|
+
return (request, response, next) => middleware.use(request, response, next);
|
|
20
|
+
}
|
|
21
|
+
use(request, response, next) {
|
|
22
|
+
this.cors(request, response, next);
|
|
23
|
+
}
|
|
24
|
+
parseCorsAllowedOrigins() {
|
|
25
|
+
return this.corsSpecs.split(",").map((corsSpec) => {
|
|
26
|
+
if (corsSpec.startsWith("/")) {
|
|
27
|
+
return this.stringToRegex(corsSpec);
|
|
28
|
+
}
|
|
29
|
+
return corsSpec;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
stringToRegex(expression) {
|
|
33
|
+
const flags = expression.replace(/.*\/([gimy]*)$/, "$1");
|
|
34
|
+
const pattern = expression.replace(new RegExp(`^/(.*?)/${flags}$`), "$1");
|
|
35
|
+
return new RegExp(pattern, flags);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.CorsMiddleware = CorsMiddleware;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ErrorRequestHandler, NextFunction, Request, Response } from "express";
|
|
2
|
+
export declare class DefaultErrorHandlerMiddleware {
|
|
3
|
+
static create(): ErrorRequestHandler;
|
|
4
|
+
use(error: Error, request: Request, response: Response, next: NextFunction): void;
|
|
5
|
+
private handleError;
|
|
6
|
+
private handleExceptions;
|
|
7
|
+
private logUnhandledError;
|
|
8
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultErrorHandlerMiddleware = void 0;
|
|
4
|
+
const http_status_codes_enum_1 = require("../../arch/modules/domain/enums/http-status-codes.enum");
|
|
5
|
+
const routing_controllers_1 = require("routing-controllers");
|
|
6
|
+
class DefaultErrorHandlerMiddleware {
|
|
7
|
+
static create() {
|
|
8
|
+
const middleware = new DefaultErrorHandlerMiddleware();
|
|
9
|
+
return (error, request, response, next) => middleware.use(error, request, response, next);
|
|
10
|
+
}
|
|
11
|
+
use(error, request, response, next) {
|
|
12
|
+
if (response.headersSent) {
|
|
13
|
+
next(error);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this.handleError(error, response);
|
|
17
|
+
}
|
|
18
|
+
handleError(error, response) {
|
|
19
|
+
if (!(error instanceof routing_controllers_1.HttpError)) {
|
|
20
|
+
this.handleExceptions(error, response);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (error.httpCode < http_status_codes_enum_1.HttpStatusCodes.INTERNAL_SERVER_ERROR) {
|
|
24
|
+
response.status(error.httpCode).send(error);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
response.status(error.httpCode).send({
|
|
28
|
+
code: http_status_codes_enum_1.HttpStatusCodes[error.httpCode].toLocaleLowerCase(),
|
|
29
|
+
message: http_status_codes_enum_1.HttpStatusCodes[error.httpCode],
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
handleExceptions(error, response) {
|
|
33
|
+
this.logUnhandledError(error);
|
|
34
|
+
response.status(http_status_codes_enum_1.HttpStatusCodes.INTERNAL_SERVER_ERROR).send({
|
|
35
|
+
code: "internal_error",
|
|
36
|
+
message: "Internal server error",
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
logUnhandledError(error) {
|
|
40
|
+
console.error("\nUnhandled request error", {
|
|
41
|
+
error,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.DefaultErrorHandlerMiddleware = DefaultErrorHandlerMiddleware;
|
|
@@ -0,0 +1,61 @@
|
|
|
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.Server = void 0;
|
|
7
|
+
const guardian_1 = require("@atlantjs/guardian");
|
|
8
|
+
const node_envs_enum_1 = require("../../arch/modules/domain/enums/node-envs.enum");
|
|
9
|
+
const dependency_injections_1 = require("../dependency-injections");
|
|
10
|
+
const env_vars_1 = require("../env/env-vars");
|
|
11
|
+
const body_parser_middleware_1 = require("./body-parser-middleware");
|
|
12
|
+
const cors_middleware_1 = require("./cors-middleware");
|
|
13
|
+
const default_error_handler_middleware_1 = require("./default-error-handler-middleware");
|
|
14
|
+
const cookie_parser_1 = __importDefault(require("cookie-parser"));
|
|
15
|
+
const express_1 = __importDefault(require("express"));
|
|
16
|
+
const helmet_1 = __importDefault(require("helmet"));
|
|
17
|
+
const routing_controllers_1 = require("routing-controllers");
|
|
18
|
+
var LogMessage;
|
|
19
|
+
(function (LogMessage) {
|
|
20
|
+
LogMessage["$start_server"] = "\n\uD83D\uDDA5\uFE0F Starting server...";
|
|
21
|
+
LogMessage["$started_server"] = "\u2714\uFE0F Server running on port ";
|
|
22
|
+
LogMessage["$break_line"] = "\n";
|
|
23
|
+
LogMessage["$line"] = "========================================";
|
|
24
|
+
LogMessage["$development_message"] = "\uD83D\uDE80 You are in the development environment\n Ready to code!";
|
|
25
|
+
})(LogMessage || (LogMessage = {}));
|
|
26
|
+
class Server {
|
|
27
|
+
static initialize() {
|
|
28
|
+
Server.instance.disable("x-powered-by");
|
|
29
|
+
Server.instance.set("trust proxy", ["uniquelocal", "loopback"]);
|
|
30
|
+
Server.instance.use((0, helmet_1.default)());
|
|
31
|
+
Server.instance.use(cors_middleware_1.CorsMiddleware.create());
|
|
32
|
+
Server.instance.use((0, cookie_parser_1.default)());
|
|
33
|
+
Server.instance.use(body_parser_middleware_1.BodyParserMiddleware.create());
|
|
34
|
+
Server.instance.use(default_error_handler_middleware_1.DefaultErrorHandlerMiddleware.create());
|
|
35
|
+
(0, routing_controllers_1.useContainer)(dependency_injections_1.diContainer);
|
|
36
|
+
(0, routing_controllers_1.useExpressServer)(Server.instance, Server.routingOptions);
|
|
37
|
+
console.info(LogMessage.$start_server);
|
|
38
|
+
Server.instance.listen(env_vars_1.APP_PORT, () => {
|
|
39
|
+
console.info(LogMessage.$started_server + env_vars_1.APP_PORT);
|
|
40
|
+
if (guardian_1.Guardian.isEqual(env_vars_1.ENVIRONMENT, node_envs_enum_1.NodeEnvs.development)) {
|
|
41
|
+
Server.logFooterDevelopmentMessage();
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static logFooterDevelopmentMessage() {
|
|
46
|
+
console.info(LogMessage.$break_line);
|
|
47
|
+
console.info(LogMessage.$line);
|
|
48
|
+
console.info(LogMessage.$development_message);
|
|
49
|
+
console.info(LogMessage.$line);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.Server = Server;
|
|
53
|
+
Server.instance = (0, express_1.default)();
|
|
54
|
+
Server.routingOptions = {
|
|
55
|
+
validation: true,
|
|
56
|
+
classTransformer: true,
|
|
57
|
+
plainToClassTransformOptions: {
|
|
58
|
+
enableImplicitConversion: false,
|
|
59
|
+
},
|
|
60
|
+
defaultErrorHandler: false,
|
|
61
|
+
};
|