Size: a a a

AngularPiter - русскоговорящее сообщество

2020 June 09

АП

Александр Приходько ... in AngularPiter - русскоговорящее сообщество
Katerina
чтобы было предметнее:
код выглядит так

если домен юзера не совпадает с терубемым доменом, покажи попап “перелогиниться?”
и, соответвенно, в зависимости от выбора, кинуть юзера на логин или продолжить навигацию, чтобы он там увидел честное 404
Логика касающаяся авторизации - вполне себе задача гарда
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Александр Приходько 🚀
Логика касающаяся авторизации - вполне себе задача гарда
Но не ui)
источник

АП

Александр Приходько ... in AngularPiter - русскоговорящее сообщество
Так UI то в matDialog)
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
то есть надо писать в спортлото, чтобы убрали UI из сервиса matDialog?
источник

АK

Аleksandr Korotaev in AngularPiter - русскоговорящее сообщество
Danil
Но не ui)
Твои слова тепло отзываются в моем сердце
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Katerina
то есть надо писать в спортлото, чтобы убрали UI из сервиса matDialog?
Так речь же про гвард, а не сервис диалога
источник

D

Danil in AngularPiter - русскоговорящее сообщество
У меня на старой работе сервис динамически компоненты поднимал
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
Меня смущает риторика вида «он не должен» без аргументов. Если тут полный DRY, SRP и вообще весь код в одном классе длиной 50 строк, но гвард стучит в сервис, который стучит в UI, то так нельзя?
источник

AP

Andrey Podkovyrov in AngularPiter - русскоговорящее сообщество
вот так в гварде нельзя писать получается?

попытался напимать то, что Катя имеет ввиду. Или не это?)
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Слишком сложный вопрос, у нас юзеры в случае проблем с урлами безвольные и вынужденно редиректятся
источник

АП

Александр Приходько ... in AngularPiter - русскоговорящее сообщество
Danil
Но не ui)
Я бы даже сказал, вот тут пример субъективности и можно рассмотреть.
Можно сохранить какой-то флажок, а на рендере старницы его проверять в компоненте, а затем показыавть диалог.
Или дергать сервис, который дергает сервис с UI - не кажется, что это лишее? Не проще ли избавиться от посредника, в котором нет необходимости?
Или как предлагается это реализвать?
источник

АП

Александр Приходько ... in AngularPiter - русскоговорящее сообщество
Что первый, что второй громоздкий (первый так вообще сложно реализуем ибо результат еще нужно вернуть в гард)
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
Andrey Podkovyrov
вот так в гварде нельзя писать получается?

попытался напимать то, что Катя имеет ввиду. Или не это?)
именно это
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Александр Приходько 🚀
Я бы даже сказал, вот тут пример субъективности и можно рассмотреть.
Можно сохранить какой-то флажок, а на рендере старницы его проверять в компоненте, а затем показыавть диалог.
Или дергать сервис, который дергает сервис с UI - не кажется, что это лишее? Не проще ли избавиться от посредника, в котором нет необходимости?
Или как предлагается это реализвать?
С одной стороны звучит неплохо, с другой стороны может не совсем очевидно
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
и тебе на каждый новый роут надо будет добавлять условие на рендер этого компоннета во славу ”гард не ходит в UI”?
источник

АП

Александр Приходько ... in AngularPiter - русскоговорящее сообщество
Да, выглядит некомфортно, согласен. Поэтому и дискуссия тут такая)
Но это UI который нужен для принятия решения самому гарду. Нужен результат этого самого взаимодействия с ним, чтобы принять решенте в рамках своей ответственности. Полагаю, это задача именно гарда в этом случае.
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Katerina
и тебе на каждый новый роут надо будет добавлять условие на рендер этого компоннета во славу ”гард не ходит в UI”?
Везде есть плюсы и есть минусы, понятный и минимальный код вещи редко совместисые)

Голосуйте командой кто за какой вариант
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Тот и делайте
источник

K

Katerina in AngularPiter - русскоговорящее сообщество
в команде 2 человека, лол
источник

D

Danil in AngularPiter - русскоговорящее сообщество
Тогда минимальный наверное, вдвоем проще запомнить
источник