Skip to content

feat(settings): consolidate dual API combo lists, drop member processors - #490

Open
Ibochkarev wants to merge 2 commits into
betafrom
feat/issue-346-settings-dual-api-rest
Open

feat(settings): consolidate dual API combo lists, drop member processors#490
Ibochkarev wants to merge 2 commits into
betafrom
feat/issue-346-settings-dual-api-rest

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

Сводим дублирующую поверхность Settings: ExtJS combo GetList (Delivery/Payment/Vendor) и Manager REST dropdowns читают один SettingsComboListService. Удалены неиспользуемые processors членства Delivery↔Payment (Enable/Disable/GetList/Multiple) с @TODO: hardcode — Vue уже ходит в REST membership.

Добавлен GET /api/mgr/payments-active (whitelist полей как у deliveries-active). Vendors в ReferencesController тоже через сервис.

Тип изменений

  • Новая функциональность (non-breaking change)
  • Рефакторинг (без изменения функциональности)
  • Исправление бага (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Документация
  • Другое (опишите):

Связанные Issues

Closes #346

Как это было протестировано?

php -l core/components/minishop3/src/Services/Settings/SettingsComboListService.php
# …и остальные затронутые PHP — exit 0

cd core/components/minishop3 && composer test:smoke
# OK smoke tests (27), включая SettingsDualApiConsolidationTest, PaymentsActiveDropdownFieldsTest
  • Ручное тестирование
  • Автоматические тесты (composer test:smoke)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: ветка feat/issue-346-settings-dual-api-rest
  • MODX: n/a (smoke без полной установки)
  • PHP: 8.2+

Скриншоты (если применимо)

До После
n/a n/a

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en) — не требовались
  • PHPStan проходит без новых ошибок (composer stan / CI job PHPStan) — baseline очищен от удалённых Disable; полный stan в CI
  • ESLint проходит без ошибок (npm run lint:ci для Vue) — Vue не трогали
  • Обновлён CHANGELOG.md (для значимых изменений) — по политике репо при релизе

Дополнительные заметки

Что сделано по AC #346

  1. Duplicate Disable / hardcode TODO закрыты (8 файлов membership processors удалены).
  2. Combos Delivery/Payment/Vendor при combo=true и REST active/vendors — через ms3_settings_combo_list.
  3. Чеклист оставшихся Settings processors ниже.

Чеклист оставшихся Settings processors (не в этом PR)

Область Processors Потребитель Follow-up
Delivery / Payment / Vendor / Status / Link CRUD Get/Create/Update/Remove + entity Enable/Disable ExtJS grids / legacy отдельная миграция UI
Status / Link GetList (+ combo) ExtJS combo вынести в SettingsComboListService по тому же паттерну
Option* часть actions в ms3.combo.js legacy ExtJS Options уже на Vue REST; мёртвые actions — cleanup
gallery / import connector processors сознательно dual #341 envelope
Categories / Links UI product debt #113, #114

Вне scope: Status/Link combos, entity Enable/Disable CRUD, gallery/import, смена URL ExtJS combo на REST (adapter через GetList достаточен для «один canonical list»).

Review

  • code-reviewer: PASS (нет BLOCK/HIGH)
  • thermo-nuclear: правки по whitelist payments-active и resolvePinnedIncludeId
  • code-simplifier: упрощён публичный API сервиса

…cessors

Share SettingsComboListService between ExtJS combo GetList and Manager REST
dropdowns; remove unused Delivery↔Payment membership processors that duplicated
Vue REST with hardcoded TODOs.
@Ibochkarev Ibochkarev added priority: medium Средний приоритет enhancement New feature or request tech-debt Maintainability / refactor / architecture debt labels Jul 30, 2026
@Ibochkarev
Ibochkarev requested a review from biz87 July 30, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: medium Средний приоритет tech-debt Maintainability / refactor / architecture debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Свести dual API: Settings processors → Manager REST (убрать копипасту Disable)

1 participant