Vanovich
@Vanovich
Иван

Как правильно реализовать workflows в Laravel?

Здравствуйте, уважаемые.

Есть приложение, в котором для одной из моделей необходимо настроить поэтапную работу с экземплярами, где каждый из этапов выполняется пользователем, у которого есть на это право, а сам экземпляр находится в том состоянии, которое позволят выполнить данный этап.

Например, есть модель с постами в блоге. Если роль пользователя - "писатель", а статус поста - "новый", то пользователь получает доступ к шагу, где можно написать сам пост. После этого статус меняется на "на проверке" и уже пользователь с ролью админа должен внести правки в пост и опубликовать его, изменив тем самым статус на "готово". Пример упрощен, но суть одна.

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

Если вы склоняетесь ко второму варианту, то подскажите, как и где в контексте файловой структуры это лучше реализовать. Стоит ли держать всю эту логику в модели или лучше вынести в отдельное место?
Спасибо
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы