Skip to content

fix(api): не перезаписывать properties заказа данными адреса#195

Merged
biz87 merged 2 commits intobetafrom
fix/191-order-properties-overwrite
Apr 12, 2026
Merged

fix(api): не перезаписывать properties заказа данными адреса#195
biz87 merged 2 commits intobetafrom
fix/191-order-properties-overwrite

Conversation

@biz87
Copy link
Copy Markdown
Member

@biz87 biz87 commented Apr 12, 2026

Summary

  • array_merge($order->toArray(), $address->toArray()) перезаписывал msOrder.properties значением null из msOrderAddress.properties
  • Выделен mergeAddressIntoOrderData() с исключением конфликтующих полей (id, order_id, createdon, updatedon, properties)
  • Заменены все array_merge на новый метод в get(), create(), finalize()
  • В get() заменён getObject(msOrderAddress, ...) на getOne('Address')

Closes #191

Test plan

  • Создать заказ с заполненным ms3_orders.properties (например, через доставку с доп. данными)
  • Убедиться что msOrderAddress.properties = null
  • Вызвать GET /api/mgr/orders/{id}properties должен содержать данные заказа, а не null
  • Проверить создание черновика заказа через manager UI
  • Проверить финализацию заказа — properties сохраняется в ответе

…properties (#191)

array_merge($order->toArray(), $address->toArray()) caused the address
properties (often null) to overwrite order properties in the API response.
Extract mergeAddressIntoOrderData() that excludes conflicting fields
(id, order_id, createdon, updatedon, properties) and use it in get(),
create() and finalize() endpoints.
- Remove unrelated #174 entries from CHANGELOG (blocker)
- Add PHPDoc note explaining why extra fields are loaded separately
  in get() but not in create()/finalize()
@biz87 biz87 merged commit 916d27f into beta Apr 12, 2026
@Ibochkarev Ibochkarev deleted the fix/191-order-properties-overwrite branch April 13, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] /api/mgr/orders/{id} overwrites msOrder.properties with msOrderAddress.properties

2 participants