Есть приложение, в котором для одной из моделей необходимо настроить поэтапную работу с экземплярами, где каждый из этапов выполняется пользователем, у которого есть на это право, а сам экземпляр находится в том состоянии, которое позволят выполнить данный этап.
Например, есть модель с постами в блоге. Если роль пользователя - "писатель", а статус поста - "новый", то пользователь получает доступ к шагу, где можно написать сам пост. После этого статус меняется на "на проверке" и уже пользователь с ролью админа должен внести правки в пост и опубликовать его, изменив тем самым статус на "готово". Пример упрощен, но суть одна.
В Symfony для этого есть готовое одноименное решение и есть перенос этого решения в Laravel. Но мне при изучении стало понятно, что в случае с моим приложением большинство функционала библиотеки попросту не будет использоваться. И тут рождается дилемма - использовать библиотеку, чтобы не изобретать велосипед или реализовать самому. По факту нужна только проверка возможности начать рабочий процесс на каждом из этапом и пошаговая работа с данными.
Если вы склоняетесь ко второму варианту, то подскажите, как и где в контексте файловой структуры это лучше реализовать. Стоит ли держать всю эту логику в модели или лучше вынести в отдельное место?
Спасибо