Skip to content

[Bug] Manager API: /deliveries-active отдаёт полный toArray() включая properties #416

Description

@Ibochkarev

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

GET /api/mgr/deliveries-active предназначен как dropdown для форм заказа, но отдаёт $item->toArray() без фильтрации. В ответ уходят properties, class, validation_rules и прочие настройки интеграций доставки.

Маршрут без PermissionMiddleware (только Auth) — менеджер без mssetting_save читает секреты/конфиг доставок.

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

  1. Mgr без mssetting_save.
  2. GET connector route=/api/mgr/deliveries-active.
  3. В results[] есть полные поля модели, включая properties.

Ожидаемое поведение

Dropdown: id, name, price, active (+ минимум для UI). Без properties / внутренних настроек.

Фактическое поведение

// manager.php ~944-959
$collection = $modx->getIterator(msDelivery::class, ['active' => 1]);
foreach ($collection as $item) {
    $data = $item->toArray(); // полный ряд
    $results[] = $data;
}

Окружение

  • MiniShop3: beta / Manager REST
  • MODX: 3.x
  • PHP: 8.2+

Дополнительный контекст

Аналогично стоит проверить /statuses-dropdown (меньше риск — нет secrets в properties, но полный список статусов без msorder_list).

Metadata

Metadata

Assignees

Labels

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

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