Cookenu - Backend#66
Conversation
| await this.userDB.insertUser(user); | ||
| const token = Authenticator.generateToken({ id }); | ||
| return token; | ||
| } catch (error: any) { |
There was a problem hiding this comment.
No Business, não precisa do try e catch! Quando você usa o throw ele já dispara o erro com a mensagem. Como sua função é chamada no controller, cairia no catch de lá. O error dentro do catch do business acaba sendo redundante!
| .status(201) | ||
| .send({ message: `User ${input.name} was created!`, token }); | ||
| } catch (error: any) { | ||
| res.status(400).send(error.message); |
There was a problem hiding this comment.
Aqui, você setando o erro 400, todo e qualquer erro que você colocar vai acabar vindo pra cá pro catch. Nesse sentido, da uma lida sobre o instance Of para ver os erros aqui!
| .insert({ id, name, email, password }) | ||
| .into(this.TABLE_NAME); | ||
| } catch (error: any) { | ||
| throw new Error(error.message); |
There was a problem hiding this comment.
error.message || error.sqlMessage
| export class EmailDoesntExists extends CustomError { | ||
| constructor() { | ||
| super( | ||
| 400, |
There was a problem hiding this comment.
404 not found faria mais sentido!
labenu-bot
left a comment
There was a problem hiding this comment.
Parabéns pela entrega!
Requisitos do projeto ✅
| Implementações | Feito |
|---|---|
| Tabela de usuários contendo, no mínimo: id, nome, email e senha | ✅ |
| Tabela de receitas contendo id, título, descrição, data de criação e id do autor | ✅ |
| Requisição válida de cadastro é salva no banco e devolve um jwt | ✅ |
| Requisição válida de login devolve um jwt | ✅ |
| Requisição de buscar o próprio perfil devolve as informações corretas | - |
| Requisição de buscar perfil por id devolve as informações corretas | - |
| Requisição válida de criar receita é salva no banco | - |
| Requisição de buscar receita por id devolve as informações corretas | - |
| Requisições inválidas devolvem respostas de erro claras | ✅ |
| Fez ao menos um desafio | - |
| Fez dois ou três desafios | - |
| Fez todos os desafios | - |
| Script para criar e popular as tabelas usando o Knex | - |
| Documentação da API | - |
| Feedback do código | Feito |
|---|---|
| Classes para representar usuários e receitas | ✅ |
| Classe para representar os serviços de autenticação | ✅ |
| Nomes adequados para as variáveis e rotas | ✅ |
Comentários da pessoa avaliadora
Olá Caio, parabéns pela entrega!
As funcionalidades que você aplicou estão certinhas! Depois recomendo dar uma olhada na correção do projeto. Deixei uns comentários no seu código.
De sugestão diria que vale a pena pensar em criar a documentação com o deploy e um bom READ.ME sobre seu projeto, algo bem relevante para quem for ver e testar seu projeto.
No mais, tenha uma boa jornada!
Análise realizada por: Pedro
POR FAVOR, EDITE ESSA MENSAGEM INSERINDO AS INFORMAÇÕES DO SEU PROJETO. COMECE APAGANDO ESSA LINHA.
INSIRA O NOME NOME DO PROJETO AQUI
O que funciona
O que não funciona
Link Surge
A PARTIR DA SEMANA 5, INSIRA AQUI O LINK DO SURGE. ANTES DISSO, APAGUE ESSAS DUAS LINHAS.
Imagens
TIRE PRINTS DAS TELAS DO SEU SITE E COLE AQUI