Conversation
thiagoribb
left a comment
There was a problem hiding this comment.
Oi, Laura! Tudo bem? :)
De maneira geral, mostrou domínio dos conceitos apresentados em aula e apresentou um código bem organizado e conciso. A arquitetura da aplicação ficou muito bem implementada e o uso do TypeORM foi excelente! Levantei alguns pontos de atenção relacionados com a necessidade de tipagem quando trabalhamos com TypeScript e também sobre as boas práticas nos testes de integração. Qualquer dúvida é só chamar :)
| async function listProfessors(req: Request, res: Response){ | ||
| try{ | ||
| const professor = await allProfessors(); | ||
| res.send(professor); | ||
| } | ||
| catch(e){ | ||
| console.log(e); | ||
| res.sendStatus(500); | ||
| } | ||
| } | ||
|
|
||
| async function findProfessorTests(req: Request, res: Response){ | ||
| const { id } = req.params; | ||
| if(!id) return res.sendStatus(404); | ||
| try{ | ||
| const tests = await findTesteByProfessorId(parseInt(id)); | ||
| if (!tests) return res.sendStatus(400); | ||
| else return res.send(tests); | ||
| } | ||
| catch(e){ | ||
| console.log(e); | ||
| res.sendStatus(500); | ||
| } | ||
| } |
There was a problem hiding this comment.
É uma boa pratica tipar os retornos das funções de service e de valores enviados na requisição por query.
|
|
||
| async function newTest(req: Request, res: Response){ | ||
| const { name, url, professorId, typeId, subjectId }: CreateTest = req.body; | ||
| if(!name || !url || !professorId || !typeId || !subjectId) return res.sendStatus(404); |
There was a problem hiding this comment.
É uma prática atribuir essa lógica implementada na condição do if à uma variável no intuito de deixar o código mais semântico.
| import { getRepository } from "typeorm"; | ||
| import Professor from "../entities/professor"; | ||
| import Tests from "../entities/test"; | ||
|
|
There was a problem hiding this comment.
Esses arquivos na verdade compõem a camada de services e não de repositories.
| async function types(){ | ||
| const type = await getRepository(Type).find({ | ||
| select: ["id", "name"] | ||
| }); | ||
|
|
||
| return type; | ||
| } |
There was a problem hiding this comment.
É recomendado definir o nome da função de forma que represente a tarefa que ela vai executar.
| @@ -1,4 +0,0 @@ | |||
| module.exports = { | |||
No description provided.