From e301015b8a2a36a506f6499b16092eae062939f7 Mon Sep 17 00:00:00 2001 From: Thiago Rodrigues Date: Sat, 26 Nov 2022 13:54:32 -0300 Subject: [PATCH] Termos de Uso = true --- .gitignore | 3 ++- src/adapters/apis/middlewares/user.middleware.ts | 9 +++++++++ src/adapters/apis/routes/users.routes.config.ts | 1 + src/infrastructure/config/constants.config.ts | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cfcec8a..5ec615e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ node_modules dist log coverage -.env.railway \ No newline at end of file +.env.railway +.env.local \ No newline at end of file diff --git a/src/adapters/apis/middlewares/user.middleware.ts b/src/adapters/apis/middlewares/user.middleware.ts index 5e39064..ff6782a 100644 --- a/src/adapters/apis/middlewares/user.middleware.ts +++ b/src/adapters/apis/middlewares/user.middleware.ts @@ -93,6 +93,15 @@ class UserMiddleware { } } + async validateStatusTrue(req: express.Request, res: express.Response, next: express.NextFunction){ + const status = await req.body.status + if(status === true){ + next(); + } else { + res.status(400).send({error: constantsConfig.USERS.MESSAGES.ERROR.STATUS_NOT_TRUE}) + } + } + } export default new UserMiddleware(); \ No newline at end of file diff --git a/src/adapters/apis/routes/users.routes.config.ts b/src/adapters/apis/routes/users.routes.config.ts index 38a7f39..d2e1591 100644 --- a/src/adapters/apis/routes/users.routes.config.ts +++ b/src/adapters/apis/routes/users.routes.config.ts @@ -27,6 +27,7 @@ export class UserRoutes extends CommonRoutesConfig { UserMiddleware.validateHeightNumber, // Verifica se o campo altura é um número UserMiddleware.validateWeightNumber, // Verifica se o campo Peso é um número UserMiddleware.validateUserRepeated, // Verifica se o email enviado já existe + UserMiddleware.validateStatusTrue, // Verifica se o usuário concordou com os termos de uso UserController.updateUserChart // atualizar um usuário específico ) diff --git a/src/infrastructure/config/constants.config.ts b/src/infrastructure/config/constants.config.ts index a72ae43..284e030 100644 --- a/src/infrastructure/config/constants.config.ts +++ b/src/infrastructure/config/constants.config.ts @@ -12,7 +12,8 @@ export default { HEIGHY_NOT_NUMBER: `O campo 'Altura' deve ser um número`, WEIGHY_NOT_NUMBER: `O campo 'Peso' deve ser um número`, NUMBER_ADDRESS_NOT_NUMBER: `O campo 'Número' deve ser um número`, - UNAUTHORIZED: `Usuário logado deve ser igual ao informado no parâmetro. Não autorizado.` + UNAUTHORIZED: `Usuário logado deve ser igual ao informado no parâmetro. Não autorizado.`, + STATUS_NOT_TRUE: `Você precisa concordar com os Termos de Uso.` } } },