refactor(manager): expose direct filter keys from backend#317
refactor(manager): expose direct filter keys from backend#317Ibochkarev wants to merge 1 commit into
Conversation
Keep manager grid filter serialization aligned with backend handlers so new direct filters do not require duplicated frontend constants.
c38e4d9 to
7e0c4cb
Compare
|
Спасибо, что взялся за #314 — подход правильный. PHPStan на 3 контроллерах чист, тест 🟢 Что хорошо
🟡 До мержа1. Inconsistent fallback в
|
Описание
Выносит список прямых ключей фильтров менеджерских гридов на backend и отдаёт его вместе с конфигом грида. Это убирает дублирование между Vue-гридами и PHP-контроллерами: frontend теперь решает, отправлять параметр как
keyилиfilter_key, на основеdirect_filter_keysиз/api/mgr/grid-config/{grid_key}.Для заказов дополнительно переиспользуется общий обработчик direct-фильтров в списке и статистике, а stats-запрос подключает
Addressпри адресных фильтрах, чтобыfilter_customer,filter_emailиfilter_phoneне ломали расчёт.Тип изменений
Связанные Issues
Closes #314
Как это было протестировано?
Конфигурация тестирования:
betaПроверки:
php -l core/components/minishop3/src/Controllers/Api/Manager/OrdersController.phpphp -l core/components/minishop3/src/Controllers/Api/Manager/CustomersController.phpphp -l core/components/minishop3/src/Controllers/Api/Manager/GridConfigController.phpphp -l core/components/minishop3/tests/DirectFilterKeysTest.phpphp core/components/minishop3/tests/DirectFilterKeysTest.phpnpx eslint src/components/OrdersGrid.vue src/components/CustomersGrid.vuegit diff --checkСкриншоты (если применимо)
Не применимо: изменение контракта API и сериализации фильтров без визуальных изменений.
Чеклист
Дополнительные заметки
Новые комментарии и лексиконы не требуются: сложная пользовательская логика и новые UI-строки не добавлялись. CHANGELOG не обновлялся, так как в проектных правилах записи добавляются при подготовке релиза.
PHPStan не запускался; для PHP выполнены синтаксическая проверка и статический regression-тест без MODX-окружения.