Ролевая модель cards
Ролевая модель применяется только в API, в GUI её нет. Сделана через заголовки. Если они не указаны (и есть только токен авторизации), то всё работает как будто и нет никаких ограничений.
1. user-id
Если указать заголовок user-id и идентификатор юзера существующего, то он может видеть и редактировать только своё:
Только себя видит в getAllUsers и getUser (getUser по другому юзеру дает «У вас нет прав на просмотр этого пользователя)
Аналогично в getAllCardOfUser и остальных гетах
addUser, addUserWithCards — недоступны
DeleteUser — только себя может удалить
addCard и прочие манипуляцие с картой — только со своими (где его user_id)
2. Роли
Заголовок role, значения:
card_viewer — может просматривать данные по карточкам, менять не может
user_viewer — может просматривать данные по юзерам (карты не видит), менять не может
viewer — может просматривать все данные, менять не может
card_editor — может смотреть и менять данные по карточкам (создавать может, удалять нет), пользователей видит, менять не может
editor — видит и редактирует всё, только удалять не может
remover — может удалять, больше ничего не может
Роли можно указать через запятую и/или пробел:
user_viewer,card_viewer
user_viewer, card_viewer
user_viewer card_viewe
И они применятся “и та, и другая”. Если не указывать, то можем вообще все.
Если вместе с user-id, то накладываются еще и ограничения по user-id.