tpportugal / tpp

Repositório central para organização total (Issues, README's, LICENSE's, etc)
https://www.tpp.pt/
MIT License
92 stars 13 forks source link

[Banco de dados] Distinguir entre utilizadores admin e normais ao aplicar changesets #48

Open glaand opened 6 years ago

glaand commented 6 years ago

Distinguir entre utilizadores admin e normais ao aplicar changesets. Permitir que não utilizadores e utilizadores normais criem changesets, apenas permitir a admins aplicá-los.

Ao correr a seguinte função https://github.com/tpportugal/tpp_banco_de_dados/blob/ff3d4074fdf5d1ec8852596c83b3a41731b13d2c/app/controllers/api/v1/changesets_controller.rb#L84-L87 verificar se o utilizador é admin, se não for, responder com 401 Unauthorized.

Necessitará que seja modificado o pedido à API vindo do https://github.com/tpportugal/tpp_expedidor para incluir o ID do utilizador que está a enviar o pedido para aplicar o changeset, não confundir com o ID do utilizador que criou o changeset, que já está a ser enviado, e verificar se a auth token lhe pertence, e só então autorizar. Ou talvez mais simplificado, não enviar o ID no pedido, apenas verificar no banco de dados se a Token pertence a um admin.