From 4d2eac45d2eedb9512d72f496161b940920bfc93 Mon Sep 17 00:00:00 2001 From: Matheus Albino Brunhara Date: Tue, 24 May 2022 20:01:01 -0500 Subject: [PATCH] =?UTF-8?q?Alterando=20informa=C3=A7=C3=B5es=20de=20perfil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...653433-AlterUsersTableAddLastnameColumn.ts | 15 ++++++++++++++ src/models/User.ts | 3 +++ src/routes/users.routes.ts | 20 ++++++++++++++++--- src/server.ts | 6 ++++-- src/services/CreateUserService.ts | 6 ++++-- src/services/FindUserService.ts | 2 +- src/services/UpdateUserService.ts | 12 +++++++---- 7 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 src/database/migrations/1653437653433-AlterUsersTableAddLastnameColumn.ts diff --git a/src/database/migrations/1653437653433-AlterUsersTableAddLastnameColumn.ts b/src/database/migrations/1653437653433-AlterUsersTableAddLastnameColumn.ts new file mode 100644 index 0000000..699f3e0 --- /dev/null +++ b/src/database/migrations/1653437653433-AlterUsersTableAddLastnameColumn.ts @@ -0,0 +1,15 @@ +import {MigrationInterface, QueryRunner, TableColumn} from "typeorm"; + +export class AlterUsersTableAddLastnameColumn1653437653433 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.addColumn('users', new TableColumn({ + name: 'lastname', + type: 'varchar', + isNullable: true + })) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.dropColumn('users', 'lastname') + } +} diff --git a/src/models/User.ts b/src/models/User.ts index d26bc92..076f4d3 100644 --- a/src/models/User.ts +++ b/src/models/User.ts @@ -14,6 +14,9 @@ class User { @Column() name: string; + @Column() + lastname: string; + @Column() email: string; diff --git a/src/routes/users.routes.ts b/src/routes/users.routes.ts index 5ea98c3..8aa9b0c 100644 --- a/src/routes/users.routes.ts +++ b/src/routes/users.routes.ts @@ -50,11 +50,23 @@ usersRouter.get('/:id', ensureAuthenticated, async (request, response) => { const user = await findUser.execute(id); + // converting ISO 8601 date to normal date + let birth_date = new Date(user.birth_date) + + let year = birth_date.getFullYear() + let month = birth_date.getMonth()+1 + let date = birth_date.getDate() + + const finalDate = `${date}/${month}/${year}` + + console.log(finalDate) + const userWithoutPassword = { id_user: user.id_user, name: user.name, + lastname: user.lastname, email: user.email, - birth_date: user.birth_date, + birth_date: finalDate, avatar_image: user.avatar_image, bio: user.bio, // created_at: user.created_at, @@ -65,12 +77,13 @@ usersRouter.get('/:id', ensureAuthenticated, async (request, response) => { }); usersRouter.post('/', async (request, response) => { - const { name, email, birth_date, password } = request.body; + const { name, lastname, email, birth_date, password } = request.body; const createUser = new CreateUserService(); const user = await createUser.execute({ name, + lastname, email, birth_date, password, @@ -87,13 +100,14 @@ usersRouter.post('/', async (request, response) => { }); usersRouter.patch('/edit', ensureAuthenticated, async (request, response) => { - const { name, username, bio, email, birth_date } = request.body; + const { name, lastname, username, bio, email, birth_date } = request.body; const updateUserService = new UpdateUserService(); await updateUserService.execute({ id_user: request.user.id_user, name, + lastname, username, bio, email, diff --git a/src/server.ts b/src/server.ts index 665bd45..7c19981 100644 --- a/src/server.ts +++ b/src/server.ts @@ -34,6 +34,8 @@ app.use((err: Error, request: Request, response: Response, _: NextFunction) => { }); }); -app.listen(3333, () => { - console.log('🚀 Server started on port 3333!'); +const port = 10002 + +app.listen(port, () => { + console.log(`🚀 Server started on port ${port}!`); }); diff --git a/src/services/CreateUserService.ts b/src/services/CreateUserService.ts index 1033aa9..2df4325 100644 --- a/src/services/CreateUserService.ts +++ b/src/services/CreateUserService.ts @@ -9,13 +9,14 @@ import Social from '../models/Social'; interface Request { name: string; + lastname: string; email: string; birth_date: string; password: string; } class CreateUserService { - public async execute({ name, email, birth_date, password }: Request): Promise { + public async execute({ name, lastname, email, birth_date, password }: Request): Promise { const usersRepository = getRepository(User); const socialsRepository = getRepository(Social); @@ -33,8 +34,9 @@ class CreateUserService { // TODO, arrumar o formato das datas e padronizar com a equipe const user = usersRepository.create({ - id_user: v4(), name, email, birth_date, password: hashedPassword, avatar_image: "", bio: "" + id_user: v4(), name, lastname, email, birth_date, password: hashedPassword, avatar_image: "", bio: "" }); + await usersRepository.save(user); // já criar registro na tabela Socials para evitar inconsistências diff --git a/src/services/FindUserService.ts b/src/services/FindUserService.ts index ba5a173..4812f95 100644 --- a/src/services/FindUserService.ts +++ b/src/services/FindUserService.ts @@ -8,7 +8,7 @@ class CreateUserService { public async execute(id: string): Promise { const usersRepository = getRepository(User); - const user = await usersRepository.findOne({ + let user = await usersRepository.findOne({ where: { id_user: id }, }); diff --git a/src/services/UpdateUserService.ts b/src/services/UpdateUserService.ts index 57e933c..71968e0 100644 --- a/src/services/UpdateUserService.ts +++ b/src/services/UpdateUserService.ts @@ -8,6 +8,7 @@ import Social from '../models/Social'; interface Request { id_user: string; name: string; + lastname: string; username: string; bio: string; email: string; @@ -15,7 +16,7 @@ interface Request { } class UpdateUserService { - public async execute({ id_user, name, username, bio, email, birth_date }: Request): Promise { + public async execute({ id_user, name, lastname, username, bio, email, birth_date }: Request): Promise { const usersRepository = getRepository(User); const socialRepository = getRepository(Social); @@ -27,9 +28,12 @@ class UpdateUserService { throw new AppError('User does not exist.'); }; - user.name = name; - user.bio = bio; - user.birth_date = new Date(birth_date); // TODO, funciona? + user.name = name + user.lastname = lastname + user.bio = bio + user.email = email + + // user.birth_date = new Date(birth_date); // TODO, funciona? await usersRepository.save(user);