From 9466fd46fefde3016ff16a4004dca8cecdda38eb Mon Sep 17 00:00:00 2001 From: Leonardo Casales Date: Sat, 19 Mar 2022 18:04:36 -0300 Subject: [PATCH] fix: init-command, roleCommandRequest created, change bash to sh to run init --- Makefile | 8 ++- .../Requests/RoleCommandSaveRequest.ts | 51 +++++++++++++++++++ .../Presentation/Requests/RoleRepRequest.ts | 2 +- .../Commands/AddUserRoleCommand.ts | 14 ++--- 4 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 src/Role/Presentation/Requests/RoleCommandSaveRequest.ts diff --git a/Makefile b/Makefile index 87a481ca..826b749a 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,12 @@ exec: @echo '************ ************' docker-compose exec node bash +sh: + @echo '************ ************' + @echo '************ Exec NODE ************' + @echo '************ ************' + docker-compose exec node sh + test: @echo '************ ************' @echo '************ Exec NODE TEST ************' @@ -62,7 +68,7 @@ init: @echo '************ ************' @echo '************ Init NODE ************' @echo '************ ************' - docker-compose exec node bash dev.init.sh + docker-compose exec node sh dev.init.sh clean: docker-compose down -v --remove-orphans diff --git a/src/Role/Presentation/Requests/RoleCommandSaveRequest.ts b/src/Role/Presentation/Requests/RoleCommandSaveRequest.ts new file mode 100644 index 00000000..10a4bdc5 --- /dev/null +++ b/src/Role/Presentation/Requests/RoleCommandSaveRequest.ts @@ -0,0 +1,51 @@ +import { IsArray, IsBoolean, IsOptional, IsString, Length } from 'class-validator'; +import { decorate } from 'ts-mixer'; +import RoleRepPayload from '../../Domain/Payloads/RoleRepPayload'; + +class RoleCommandSaveRequest implements RoleRepPayload +{ + private readonly _name: string; + private readonly _slug: string; + private readonly _enable: boolean; + private readonly _permissions: string[]; + + constructor(env: any, role: any = null) + { + this._name = env.role; + this._slug = env.slug?.toLowerCase() ?? env.role?.toLowerCase(); + this._enable = env.enable ?? true; + this._permissions = []; + } + + @decorate(Length(3, 30)) + @decorate(IsString()) + get name(): string + { + return this._name; + } + + @decorate(Length(3, 30)) + @decorate(IsString()) + get slug(): string + { + return this._slug; + } + + @decorate(IsOptional()) + @decorate(IsBoolean()) + get enable(): boolean + { + return this._enable; + } + + @decorate(IsArray()) + @decorate(IsString({ + each: true + })) + get permissions(): string[] + { + return this._permissions; + } +} + +export default RoleCommandSaveRequest; diff --git a/src/Role/Presentation/Requests/RoleRepRequest.ts b/src/Role/Presentation/Requests/RoleRepRequest.ts index 831b3de2..9c0f1d31 100644 --- a/src/Role/Presentation/Requests/RoleRepRequest.ts +++ b/src/Role/Presentation/Requests/RoleRepRequest.ts @@ -12,7 +12,7 @@ class RoleRepRequest implements RoleRepPayload constructor(data: Record) { this._name = data.name; - this._slug = data?.slug?.toLowerCase() ?? data?.name?.toLowerCase(); + this._slug = data.slug?.toLowerCase() ?? data.name?.toLowerCase(); this._permissions = data.permissions ?? []; this._enable = data.enable ?? true; } diff --git a/src/User/Presentation/Commands/AddUserRoleCommand.ts b/src/User/Presentation/Commands/AddUserRoleCommand.ts index 01c7892d..9c19da2a 100644 --- a/src/User/Presentation/Commands/AddUserRoleCommand.ts +++ b/src/User/Presentation/Commands/AddUserRoleCommand.ts @@ -1,11 +1,11 @@ -import UserCommandSaveRequest from '../Requests/UserCommandSaveRequest'; import commander from 'commander'; -import SaveUserUseCase from '../../Domain/UseCases/SaveUserUseCase'; +import RoleRepPayload from '../../../Role/Domain/Payloads/RoleRepPayload'; import SaveRoleUseCase from '../../../Role/Domain/UseCases/SaveRoleUseCase'; -import UserSavePayload from '../../Domain/Payloads/UserSavePayload'; +import RoleCommandSaveRequest from '../../../Role/Presentation/Requests/RoleCommandSaveRequest'; import Logger from '../../../Shared/Logger/Logger'; -import RoleRepRequest from '../../../Role/Presentation/Requests/RoleRepRequest'; -import RoleRepPayload from '../../../Role/Domain/Payloads/RoleRepPayload'; +import UserSavePayload from '../../Domain/Payloads/UserSavePayload'; +import SaveUserUseCase from '../../Domain/UseCases/SaveUserUseCase'; +import UserCommandSaveRequest from '../Requests/UserCommandSaveRequest'; const AddUserRoleCommand = new commander.Command('addUserRole'); @@ -18,7 +18,7 @@ AddUserRoleCommand .option('-ln, --lastName ', 'Last Name of the user') .option('-p, --password ', 'Password of the user') .option('-dt, --documentType ', 'Document Type of the user') - .option('-dn, --documentNumber ', 'Document Number of the user') + .option('-dn, --documentNumber ', 'Document Number of the user') .option('-g, --gender ', 'Gender of the user') .option('-ph, --phone ', 'Phone of the user') .option('-c, --country ', 'Country of the user') @@ -30,7 +30,7 @@ AddUserRoleCommand const saveUserUseCase = new SaveUserUseCase(); const saveRoleUseCase = new SaveRoleUseCase(); - const roleCommandRepRequest: RoleRepPayload = new RoleRepRequest(env); + const roleCommandRepRequest: RoleRepPayload = new RoleCommandSaveRequest(env); const role = await saveRoleUseCase.handle(roleCommandRepRequest); const userCommandRepRequest: UserSavePayload = new UserCommandSaveRequest(env, role);