Skip to content

[Bug] Manager API: PUT /orders/{id} отдаёт raw toArray() (token/shape ≠ GET) #421

Description

@Ibochkarev

Описание проблемы

OrdersController::update возвращает $order->toArray(), тогда как get / create / finalize идут через formatOrder / buildOrderPayloadFromModel.

В ответе update: сырой token заказа (и прочие внутренние поля), нет address-merge / formatted cost — клиент ломается при reuse shape GET.

Шаги воспроизведения

  1. GET /api/mgr/orders/{id} — запомнить shape.
  2. PUT /api/mgr/orders/{id} с частичным телом.
  3. Сравнить ответ: 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 ответа.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpriority: mediumСредний приоритет

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions