Когда и в каком месте создавать роли для пользователей Laravel?

Есть проект на Laravel, в котором роли пользователей админ, менеджер, студент, автор. Сейчас это все, но в будущем будут добавляться. Для ролей использую spatie/permissions На данный момент они по дефолту создаются консольной командой

php artisan permission:create-roles
php artisan permission:create-permission-routes
php artisan permission:create-default-rules (связь роли и разрешений)

При создании пользователя происходит $user->assignRole(Role::STUDENT_ROLE);

Не нравится, что роли нужно создавать командой, и если будет ситуация что роли студента нет тогда будет ошибка, ну и тестирование усложняет. Как лучше спроектировать эту логику создания ролей, и где можно проверять есть ли такая роль и потом ее назначать. Просто кажется что в UserController неправильно проверять существование роли.

С ларавель мало опыта особенно создания с нуля, поэтому сложно понять что куда, заранее спасибо за помощь. Интересует не самый простой вариант, а самый правильный с точки зрения проектирования приложений


Ответы (0 шт):