Описание проблемы
GET /api/mgr/deliveries-active предназначен как dropdown для форм заказа, но отдаёт $item->toArray() без фильтрации. В ответ уходят properties, class, validation_rules и прочие настройки интеграций доставки.
Маршрут без PermissionMiddleware (только Auth) — менеджер без mssetting_save читает секреты/конфиг доставок.
Шаги воспроизведения
- Mgr без
mssetting_save.
GET connector route=/api/mgr/deliveries-active.
- В
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).
Описание проблемы
GET /api/mgr/deliveries-activeпредназначен как dropdown для форм заказа, но отдаёт$item->toArray()без фильтрации. В ответ уходятproperties, class, validation_rules и прочие настройки интеграций доставки.Маршрут без
PermissionMiddleware(только Auth) — менеджер безmssetting_saveчитает секреты/конфиг доставок.Шаги воспроизведения
mssetting_save.GETconnectorroute=/api/mgr/deliveries-active.results[]есть полные поля модели, включаяproperties.Ожидаемое поведение
Dropdown: id, name, price, active (+ минимум для UI). Без
properties/ внутренних настроек.Фактическое поведение
Окружение
Дополнительный контекст
Аналогично стоит проверить
/statuses-dropdown(меньше риск — нет secrets в properties, но полный список статусов безmsorder_list).