@atlantjs/backend 1.2.7 → 1.2.9
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/backend/application/injections.abstract.type.d.ts +2 -2
- package/backend/domain/{usecases/usecase.abstract.d.ts → commands/command.abstract.d.ts} +1 -1
- package/backend/domain/commands/command.abstract.js +6 -0
- package/index.d.ts +2 -2
- package/index.js +38 -18
- package/package.json +1 -1
- package/setup/dependency-injections/di-container.abstract.d.ts +2 -2
- package/setup/env-var/index.js +6 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/backend/domain/usecases/usecase.abstract.js +0 -6
|
@@ -4,7 +4,7 @@ import { ControllerAbstract } from "../infrastructure/controllers/controller.abs
|
|
|
4
4
|
import { MiddlewareHandlerAbstract } from "../domain/middlewares/middleware.handler.abstract";
|
|
5
5
|
import { RepositoryAbstract } from "../domain/repositories/repository.abstract";
|
|
6
6
|
import { ServiceAbstract } from "../domain/services/service.abstract";
|
|
7
|
-
import {
|
|
7
|
+
import { CommandAbstract } from "../domain/commands/command.abstract";
|
|
8
8
|
type ServiceIdentifier<T> = interfaces.ServiceIdentifier<T>;
|
|
9
9
|
interface BindTo<T> {
|
|
10
10
|
ref: ServiceIdentifier<unknown>;
|
|
@@ -13,7 +13,7 @@ interface BindTo<T> {
|
|
|
13
13
|
export interface Injections {
|
|
14
14
|
controllers?: ServiceIdentifier<ControllerAbstract>[];
|
|
15
15
|
middlewares?: ServiceIdentifier<MiddlewareHandlerAbstract>[];
|
|
16
|
-
usecases?: BindTo<
|
|
16
|
+
usecases?: BindTo<CommandAbstract>[];
|
|
17
17
|
services?: BindTo<ServiceAbstract>[];
|
|
18
18
|
repositories?: BindTo<RepositoryAbstract>[];
|
|
19
19
|
providers?: BindTo<RepositoryAbstract>[];
|
package/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import "reflect-metadata";
|
|
|
2
2
|
export { Injections } from "./backend/application/injections.abstract.type";
|
|
3
3
|
export { getFromContainer, Get, JsonController, Res, Body, Post, Req, UseBefore, } from "routing-controllers";
|
|
4
4
|
export { NextFunction, Request, RequestHandler, Response } from "express";
|
|
5
|
-
export
|
|
5
|
+
export { IsOptional, ValidateNested, IsLatLong, IsLatitude, IsLongitude, IsEmpty, IsNotEmpty, IsPositive, IsNegative, Max, Min, MinDate, MaxDate, IsDecimal, IsBase64, IsEmail, IsCurrency, IsIP, IsPort, IsJSON, IsJWT, IsUUID, IsUrl, IsNumberString, IsBoolean, IsDate, IsNumber, IsEnum, IsInt, isString, IsArray, IsObject, IsNotEmptyObject } from "class-validator";
|
|
6
6
|
export { DatabaseConfigAbstract } from "./backend/application/databases/database.config";
|
|
7
7
|
export { DatabaseHelperAbstract } from "./backend/application/databases/database.helper.abstract";
|
|
8
8
|
export { APP_PORT, LOAD_MODULES, CORS_ALLOWED_ORIGINS, } from "./backend/application/env/env-vars";
|
|
@@ -13,7 +13,7 @@ export { MiddlewareHandlerAbstract } from "./backend/domain/middlewares/middlewa
|
|
|
13
13
|
export { ProviderAbstract } from "./backend/domain/providers/provider.abstract";
|
|
14
14
|
export { RepositoryAbstract } from "./backend/domain/repositories/repository.abstract";
|
|
15
15
|
export { ServiceAbstract } from "./backend/domain/services/service.abstract";
|
|
16
|
-
export {
|
|
16
|
+
export { CommandAbstract } from "./backend/domain/commands/command.abstract";
|
|
17
17
|
export { ControllerAbstract } from "./backend/infrastructure/controllers/controller.abstract";
|
|
18
18
|
export { PayloadAbstract } from "./backend/infrastructure/controllers/payloads/payload.abstract";
|
|
19
19
|
export { ValidatorAbstract } from "./backend/infrastructure/controllers/payloads/validators/validator.abstract";
|
package/index.js
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
3
|
+
exports.MiddlewareHandlerAbstract = exports.EntityAbstract = exports.InjectionsAbstract = exports.EnvVar = exports.CORS_ALLOWED_ORIGINS = exports.LOAD_MODULES = exports.APP_PORT = exports.DatabaseHelperAbstract = exports.DatabaseConfigAbstract = exports.IsNotEmptyObject = exports.IsObject = exports.IsArray = exports.isString = exports.IsInt = exports.IsEnum = exports.IsNumber = exports.IsDate = exports.IsBoolean = exports.IsNumberString = exports.IsUrl = exports.IsUUID = exports.IsJWT = exports.IsJSON = exports.IsPort = exports.IsIP = exports.IsCurrency = exports.IsEmail = exports.IsBase64 = exports.IsDecimal = exports.MaxDate = exports.MinDate = exports.Min = exports.Max = exports.IsNegative = exports.IsPositive = exports.IsNotEmpty = exports.IsEmpty = exports.IsLongitude = exports.IsLatitude = exports.IsLatLong = exports.ValidateNested = exports.IsOptional = exports.UseBefore = exports.Req = exports.Post = exports.Body = exports.Res = exports.JsonController = exports.Get = exports.getFromContainer = void 0;
|
|
4
|
+
exports.initializeApi = exports.injectable = exports.inject = exports.Container = exports.Server = exports.DefaultErrorHandlerMiddleware = exports.CorsMiddleware = exports.BodyParserMiddleware = exports.DiContainerAbstract = exports.diContainer = exports.startContainer = exports.SchemaAbstract = exports.ResponseAbstract = exports.ValidatorAbstract = exports.PayloadAbstract = exports.ControllerAbstract = exports.CommandAbstract = exports.ServiceAbstract = exports.RepositoryAbstract = exports.ProviderAbstract = void 0;
|
|
18
5
|
require("reflect-metadata");
|
|
19
6
|
const setup_1 = require("./setup");
|
|
20
7
|
(0, setup_1.synthesizePaths)();
|
|
@@ -27,7 +14,40 @@ Object.defineProperty(exports, "Body", { enumerable: true, get: function () { re
|
|
|
27
14
|
Object.defineProperty(exports, "Post", { enumerable: true, get: function () { return routing_controllers_1.Post; } });
|
|
28
15
|
Object.defineProperty(exports, "Req", { enumerable: true, get: function () { return routing_controllers_1.Req; } });
|
|
29
16
|
Object.defineProperty(exports, "UseBefore", { enumerable: true, get: function () { return routing_controllers_1.UseBefore; } });
|
|
30
|
-
|
|
17
|
+
var class_validator_1 = require("class-validator");
|
|
18
|
+
Object.defineProperty(exports, "IsOptional", { enumerable: true, get: function () { return class_validator_1.IsOptional; } });
|
|
19
|
+
Object.defineProperty(exports, "ValidateNested", { enumerable: true, get: function () { return class_validator_1.ValidateNested; } });
|
|
20
|
+
Object.defineProperty(exports, "IsLatLong", { enumerable: true, get: function () { return class_validator_1.IsLatLong; } });
|
|
21
|
+
Object.defineProperty(exports, "IsLatitude", { enumerable: true, get: function () { return class_validator_1.IsLatitude; } });
|
|
22
|
+
Object.defineProperty(exports, "IsLongitude", { enumerable: true, get: function () { return class_validator_1.IsLongitude; } });
|
|
23
|
+
Object.defineProperty(exports, "IsEmpty", { enumerable: true, get: function () { return class_validator_1.IsEmpty; } });
|
|
24
|
+
Object.defineProperty(exports, "IsNotEmpty", { enumerable: true, get: function () { return class_validator_1.IsNotEmpty; } });
|
|
25
|
+
Object.defineProperty(exports, "IsPositive", { enumerable: true, get: function () { return class_validator_1.IsPositive; } });
|
|
26
|
+
Object.defineProperty(exports, "IsNegative", { enumerable: true, get: function () { return class_validator_1.IsNegative; } });
|
|
27
|
+
Object.defineProperty(exports, "Max", { enumerable: true, get: function () { return class_validator_1.Max; } });
|
|
28
|
+
Object.defineProperty(exports, "Min", { enumerable: true, get: function () { return class_validator_1.Min; } });
|
|
29
|
+
Object.defineProperty(exports, "MinDate", { enumerable: true, get: function () { return class_validator_1.MinDate; } });
|
|
30
|
+
Object.defineProperty(exports, "MaxDate", { enumerable: true, get: function () { return class_validator_1.MaxDate; } });
|
|
31
|
+
Object.defineProperty(exports, "IsDecimal", { enumerable: true, get: function () { return class_validator_1.IsDecimal; } });
|
|
32
|
+
Object.defineProperty(exports, "IsBase64", { enumerable: true, get: function () { return class_validator_1.IsBase64; } });
|
|
33
|
+
Object.defineProperty(exports, "IsEmail", { enumerable: true, get: function () { return class_validator_1.IsEmail; } });
|
|
34
|
+
Object.defineProperty(exports, "IsCurrency", { enumerable: true, get: function () { return class_validator_1.IsCurrency; } });
|
|
35
|
+
Object.defineProperty(exports, "IsIP", { enumerable: true, get: function () { return class_validator_1.IsIP; } });
|
|
36
|
+
Object.defineProperty(exports, "IsPort", { enumerable: true, get: function () { return class_validator_1.IsPort; } });
|
|
37
|
+
Object.defineProperty(exports, "IsJSON", { enumerable: true, get: function () { return class_validator_1.IsJSON; } });
|
|
38
|
+
Object.defineProperty(exports, "IsJWT", { enumerable: true, get: function () { return class_validator_1.IsJWT; } });
|
|
39
|
+
Object.defineProperty(exports, "IsUUID", { enumerable: true, get: function () { return class_validator_1.IsUUID; } });
|
|
40
|
+
Object.defineProperty(exports, "IsUrl", { enumerable: true, get: function () { return class_validator_1.IsUrl; } });
|
|
41
|
+
Object.defineProperty(exports, "IsNumberString", { enumerable: true, get: function () { return class_validator_1.IsNumberString; } });
|
|
42
|
+
Object.defineProperty(exports, "IsBoolean", { enumerable: true, get: function () { return class_validator_1.IsBoolean; } });
|
|
43
|
+
Object.defineProperty(exports, "IsDate", { enumerable: true, get: function () { return class_validator_1.IsDate; } });
|
|
44
|
+
Object.defineProperty(exports, "IsNumber", { enumerable: true, get: function () { return class_validator_1.IsNumber; } });
|
|
45
|
+
Object.defineProperty(exports, "IsEnum", { enumerable: true, get: function () { return class_validator_1.IsEnum; } });
|
|
46
|
+
Object.defineProperty(exports, "IsInt", { enumerable: true, get: function () { return class_validator_1.IsInt; } });
|
|
47
|
+
Object.defineProperty(exports, "isString", { enumerable: true, get: function () { return class_validator_1.isString; } });
|
|
48
|
+
Object.defineProperty(exports, "IsArray", { enumerable: true, get: function () { return class_validator_1.IsArray; } });
|
|
49
|
+
Object.defineProperty(exports, "IsObject", { enumerable: true, get: function () { return class_validator_1.IsObject; } });
|
|
50
|
+
Object.defineProperty(exports, "IsNotEmptyObject", { enumerable: true, get: function () { return class_validator_1.IsNotEmptyObject; } });
|
|
31
51
|
var database_config_1 = require("./backend/application/databases/database.config");
|
|
32
52
|
Object.defineProperty(exports, "DatabaseConfigAbstract", { enumerable: true, get: function () { return database_config_1.DatabaseConfigAbstract; } });
|
|
33
53
|
var database_helper_abstract_1 = require("./backend/application/databases/database.helper.abstract");
|
|
@@ -50,8 +70,8 @@ var repository_abstract_1 = require("./backend/domain/repositories/repository.ab
|
|
|
50
70
|
Object.defineProperty(exports, "RepositoryAbstract", { enumerable: true, get: function () { return repository_abstract_1.RepositoryAbstract; } });
|
|
51
71
|
var service_abstract_1 = require("./backend/domain/services/service.abstract");
|
|
52
72
|
Object.defineProperty(exports, "ServiceAbstract", { enumerable: true, get: function () { return service_abstract_1.ServiceAbstract; } });
|
|
53
|
-
var
|
|
54
|
-
Object.defineProperty(exports, "
|
|
73
|
+
var command_abstract_1 = require("./backend/domain/commands/command.abstract");
|
|
74
|
+
Object.defineProperty(exports, "CommandAbstract", { enumerable: true, get: function () { return command_abstract_1.CommandAbstract; } });
|
|
55
75
|
var controller_abstract_1 = require("./backend/infrastructure/controllers/controller.abstract");
|
|
56
76
|
Object.defineProperty(exports, "ControllerAbstract", { enumerable: true, get: function () { return controller_abstract_1.ControllerAbstract; } });
|
|
57
77
|
var payload_abstract_1 = require("./backend/infrastructure/controllers/payloads/payload.abstract");
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { MiddlewareHandlerAbstract } from "../../backend/domain/middlewares/midd
|
|
|
2
2
|
import { ProviderAbstract } from "../../backend/domain/providers/provider.abstract";
|
|
3
3
|
import { RepositoryAbstract } from "../../backend/domain/repositories/repository.abstract";
|
|
4
4
|
import { ServiceAbstract } from "../../backend/domain/services/service.abstract";
|
|
5
|
-
import {
|
|
5
|
+
import { CommandAbstract } from "../../backend/domain/commands/command.abstract";
|
|
6
6
|
import { ControllerAbstract } from "../../backend/infrastructure/controllers/controller.abstract";
|
|
7
7
|
import { Newable } from "@atlantjs/arch";
|
|
8
8
|
interface BindTo<T> {
|
|
@@ -12,7 +12,7 @@ interface BindTo<T> {
|
|
|
12
12
|
interface Dependencies {
|
|
13
13
|
controllers: ControllerAbstract[];
|
|
14
14
|
middlewares: MiddlewareHandlerAbstract[];
|
|
15
|
-
usecases: BindTo<
|
|
15
|
+
usecases: BindTo<CommandAbstract>[];
|
|
16
16
|
repositories: BindTo<RepositoryAbstract>[];
|
|
17
17
|
providers: BindTo<ProviderAbstract>[];
|
|
18
18
|
services: BindTo<ServiceAbstract>[];
|
package/setup/env-var/index.js
CHANGED
|
@@ -5,12 +5,18 @@ const env_var_error_1 = require("./env-var.error");
|
|
|
5
5
|
const arch_1 = require("@atlantjs/arch");
|
|
6
6
|
class EnvVar {
|
|
7
7
|
static get({ name, type = "string", isRequired = true, default: defaultValue, values: enumValues, description }) {
|
|
8
|
+
//TODO: Verificar se o process.env.ENVIRONMENT é local. Se sim, carregar do process.env[name] (.env). Se não, carregar do secret manager. Se não, carregar do default value. Se não, undefined.
|
|
8
9
|
this.variableValue = process.env[name] || defaultValue?.toString();
|
|
9
10
|
this.variableType = type;
|
|
10
11
|
this.variableName = name;
|
|
11
12
|
this.variableDescription = description;
|
|
12
13
|
this.enumValues = enumValues;
|
|
13
14
|
if (arch_1.Guardian.isEmpty(this.variableValue) && isRequired.truthy()) {
|
|
15
|
+
// TODO: Informar que a variável deve ter um valor preenchido.
|
|
16
|
+
// TODO: Disponibilizar um input para a pessoa inserir o valor na hora
|
|
17
|
+
// TODO: Caso o valor não seja válido com o typo da variável, informar e disponibilizar novamente o input
|
|
18
|
+
// TODO: Caso o valor seja válido, atribuir no arquivo .env e validar as demais variáveis
|
|
19
|
+
// TODO: ao finalizar todas as variáveis, caso tenha havido alguma alteração no arquivo .env, reiniciar o container
|
|
14
20
|
throw new env_var_error_1.PickEnvError(this.variableName, this.variableDescription, `A variável de ambiente tem que ter seu valor definido`);
|
|
15
21
|
}
|
|
16
22
|
switch (this.variableType) {
|