-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR de correção #15
base: correcao-projeto
Are you sure you want to change the base?
PR de correção #15
Conversation
instalação das dependencias e modulos iniciais
ajustes na organização das dependencias
Work osman terca
arquivos iniciais
implementação do endpoit getpostbyid
implementação do endpoit getpostbyid
Work osman quarta
Refatoração do código
…reate e /post/:id
Work osman quinta
método de signup feito e de login á fazer.
login finalizado
Feed implementado
implementação dos endpoints create e delete friendship
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oi, gente! Eu adorei o projeto de vocês! Tudo funciona super bem! Os principais pontos de atenção dizem respeito a clean code. Vocês acabaram misturando um pouco os nomes de variáveis entre os endpoints, o que acabou gerando algumas confusões nos meus testes haha. Gostei muito da organização do código, tudo muito fácil de ler e navegar. Achar probleminhas e corrigir também foi fácil, e enxergar as limitações com o TODO também foi bacana (apesar de eu sempre apontar comentários haha). Vocês parecem ter sacado bem os conceitos da semana. Parabéns!
Fiz uns testes envolvendo The Office no banco, caso queiram dar uma olhada depois, e eu fiquei bem assim usando a aplicação do grupo:
create_at?: string, | ||
description?:string | ||
){ | ||
//TODO: validar criação de post mediante access token |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lembrem de remover os comentários depois!
if(! img_url || img_url.trim() === ''){ | ||
throw new CustomError(416,'Missing post image url.'); | ||
}else if(! img_url.includes('http')){ | ||
throw new CustomError(406,'Invalid post image url.'); | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gostei da validação aqui!
|
||
await usePostsDb.createPost({ | ||
id: idGen.generate(), | ||
img_url, | ||
type, | ||
create_at, | ||
description | ||
}); | ||
}; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
O endpoint realmente acabou por criar o post sem gravar o autor do post
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Macacos me mordam! Eu lembrei de ter arrumado o campo na tabela pra receber essa info, mas esqueci de mudar na query! haha
|
||
const requestInfo = await userBusiness.login(body.email, body.password); | ||
|
||
|
||
if(requestInfo){ | ||
res.status(200).send({accessToken: requestInfo }) | ||
} | ||
|
||
} catch (error) { | ||
res.status(400).send({ error: error.message }); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Temos um probleminha aqui. Se a senha estiver incorreta nunca caímos no catch e o endpoint carrega para sempre
try{ | ||
const body = req.body; | ||
await new PostsBusiness().createPost( | ||
body.img_url, body.type, body.create_at, body.description |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uma possibilidade aqui é deixar a criação das datas automática!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eu passei por precaução pq tinha uma validação no business e um default pra o campo de data lá no banco atribuir a curdate caso não fosse passada uma data. É melhor prevenir do que remediar! haha
}; | ||
} | ||
|
||
public async showFeed(id: string): Promise<any> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Podia devolver Posts modelados aqui!
commit pré-entrega final
Avaliando o projeto de vocês!