@atlantjs/backend 6.0.15 → 6.0.16

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 (47) hide show
  1. package/backend/application/databases/database-lite.config.js +9 -7
  2. package/backend/application/databases/database.config.js +20 -18
  3. package/backend/application/databases/database.helper.abstract.commit.failure.js +6 -2
  4. package/backend/application/databases/database.helper.abstract.delete.failure.js +6 -2
  5. package/backend/application/databases/database.helper.abstract.get-manager.failure.js +6 -2
  6. package/backend/application/databases/database.helper.abstract.js +39 -33
  7. package/backend/application/databases/database.helper.abstract.rollback.failure.js +6 -2
  8. package/backend/application/databases/database.helper.abstract.write.failure.js +6 -2
  9. package/backend/application/env/env-vars.js +22 -19
  10. package/backend/application/env/load-envs.js +41 -6
  11. package/backend/application/injections.abstract.js +12 -9
  12. package/backend/application/injections.abstract.type.js +2 -1
  13. package/backend/domain/commands/command.abstract.js +5 -1
  14. package/backend/domain/middlewares/middleware.handler.abstract.js +5 -1
  15. package/backend/domain/objects/edges/edge.abstract.js +5 -1
  16. package/backend/domain/objects/edges/metadata.edge.js +8 -6
  17. package/backend/domain/objects/edges/metadata.polygon.js +2 -1
  18. package/backend/domain/objects/edges/metadata.uv.js +11 -9
  19. package/backend/domain/objects/face.abstract.js +5 -1
  20. package/backend/domain/objects/solid.abstract.js +7 -5
  21. package/backend/domain/objects/uv.abstract.d.ts +2 -1
  22. package/backend/domain/objects/uv.abstract.js +5 -1
  23. package/backend/domain/objects/vertices/vertex.abstract.js +7 -5
  24. package/backend/domain/providers/provider.abstract.js +5 -1
  25. package/backend/domain/repositories/repository.abstract.js +5 -1
  26. package/backend/domain/services/service.abstract.js +5 -1
  27. package/backend/infrastructure/controllers/controller.abstract.js +8 -4
  28. package/backend/infrastructure/controllers/payloads/payload.abstract.d.ts +0 -1
  29. package/backend/infrastructure/controllers/payloads/payload.abstract.js +5 -1
  30. package/backend/infrastructure/controllers/payloads/validators/validator.abstract.js +5 -1
  31. package/backend/infrastructure/controllers/responses/response.abstract.js +5 -1
  32. package/backend/infrastructure/controllers/validators/is-time-string.js +7 -4
  33. package/index.js +148 -39
  34. package/package.json +2 -2
  35. package/setup/dependency-injections/di-container.abstract.js +12 -8
  36. package/setup/dependency-injections/di-container.js +6 -3
  37. package/setup/dependency-injections/index.js +10 -5
  38. package/setup/index.js +15 -11
  39. package/setup/parchment/parchment.error.js +5 -1
  40. package/setup/parchment/parchment.js +20 -16
  41. package/setup/parchment/parchment.type.js +2 -1
  42. package/setup/server/body-parser-middleware.js +16 -7
  43. package/setup/server/cors-middleware.js +15 -9
  44. package/setup/server/default-error-handler-middleware.js +18 -11
  45. package/setup/server/server.js +35 -28
  46. package/setup/server/unknow.error.js +9 -7
  47. package/tsconfig.tsbuildinfo +1 -1
@@ -1,53 +1,56 @@
1
- import { _ } from "@atlantjs/arch";
2
- import { PickEnvError } from "./parchment.error";
3
- export class Parchment {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parchment = void 0;
4
+ const arch_1 = require("@atlantjs/arch");
5
+ const parchment_error_1 = require("./parchment.error");
6
+ class Parchment {
4
7
  static verse({ ...verse }) {
5
8
  const setValue = process.env[verse.name] || verse.default?.toString();
6
- if (_.isNullOrUndefined(setValue) && verse.isRequired.truthy()) {
7
- throw new PickEnvError(verse.name, verse.description, "The environment variable must have its value defined");
9
+ if (arch_1._.isNullOrUndefined(setValue) && verse.isRequired.truthy()) {
10
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, "The environment variable must have its value defined");
8
11
  }
9
12
  return Parchment.convertSetValue(verse, setValue);
10
13
  }
11
14
  static convertSetValue(verse, value) {
12
- if (_.isUndefined(value)) {
15
+ if (arch_1._.isUndefined(value)) {
13
16
  return undefined;
14
17
  }
15
18
  if (verse.type === "array") {
16
19
  return value.split(",");
17
20
  }
18
21
  if (verse.type === "boolean") {
19
- if (_.isAnyOf(value, ["false", "true"]).falsy()) {
20
- throw new PickEnvError(verse.name, verse.description, `The value of the environment variable ${value} must be "false" or "true"`);
22
+ if (arch_1._.isAnyOf(value, ["false", "true"]).falsy()) {
23
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `The value of the environment variable ${value} must be "false" or "true"`);
21
24
  }
22
- return _.isEqual(value, "true");
25
+ return arch_1._.isEqual(value, "true");
23
26
  }
24
27
  if (verse.type === "enum") {
25
- if (_.isUndefined(verse.values)) {
26
- throw new PickEnvError(verse.name, verse.description, `A definição da variável de ambiente ${verse.name} deve conter os valores de referencia`);
28
+ if (arch_1._.isUndefined(verse.values)) {
29
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `A definição da variável de ambiente ${verse.name} deve conter os valores de referencia`);
27
30
  }
28
31
  if (verse.values.includes(value).falsy()) {
29
- throw new PickEnvError(verse.name, verse.description, `A variável ${verse.name} deve conter algum dos seguintes valores: [${verse.values.join(", ")}]`);
32
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `A variável ${verse.name} deve conter algum dos seguintes valores: [${verse.values.join(", ")}]`);
30
33
  }
31
34
  return value;
32
35
  }
33
36
  if (verse.type === "float") {
34
37
  const floatValue = Number.parseFloat(value);
35
38
  if (Number.isNaN(floatValue)) {
36
- throw new PickEnvError(verse.name, verse.description, `The value of the environment variable ${verse.name} must be a valid float number`);
39
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `The value of the environment variable ${verse.name} must be a valid float number`);
37
40
  }
38
41
  return floatValue;
39
42
  }
40
43
  if (verse.type === "int") {
41
44
  const intValue = Number.parseInt(value, 10);
42
45
  if (Number.isNaN(intValue)) {
43
- throw new PickEnvError(verse.name, verse.description, `O valor da variável de ambiente ${verse.name} deve ser um número inteiro válido`);
46
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `O valor da variável de ambiente ${verse.name} deve ser um número inteiro válido`);
44
47
  }
45
48
  return intValue;
46
49
  }
47
50
  if (verse.type === "port-number") {
48
51
  const portNumber = Number.parseInt(value, 10);
49
52
  if (Number.isNaN(portNumber) || portNumber < 1 || portNumber > 65535) {
50
- throw new PickEnvError(verse.name, verse.description, `O valor da variável de ambiente ${verse.name} deve ser um número de porta válido entre 1 e 65535`);
53
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `O valor da variável de ambiente ${verse.name} deve ser um número de porta válido entre 1 e 65535`);
51
54
  }
52
55
  return portNumber;
53
56
  }
@@ -57,7 +60,7 @@ export class Parchment {
57
60
  if (verse.type === "url-https") {
58
61
  const urlPattern = /^https?:\/\/[^\s/$.?#].[^\s]*$/i;
59
62
  if (!urlPattern.test(value)) {
60
- throw new PickEnvError(verse.name, verse.description, `O valor da variável de ambiente ${verse.name} deve ser uma URL válida começando com http ou https`);
63
+ throw new parchment_error_1.PickEnvError(verse.name, verse.description, `O valor da variável de ambiente ${verse.name} deve ser uma URL válida começando com http ou https`);
61
64
  }
62
65
  return value;
63
66
  }
@@ -65,3 +68,4 @@ export class Parchment {
65
68
  return undefined;
66
69
  }
67
70
  }
71
+ exports.Parchment = Parchment;
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +1,18 @@
1
- import bodyParser from "body-parser";
2
- export class BodyParserMiddleware {
3
- plainTextEndpoints = ["/encrypted-webhook/notification"];
4
- bodyParserJson = bodyParser.json({ limit: "50mb" });
5
- bodyParserText = bodyParser.text({
6
- type: () => true,
7
- });
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.BodyParserMiddleware = void 0;
7
+ const body_parser_1 = __importDefault(require("body-parser"));
8
+ class BodyParserMiddleware {
9
+ constructor() {
10
+ this.plainTextEndpoints = ["/encrypted-webhook/notification"];
11
+ this.bodyParserJson = body_parser_1.default.json({ limit: "50mb" });
12
+ this.bodyParserText = body_parser_1.default.text({
13
+ type: () => true,
14
+ });
15
+ }
8
16
  static create() {
9
17
  const middleware = new BodyParserMiddleware();
10
18
  return (request, response, next) => middleware.use(request, response, next);
@@ -20,3 +28,4 @@ export class BodyParserMiddleware {
20
28
  return this.plainTextEndpoints.some((endpoint) => url.startsWith(endpoint));
21
29
  }
22
30
  }
31
+ exports.BodyParserMiddleware = BodyParserMiddleware;
@@ -1,15 +1,20 @@
1
- import { CORS_ALLOWED_ORIGINS } from "../../backend/application/env/env-vars";
2
- import cors from "cors";
3
- export class CorsMiddleware {
4
- corsSpecs;
5
- cors = cors({
6
- origin: this.parseCorsAllowedOrigins(),
7
- credentials: true,
8
- });
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 env_vars_1 = require("../../backend/application/env/env-vars");
8
+ const cors_1 = __importDefault(require("cors"));
9
+ class CorsMiddleware {
9
10
  constructor(corsSpecs) {
10
11
  this.corsSpecs = corsSpecs;
12
+ this.cors = (0, cors_1.default)({
13
+ origin: this.parseCorsAllowedOrigins(),
14
+ credentials: true,
15
+ });
11
16
  }
12
- static create(corsSpecs = CORS_ALLOWED_ORIGINS) {
17
+ static create(corsSpecs = env_vars_1.CORS_ALLOWED_ORIGINS) {
13
18
  const middleware = new CorsMiddleware(corsSpecs);
14
19
  return (request, response, next) => middleware.use(request, response, next);
15
20
  }
@@ -30,3 +35,4 @@ export class CorsMiddleware {
30
35
  return new RegExp(pattern, flags);
31
36
  }
32
37
  }
38
+ exports.CorsMiddleware = CorsMiddleware;
@@ -1,8 +1,14 @@
1
- import _ from "lodash";
2
- import { HttpError } from "routing-controllers";
3
- import { HttpStatusCodes } from "@atlantjs/arch";
4
- import { UnknownError } from "./unknow.error";
5
- export class DefaultErrorHandlerMiddleware {
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.DefaultErrorHandlerMiddleware = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const routing_controllers_1 = require("routing-controllers");
9
+ const arch_1 = require("@atlantjs/arch");
10
+ const unknow_error_1 = require("./unknow.error");
11
+ class DefaultErrorHandlerMiddleware {
6
12
  static create() {
7
13
  const middleware = new DefaultErrorHandlerMiddleware();
8
14
  return (error, req, res, next) => middleware.use(error, req, res, next);
@@ -15,22 +21,22 @@ export class DefaultErrorHandlerMiddleware {
15
21
  this.handleError(error, res);
16
22
  }
17
23
  handleError(error, res) {
18
- if (!(error instanceof HttpError)) {
24
+ if (!(error instanceof routing_controllers_1.HttpError)) {
19
25
  this.handleExceptions(error, res);
20
26
  return;
21
27
  }
22
- if (error.httpCode < HttpStatusCodes.INTERNAL_SERVER_ERROR) {
23
- res.status(error.httpCode).send(_.omit(error, "httpCode", "stack"));
28
+ if (error.httpCode < arch_1.HttpStatusCodes.INTERNAL_SERVER_ERROR) {
29
+ res.status(error.httpCode).send(lodash_1.default.omit(error, "httpCode", "stack"));
24
30
  return;
25
31
  }
26
32
  res.status(error.httpCode).send({
27
- code: HttpStatusCodes[error.httpCode].toLocaleLowerCase(),
28
- message: HttpStatusCodes[error.httpCode],
33
+ code: arch_1.HttpStatusCodes[error.httpCode].toLocaleLowerCase(),
34
+ message: arch_1.HttpStatusCodes[error.httpCode],
29
35
  });
30
36
  }
31
37
  handleExceptions(error, res) {
32
38
  this.logUnhandledError(error);
33
- res.status(HttpStatusCodes.INTERNAL_SERVER_ERROR).send(new UnknownError({
39
+ res.status(arch_1.HttpStatusCodes.INTERNAL_SERVER_ERROR).send(new unknow_error_1.UnknownError({
34
40
  code: "internal_error",
35
41
  message: "Internal server error",
36
42
  }));
@@ -41,3 +47,4 @@ export class DefaultErrorHandlerMiddleware {
41
47
  });
42
48
  }
43
49
  }
50
+ exports.DefaultErrorHandlerMiddleware = DefaultErrorHandlerMiddleware;
@@ -1,12 +1,18 @@
1
- import { NodeEnvs, _ } from "@atlantjs/arch";
2
- import cookieParser from "cookie-parser";
3
- import express from "express";
4
- import helmet from "helmet";
5
- import { useExpressServer, } from "routing-controllers";
6
- import { APP_PORT, ENVIRONMENT } from "../../backend/application/env/env-vars";
7
- import { BodyParserMiddleware } from "./body-parser-middleware";
8
- import { CorsMiddleware } from "./cors-middleware";
9
- import { DefaultErrorHandlerMiddleware } from "./default-error-handler-middleware";
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 arch_1 = require("@atlantjs/arch");
8
+ const cookie_parser_1 = __importDefault(require("cookie-parser"));
9
+ const express_1 = __importDefault(require("express"));
10
+ const helmet_1 = __importDefault(require("helmet"));
11
+ const routing_controllers_1 = require("routing-controllers");
12
+ const env_vars_1 = require("../../backend/application/env/env-vars");
13
+ const body_parser_middleware_1 = require("./body-parser-middleware");
14
+ const cors_middleware_1 = require("./cors-middleware");
15
+ const default_error_handler_middleware_1 = require("./default-error-handler-middleware");
10
16
  var LogMessage;
11
17
  (function (LogMessage) {
12
18
  LogMessage["$start_server"] = "\n\uD83D\uDDA5\uFE0F Starting server...";
@@ -15,29 +21,20 @@ var LogMessage;
15
21
  LogMessage["$line"] = "========================================";
16
22
  LogMessage["$development_message"] = "\uD83D\uDE80 You are in the development environment\n Ready to code!";
17
23
  })(LogMessage || (LogMessage = {}));
18
- export class Server {
19
- static instance = express();
20
- static routingOptions = {
21
- validation: true,
22
- classTransformer: true,
23
- plainToClassTransformOptions: {
24
- enableImplicitConversion: false,
25
- },
26
- defaultErrorHandler: true,
27
- };
24
+ class Server {
28
25
  static initialize() {
29
26
  Server.instance.disable("x-powered-by");
30
27
  Server.instance.set("trust proxy", ["uniquelocal", "loopback"]);
31
- Server.instance.use(helmet());
32
- Server.instance.use(CorsMiddleware.create());
33
- Server.instance.use(cookieParser());
34
- Server.instance.use(BodyParserMiddleware.create());
35
- Server.instance.use(DefaultErrorHandlerMiddleware.create());
36
- useExpressServer(Server.instance, Server.routingOptions);
28
+ Server.instance.use((0, helmet_1.default)());
29
+ Server.instance.use(cors_middleware_1.CorsMiddleware.create());
30
+ Server.instance.use((0, cookie_parser_1.default)());
31
+ Server.instance.use(body_parser_middleware_1.BodyParserMiddleware.create());
32
+ Server.instance.use(default_error_handler_middleware_1.DefaultErrorHandlerMiddleware.create());
33
+ (0, routing_controllers_1.useExpressServer)(Server.instance, Server.routingOptions);
37
34
  console.info(LogMessage.$start_server);
38
- Server.instance.listen(APP_PORT, () => {
39
- console.info(LogMessage.$started_server + APP_PORT);
40
- if (_.isEqual(ENVIRONMENT, NodeEnvs.development)) {
35
+ Server.instance.listen(env_vars_1.APP_PORT, () => {
36
+ console.info(LogMessage.$started_server + env_vars_1.APP_PORT);
37
+ if (arch_1._.isEqual(env_vars_1.ENVIRONMENT, arch_1.NodeEnvs.development)) {
41
38
  Server.logFooterDevelopmentMessage();
42
39
  }
43
40
  });
@@ -49,3 +46,13 @@ export class Server {
49
46
  console.info(LogMessage.$line);
50
47
  }
51
48
  }
49
+ exports.Server = Server;
50
+ Server.instance = (0, express_1.default)();
51
+ Server.routingOptions = {
52
+ validation: true,
53
+ classTransformer: true,
54
+ plainToClassTransformOptions: {
55
+ enableImplicitConversion: false,
56
+ },
57
+ defaultErrorHandler: true,
58
+ };
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -7,23 +8,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
8
  var __metadata = (this && this.__metadata) || function (k, v) {
8
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
10
  };
10
- import { Expose, instanceToPlain } from "class-transformer";
11
- export class UnknownError {
12
- unknownCode;
13
- unknownMessage;
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UnknownError = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ class UnknownError {
14
15
  constructor(error) {
15
16
  this.unknownCode = error.code;
16
17
  this.unknownMessage = error.message;
17
18
  }
18
19
  toPolygon() {
19
- return instanceToPlain(this);
20
+ return (0, class_transformer_1.instanceToPlain)(this);
20
21
  }
21
22
  }
23
+ exports.UnknownError = UnknownError;
22
24
  __decorate([
23
- Expose(),
25
+ (0, class_transformer_1.Expose)(),
24
26
  __metadata("design:type", String)
25
27
  ], UnknownError.prototype, "unknownCode", void 0);
26
28
  __decorate([
27
- Expose(),
29
+ (0, class_transformer_1.Expose)(),
28
30
  __metadata("design:type", String)
29
31
  ], UnknownError.prototype, "unknownMessage", void 0);