Closed TiagoGouvea closed 4 years ago
Oi Tiago, acho que vou precisar de 08h, mais porque tenho que dar uma lida na documentação do Sequelize. Eu sempre usei o módulo mysql direto.
E ai @TiagoGouvea
Eu n havia visto que vc já tinhas deixado a parte do database para alguém fazer, mas eu fiz uma pull request no brench #6.
Neste momento eu so deixei as configs do sequelize e fiz um teste na migration pra ver se a path
foi setada da forma correta, tambem fiz a alteração da estrutura de pastas e adicionei o .editorconfig.
Na model para users
eu adicionei os que eu achei que possamos usar, podemos discutir a respeito, n configurei todos.
Outra coisa, para controle de tempo ou para monitorar eu uso o wakatime
@lopesboa obrigado pela pró-atividade! Eu tinha programado para o @thiagopuntar esta issue, mas creio que possam fazer juntos.. mas terão que sincronizar. Vi que você não seguiu muito a especificação da issue.. dai, o que acham de vocês dois se comunicarem para termos os itens da issue todos implementados? Recomendo ir marcando na lista as tarefas feitas pra ficar mais fácil conferir depois também.
Nada por isso @TiagoGouvea. Podemos sim fazer juntos eu e o @thiagopuntar e sincronizar certinho. Vou seguir mais conforme as recomendações na descrição da issue. Quanto a marcação das tarefas feitas eu só n marquei por que tinha q esperar ser analisado, se estivesse td certinho quando a pull fosse aceite eu marcaria. Acho q com isso a parte toda de conexão está completa, só vou colocar as variáveis no arquivo .env, vou ver se der dou mais uma adiantada hj para algumas rodas e os controllers.
Alô @lopesboa , obrigado pelo empenho! 👏
Algumas coisas que observei vendo seu código até aqui, e que podem ser ajustadas para ficar ainda melhor.
gemre
deve ser genre
, databirth
seria birthday
, lastacess
seria lastaccess
, level
pode ser role
login
não é necessário, a pessoa loga pelo email mesmo ou rede social (no futuro)pwd
?É isso ai! Quando mandar mais código dou mais feedback. :)
Tudo certo @TiagoGouvea, vou remover o user_
e fazer a correção dos erros ortográficos.
O pwd seria o campo com a senha encriptada, para fazer a comparação na ir de verificar se a senha existe ou n.
Quanto aos requires
q n estão a ser usados meu editor avisa sim, é q eu já havia feito, mas lembrei q tinha q fazer commites menores para n pesar tanto na verificação e aprovação, daí q acabei esquecer de remover alguns.
Obrigado pelo feedback, ajuda bastante. Bora codar🤘🏾
Oi @TiagoGouvea, fechei as features dessa branch. Pode avaliar para fazer o merge no dev?
Tomei a liberdade para alterar a estrutura do app.js em um formato de setup e instalei o express-async-errors, é um plugin que pega todos os erros de métodos assíncronos e redireciona automaticamente para o middleware de erros, sem precisar ficar usando try ... catch e chamando o next(err).
Quanto a migration, deixei em aberto porque eu fiz adicionei o método sync() do sequelize no load do arquivo de db. Pode verificar?
Forte abraço
Legal @thiagopuntar a ideia do express-async-errors, eu não conhecia ainda. Eu instalei o Rollbar no projeto, que é um serviço que dentre outras coisas faz um log online, assim o express-async-errors pode mandar pro Rollbar o que capturar e será útil.
O sync pode ser uma boa sim, simplifica a coisa né.. nunca usei como forma de migração assim, mas podemos ver o que acontece. Não sei se enquanto o dev está escrevendo o código, mudando os schemas e tal, se o sync não dá uma pirada.. mas vamos experimentar.
Algumas sugestões e duvidas:
throw
, pro dev ser informado que precisar do .env (pode até falar pra ele ler o readme)SENDGRID_API_KEY
no .env.sampleNo mais, ficou tudo bem legal! Abra um pull request para dev
quando puder.
Muito obrigado @thiagopuntar e @lopesboa pelo empenho! Mandaram muito bem!!
🎉🎉🎉
Então @TiagoGouvea, O SANDGRID_API_KEY
eu que estava a fazer o teste, eu vi algumas pessoas comentando a respeito de de cadastro e verificação por email com o Twilio SendGrid usando nodejs dei uma lida na doc é bem simples a implementação caso haver necessidade podemos usar, pra não correr o risco de ter usuários fantasmas.
Obrigado pelo feedback, e pela oportunidade.
Oi @TiagoGouvea , commitei a validação do .env com os requisitos obrigatórios. O 'use strict' não fui eu que incluí.
Estou abrindo a PR.
Abraços
Ok @lopesboa . Vou anotar isso ai para uma issue futura ok?
Por agora, vou fechar esta aqui porque tudo está funcionando
Objetivo
Esta issue é para deixar pronta a conexão com o banco de dados que todos usaram daqui em diante, bem como já implementar um modelo de exemplo, o de usuários, que também será consumido na issue de autenticação.
Conexão
Tabela de usuários
users
Rota de usuários
/api/users/
- Implementar na rota já existente http://localhost:3001/users a obtenção de todos os usuários do banco, retornando em json/api/users/{id}/
- Implementar rota para obter um único registro, caso não exista o registro retornar status404 - not found
/api/users/{id}/
- Implementar rota de POST para inclusão de usuário, retornando o usuário inserido/api/users/{id}/
- Implementar rota de PUT para alteração do usuário/api/users/{id}/
- Implementar rota de DEL para excluir o usuário👏👏👏👏
A partir daqui sabemos que temos uma conexão pronta, um
model
comschema
para servir de exemplo para as próximas tabelas.