Conversation
Initial commit - Início do projeto
Features Signup, Login e Friendship
feature de criação de post adiciona
jvpalves
left a comment
There was a problem hiding this comment.
Oi, gente! Deixei alguns comentários ao longo do código. Em linhas gerais, o código de vocês está bem organizado, e dá para se encontrar bem, com pastas e arquivos bem organizados. No entanto, existe um tanto de código escrito que não está sendo usado, ou está com nomes repetidos, então eu tomaria um pouco mais de cuidado com essa parte. Em todo caso, a arquitetura parece estar bem montada e foi bem fácil navegar. Boa, galera!
| import { User } from "../model/User"; | ||
| import { Authenticator } from "../services/Authenticator"; | ||
|
|
||
| export class UserBusiness { |
There was a problem hiding this comment.
Por aqui acabou que a Friendship Business ficou com o mesmo nome da classe UserBusiness
| await userDb.createUser(user); | ||
|
|
||
| const accessToken = new Authenticator().generateToken({ | ||
| id: user.getId(), | ||
| email: user.getEmail(), | ||
| }); | ||
|
|
||
| return { id: id, accessToken }; | ||
| } |
| console.log("email - business", email); | ||
| console.log("senha - business", password); |
There was a problem hiding this comment.
lembrar de remover o console.log
| const user = await userDb.getUserByEmail(email); | ||
| console.log("user que veio do banco", user); | ||
|
|
||
| if (!user) { | ||
| throw new Error("User not found"); | ||
| } | ||
|
|
||
| const isPasswordCorrect = await new HashManager().compareHash( | ||
| password, | ||
| user.getPassword() | ||
| ); | ||
| console.log("validação da senha: ", isPasswordCorrect); | ||
|
|
||
| if (!isPasswordCorrect) { | ||
| throw new Error("Wrong password"); | ||
| } |
There was a problem hiding this comment.
Bons tratamentos de exceção aqui. Mas cuidado com os console.log
| export const getUserProfile = async ( | ||
| req: Request, | ||
| res: Response | ||
| ): Promise<any> => { | ||
| try { | ||
| const token = req.headers.authorization as string; | ||
|
|
||
| const authenticator = new Authenticator(); | ||
| const authenticationData = authenticator.getData(token); | ||
|
|
||
| const userDatabase = new UserDatabase(); | ||
| const user = await userDatabase.getUserById(authenticationData.id); | ||
|
|
||
| res | ||
| .status(200) | ||
| .send({ message: `success`, id: user.id, email: user.email }); | ||
| } catch (error) { | ||
| res | ||
| .status(400) | ||
| .send({ message: error.message, sqlMessage: error.sqlMessage }); | ||
| } finally { | ||
| await BaseDatabase.destroyConnection(); | ||
| } | ||
| }; |
There was a problem hiding this comment.
Quando este endpoint é usado? Não consegui encontrar
Avaliação do projeto