Описание проблемы
OrdersController::update возвращает $order->toArray(), тогда как get / create / finalize идут через formatOrder / buildOrderPayloadFromModel.
В ответе update: сырой token заказа (и прочие внутренние поля), нет address-merge / formatted cost — клиент ломается при reuse shape GET.
Шаги воспроизведения
GET /api/mgr/orders/{id} — запомнить shape.
PUT /api/mgr/orders/{id} с частичным телом.
- Сравнить ответ: raw model +
token, без formatOrder.
Ожидаемое поведение
Тот же payload, что у GET (formatOrder), без секретных полей.
Фактическое поведение
// OrdersController.php ~975
return Response::success($order->toArray(), 'Order updated successfully')->getData();
Окружение
- MiniShop3: beta / Manager REST
- MODX: 3.x
- PHP: 8.2+
Дополнительный контекст
Write под msorder_list — уже #377. Здесь отдельный correctness/leak shape ответа.
Описание проблемы
OrdersController::updateвозвращает$order->toArray(), тогда какget/ create / finalize идут черезformatOrder/buildOrderPayloadFromModel.В ответе update: сырой
tokenзаказа (и прочие внутренние поля), нет address-merge / formatted cost — клиент ломается при reuse shape GET.Шаги воспроизведения
GET /api/mgr/orders/{id}— запомнить shape.PUT /api/mgr/orders/{id}с частичным телом.token, без formatOrder.Ожидаемое поведение
Тот же payload, что у GET (formatOrder), без секретных полей.
Фактическое поведение
Окружение
Дополнительный контекст
Write под
msorder_list— уже #377. Здесь отдельный correctness/leak shape ответа.