Поиск или прочие операции по пропуску не могут происходить по сценарию.то есть вы нигде не проверяете закончился ли пропуск, не получаете аналитику какого уровня подписки самые распространенные или приносят больше денег, и т.д.? Если нет - можно хранить, если да - выносить в отдельную таблицу и связывать с пользователем по айди.
"Насколько меня будут осуждать коллеги за то, что я использовал JSON в реляционной базе данных?".Если он используется в контексте "текстовое поле, используемое больше как справочное или какие-то мелкие настройки" то и ок. Если это попытка заменить стандартные механизмы реляционности - будут скорее всего больно бить.
Убрать гиф не вариант, в других форматах будет очень большой вес, заранее спасибо!https://web.dev/replace-gifs-with-videos/ заранее пожалуйста.
18 if'ов подряд - это аккуратное решение?В чем беда? В том что вы слышали что много ифов в общем случае плохо? Да, это малоприемлемо для объектного стиля, но для хелперов вполне нормально. Возможно вы привыкли что писать код это только "взял библиотеку, вызвал метод, передал параметры, готово", но в общем случае это не так. Берем тот же карбон, открываем сырцы и видим кроме длиннющих свитчкейсов еще десяток висячих садов из иф елсиф... Тоже выкинуть? Или зарефакторить и разбить на методы?