From dfd2d42c190b27cc76e6656451c5de2c26b574f2 Mon Sep 17 00:00:00 2001 From: TheGzuckert Date: Mon, 3 Jun 2024 17:03:12 -0300 Subject: [PATCH 1/2] feat: new route to get info accounts --- src/features/user/controllers/user-controller.ts | 15 +++++++++++++++ src/features/user/routes/user-routes.ts | 2 ++ src/features/user/validators/user-id-schema.ts | 7 +++++++ 3 files changed, 24 insertions(+) create mode 100644 src/features/user/validators/user-id-schema.ts diff --git a/src/features/user/controllers/user-controller.ts b/src/features/user/controllers/user-controller.ts index 3e8218a..a35e05f 100644 --- a/src/features/user/controllers/user-controller.ts +++ b/src/features/user/controllers/user-controller.ts @@ -1,6 +1,8 @@ +import type { RequestHandler } from 'express'; import type { UserCreateModel } from '../models/user-create-model.js'; import { userCreateSchema, userFindByIdSchema } from '../validators/index.js'; import type { UserFindByIdModel } from '../models/user-find-by-id-model.js'; +import { userIdParamsSchema } from '../validators/user-id-schema.js'; import type { Controller } from '@/shared/protocols/controller.js'; import type { Service } from '@/shared/protocols/service.js'; import type { Validator } from '@/shared/infra/validator/validator.js'; @@ -30,6 +32,18 @@ export class UserController implements Controller { } }; + getAccounts: RequestHandler = (req, res, next) => { + try { + this.validator.validate(userIdParamsSchema, { + params: req.params, + }); + + return res.status(HttpStatusCode.ok).json({}); + } catch (error) { + next(error); + } + }; + userFindById: AsyncRequestHandler = async (req, res, next) => { try { this.validator.validate(userFindByIdSchema, { @@ -53,6 +67,7 @@ export class UserController implements Controller { } }; + constructor( private validator: Validator, private serviceCreate: Service, diff --git a/src/features/user/routes/user-routes.ts b/src/features/user/routes/user-routes.ts index 5c008c1..7435971 100644 --- a/src/features/user/routes/user-routes.ts +++ b/src/features/user/routes/user-routes.ts @@ -10,6 +10,8 @@ router.post('/', userController.create); router.get('/:id', userController.userFindById); router.post('/', userController.create); +router.get('/:id/accounts', userController.getAccounts); + export default { prefix: 'users', router, diff --git a/src/features/user/validators/user-id-schema.ts b/src/features/user/validators/user-id-schema.ts new file mode 100644 index 0000000..97c6eec --- /dev/null +++ b/src/features/user/validators/user-id-schema.ts @@ -0,0 +1,7 @@ +import Joi from 'joi'; + +export const userIdParamsSchema = Joi.object({ + params: { + id: Joi.string().guid({ version: 'uuidv4' }).required(), + }, +}); From a696a1369293899a481bfda27655cf772a5b7eca Mon Sep 17 00:00:00 2001 From: TheGzuckert Date: Thu, 6 Jun 2024 16:25:47 -0300 Subject: [PATCH 2/2] fix: prettier error --- src/features/user/controllers/user-controller.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/features/user/controllers/user-controller.ts b/src/features/user/controllers/user-controller.ts index a35e05f..6345dfc 100644 --- a/src/features/user/controllers/user-controller.ts +++ b/src/features/user/controllers/user-controller.ts @@ -67,7 +67,6 @@ export class UserController implements Controller { } }; - constructor( private validator: Validator, private serviceCreate: Service,