У меня есть две модели, а именно: пользователь и группа. Они связаны друг с другом отношениями MANY:MANY
.
Теперь у меня есть поле ролей в модели пользователя с enum: ['admin', 'user', 'group-member', 'group-admin']
и default: 'user'
.
Мое использование В случае, если пользователь может быть администратором многих групп и членами других. Очевидно, что у пользователя нет ни одной роли.
Если я преобразую поле роли в массив ролей, как мне отслеживать, какие группы он является администратором, и к каким группам он принадлежит?
Поэтому я смоделировал Группы, чтобы иметь поле администратора (так как группа может иметь одного администратора) и массив членов (дочерний ref для Users). Это работает, но какова должна быть роль пользователя в модели User?
Как запросить элементы управления доступом с этой обновленной схемой, поскольку я не могу ограничить маршруты, такие как удаление группа или добавление новых участников в группу только для этого администратора группы?
Надеюсь, мой вопрос и схема понятны, поэтому я пропустил добавление примера кода здесь.