tabnews.com.br
tabnews.com.br copied to clipboard
Parar de calcular TabCoins e TabCash na hora de injetar a sessão (e outros lugares)
Contexto
Todo endpoint que injeta a sessão do usuário puxa do banco para a memória da aplicação o objeto inteiro do usuário, e isto inclui calcular as tabcoins
e tabcash
deste usuário, mesmo que isto não seja usado. Na verdade, na menor parte das vezes que um usuário é requisitado do banco nós usamos as propriedades tabcoins
e tabcash
, então vou sugerir algo interessante na Execução:
Execução
Em primeiro lugar, ao injetar uma sessão, o usuário inteiro é puxado aqui:
https://github.com/filipedeschamps/tabnews.com.br/blob/0bbb0f655dc88847fa741001a83d3f3297bf01a1/models/authentication.js#L41
Sendo que a única coisa que usamos, nesse caso, é a propriedade features
logo abaixo no authorization
.
Então minha sugestão é nunca retornar as tabcoins
e tabcash
nos métodos de busca do user
, a não ser que isso seja explicitamente requisitado.
Os métodos de user
que sugiro mexer por enquanto
findOneByUsername
https://github.com/filipedeschamps/tabnews.com.br/blob/0bbb0f655dc88847fa741001a83d3f3297bf01a1/models/user.js#L28
findOneByEmail
https://github.com/filipedeschamps/tabnews.com.br/blob/0bbb0f655dc88847fa741001a83d3f3297bf01a1/models/user.js#L66
findOneById
https://github.com/filipedeschamps/tabnews.com.br/blob/0bbb0f655dc88847fa741001a83d3f3297bf01a1/models/user.js#L105
Outros métodos
Destaco estes 3 ali de cima, pois tem outros, mas não acho que seja importante mexer nisso agora:
removeFeatures
https://github.com/filipedeschamps/tabnews.com.br/blob/0bbb0f655dc88847fa741001a83d3f3297bf01a1/models/user.js#L505
addFeatures
https://github.com/filipedeschamps/tabnews.com.br/blob/0bbb0f655dc88847fa741001a83d3f3297bf01a1/models/user.js#L566
Tem alguem fazendo isso ou posso pegar?
Tem alguem fazendo isso ou posso pegar?
Oi @gSarciotto, mesmo se já tiver alguém implementando, nada impede de você também fazer. 👍
Quando temos PRs parecidos abertos, podemos comparar as soluções e até mesmo aproveitar parcialmente cada uma, se for necessário.
Atividade concluída nos PRs #1396 e #1439