MaxRyazan, Спасибо, теперь мне стало немного яснее как все приблизительно работает на фронте. Нет ли у вас ссылки на мастеркласс или репозиторий из цикла лучших практик, где можно было бы углубиться в изучение вопроса аутинтификации и авторизации пользователя на основе прав и ролей для vue 3, чтобы применить все это на практике?
MaxRyazan, enum с ролями понял, ролей может быть несколько. А как быть с правами, прав может быть очень много на каждую роль и сущность? Их также хранить в enum?
Вопрос по варианту 2. Скажите, пожалуйста, помимо getCurrentUser, я так понимаю, необходимо также получать из бека список всех ролей и прав пользователя, чтобы использовать для проверок и сопоставления с правами и ролями полученными у сurrentUser?
Допустим, это некая crm для пользователей с разными ролями и правами для доступа к разным роутам и функциям. Как правильно, именно правильно на сегодняшний день, типа бест практикс, будет реализовать передачу ролей и прав с бека на фронт?
Как сделать файлы доступными (public) из бакита я знаю (для этого я использую policy). Но вопрос был в том, почему не работает метод setVisibility($fileName, 'public') - файл публичным не становится если только его вручную не открыть через policy.
JhaoDa, ясно, что-то буду думать над механизмом. Правильно ли я понимаю алгоритм Bus::batch. Я передаю в Bus::batch([...]) массив со списком jobs пользователя и все это улетает в очередь. Если с какой-то джобой из этого массива пошло что-то не так, то в ->catch(function (Batch $batch, Throwable $e) это можно поймать и обработать?
Я однажды пользовался сервисом для анализа текста. Создал задание и нажал на кнопку анализировать. В результате на экране появилось сообщение, что я стою 10 в очереди на анализ текста. Вот я пытаюсь понять как такое организовать при этом пользователь должен стоять в очереди со своими заданиями.
Просто если у пользователя много заданий то он буде долго ждать пока они выполнятся. А если в этот момент в очередь еще влезут другие пользователи со своими заданиями, то время ожидания до конца выполнения всех заданий может растянуться.
Антон Неверов, Спасибо. Я знаком с этим ресурсом и некоторыми известными паттернами, но еще не научился мыслить через призму паттернов в контексте решения задач.
Сергей delphinpro, а если запустить все парсеры? Например, добавляем объекты всех парсеров в массив и проходим по массиву этих объектов форичем и на каждой итерации отправляем $parser->parse(); в очередь где задача будет запущена в фоновом режиме. Такой подход будет корректным?