diff --git a/src/features/user/controllers/user-controller.ts b/src/features/user/controllers/user-controller.ts index 3e8218a..6345dfc 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, { 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(), + }, +});