Не обязательно связано только с Laravel, но я работаю над сайтом, где пользователи могут зарегистрироваться и, если они хотят, они могут подписаться на платный план.
Если они не подписываются, онивсе еще можете перемещаться по сайту и видеть очень ограниченный контент (всего несколько параграфов каждой статьи).
Этот сайт имеет две модели: Пользователь и План.Первоначально идея состояла в том, чтобы позволить пользователям выбирать из нескольких планов, однако используется только один план: «Премиум».
Когда они подписываются на План, они остаются в этом плане, пока не изменят свое мнение и не будутвзимается каждый месяц.
У меня есть UserController со следующими методами: индексировать, создавать, хранить, показывать, редактировать, обновлять и UserPlanController с теми же методами.Когда пользователь решает отменить свою подписку на План, я просто вызываю UserPlanController :: update (), который в основном меняет статус с «активный» на «отменен».Они могут оставаться бесплатными пользователями или также могут отменить свою учетную запись (изменив статус пользователя с «активный» на «отмененный»).
Мне было предложено создать кнопку «Отмена» для бэк-офисаагенты, которые отменят подписку на платный план, а также аннулируют учетную запись пользователя (установите оба статуса на «отменено»), но оставляют возможность отмены только подписки.
Я думал просто создать новуюконтроллер и отмените обе функции, но я бы предпочел не дублировать код для выполнения этих двух действий, и у меня уже есть один контроллер для каждого ресурса, поэтому мне нужно создать третий контроллер для выполнения обоих действий?
Другой вариант, который я имею в виду, это просто сделать два ajax-запроса к обоим конечным точкам: Нажмите «Отмена» -> Ajax-запрос, чтобы отменить подписку -> Ajax-запрос, чтобы отменить учетную запись пользователя, но я не уверен, еслиэто просто «хакерский» обходной путь.
Любая помощь будет оценена,
Спасибо за объявлениеВанс