Skip to content

fix(mgr): убрать double envelope у import/gallery#437

Open
Ibochkarev wants to merge 1 commit into
betafrom
fix/issue-419-import-gallery-double-envelope
Open

fix(mgr): убрать double envelope у import/gallery#437
Ibochkarev wants to merge 1 commit into
betafrom
fix/issue-419-import-gallery-double-envelope

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

Роуты /api/mgr/import/* и /api/mgr/utilities/gallery/update отдавали сырой modProcessorResponse::getResponse() ({success,message,object}). Processors\Api\Index кладёт в connector object значение $responseData['data'] ?? $responseData, ключа data нет — получается object.object.scheduled вместо object.scheduled.

Маршруты переведены на Response::fromProcessor() (тот же паттерн, что login/register в web.php): success → data = processor object; error → message + HTTP 400, payload object в errors.

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

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

Связанные Issues

Closes #419

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

cd core/components/minishop3
composer ci:php   # exit 0
phpcs --standard=PSR12 src/Router/Response.php tests/ImportGalleryConnectorEnvelopeTest.php  # exit 0
# red-green: подмена fromProcessor → getResponse() в manager.php валит ImportGalleryConnectorEnvelopeTest (exit 1); после отката exit 0

Vue не трогали: request.js уже возвращает connector object; после фикса там снова лежат scheduled / import_id / gallery counters.

  • Ручное тестирование
  • Автоматические тесты (composer ci:php, npm run lint:ci / GitHub Actions CI)
  • Тестирование на разных версиях PHP/MODX

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

  • MiniShop3: ветка fix/issue-419-import-gallery-double-envelope
  • MODX: n/a (smoke без MODX)
  • PHP: 8.2+

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

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

Чеклист

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

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

@Ibochkarev Ibochkarev added priority: high Важно исправить в ближайшее время bug Something isn't working labels Jul 23, 2026
@Ibochkarev
Ibochkarev requested a review from biz87 July 23, 2026 16:47
Raw getResponse() made Index nest {success,message,object} under
connector object again. Wrap via Response::fromProcessor so Vue sees
scheduled/import_id at the top level of object.
@Ibochkarev
Ibochkarev force-pushed the fix/issue-419-import-gallery-double-envelope branch from 36ed7d8 to 681ce97 Compare July 24, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: high Важно исправить в ближайшее время

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Manager API: import/gallery возвращают raw processor → double envelope в connector

1 participant