fix(api): не перезаписывать properties заказа данными адреса#192
fix(api): не перезаписывать properties заказа данными адреса#192Ibochkarev wants to merge 1 commit intomodx-pro:betafrom
Conversation
…o#191) OrdersController мержил toArray() адреса в данные заказа, из-за чего msOrderAddress.properties (null) затирал msOrder.properties в ответе GET /api/mgr/orders/{id} и связанных эндпоинтах.
|
Закрываю в пользу #195, где реализован минимальный фикс той же проблемы. Найденные проблемы в этом PR1. PR импортирует 2. Debug-блок на 30+ строк Блок с 3. Scope creep
Что взято в #195Ядро фикса корректное — выделен |
Описание
В
OrdersControllerданные заказа собирались через$order->toArray(), затем поверх мержились$address->toArray(). УmsOrderAddressесть полеproperties; при значенииnullоно перезаписывалоmsOrder.propertiesв ответе Manager API (GET /api/mgr/orders/{id}, draft/finalize).Добавлен метод
mergeAddressIntoOrderData(), который копирует поля адреса в payload заказа, исключая конфликтующие ключи:id,order_id,createdon,updatedon,properties.Тип изменений
Связанные Issues
Closes #191
Как это было протестировано?
ms3_orders.properties, у адресаproperties= null — в ответе APIobject.propertiesсовпадает с заказом)Конфигурация тестирования:
php -lнаOrdersController.php— без ошибокСкриншоты (если применимо)
Чеклист
Дополнительные заметки
Запись в
CHANGELOG.mdв секции 1.8.0-beta1 → Исправлено.