enum, в котором перечислены все существующие права сайта, и элементы которого будут добавляться в таблицу Permission при первом запуске. Затем добавить таблицу Role и связать её с пользователями и правами. И создать Depends функцию, которой будут передаваться нужные элементы перечисления прав для каждого endpoint-а, чтобы это всё выглядело как-то так?
router.post('/items', dependencies=[Depends(permissions(perm.CREATE_ITEMS, perm.UPDATE_ITEMS))])
решение выглядит правильно как по мне, похожее обсуждение здесь https://t.me/fastapi_ru/21272 там же в чате можно уточнить
Обсуждают сегодня