Opção de habilitar/desabilitar notificações por email #720
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Este PR adiciona a propriedade
notifications
ao objetouser
e que pode conter o valortrue
(padrão) oufalse
. Esta propriedade é usada para o usuário decidir receber ou não a notificação por email de respostas em suas publicações. Junto deste PR também foi atualizada a página/perfil
para o usuário conseguir controlar isso pelo client web.E por hora,
notifications
é uma propriedade privada, ou seja, não será retornada no endpoint público do usuário que fica em/api/v1/users/[username]
e só pode ser acessada pelo endpoint/api/v1/user
que requer autenticação.Em paralelo, eu fiquei aqui pensando em como já aproveitar essa migration para considerar planos futuros, por exemplo, outros tipos de notificação como
SMS
ouPush
, mas vi que virou uma otimização prematura e melhor deixar para quando o sistema final de notificação for construído, onde eu imagino que o controle disso não ficará no objetouser
e sim num outro objeto que conseguirá controlar a notificação de uma forma mais fragmentada, incluindo assinar por notificações de conteúdos de outras pessoas ou até qualquer tipo de publicação de qualquer outra pessoa.Esta opção já pode ser vista na página
/perfil
em Homologação, mas não poderá ser utilizada enquanto não rodarmos a migration que está nesse PR.