tpp
tpp copied to clipboard
[Banco de dados] Distinguir entre utilizadores admin e normais ao aplicar changesets
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.