fix: политика miniShopManagerPolicy и ACL полей заказа - #614
Conversation
|
Этот PR включён в тестовую интеграционную сборку всех открытых PR MiniShop3: AgelxNash/MiniShop3, ветка Сборка нужна, чтобы проверить совместимость взаимозависимых серий PR до их мержа — при последовательном слиянии они конфликтуют друг с другом. Это не ревью и не конкурирующий PR: авторство сохранено (1 PR = 1 коммит с исходным автором), ветка пересобирается по мере обновления PR. Как вошёл в сборку: Слился чисто. |
|
Отличная работа! Желаю этому PR быстрого мержа и ни одного конфликта 🙌 |
|
Спасибо за фикс orphan-политики — эта часть сделана правильно, проверил по коду. Упаковка Локально на ветке с домердженной актуальной Но есть блокирующая вещь. Чтение
|
Package the default manager policy under its template, repair missing policies on install/upgrade, and allow authenticated mgr reads on model-fields/extra-fields without mssetting_save while keeping writes gated. Closes #613
combo-options and visible execute combo sources (customer PII), so they require AnyPermissionMiddleware instead of mgr-auth alone. Add router ACL smoke coverage and clarify the policy resolver data comment.
d9e57b1 to
e90f852
Compare
|
Адрес ревью: combo-options / PII
Дополнительно то же самое для Тесты
МелочьКомментарий в Rebase на актуальную |
Описание
Исправляет #613:
miniShopManagerPolicyупаковывается как related object шаблонаminiShopManagerPolicyTemplate(как в miniShop2). На install/upgrade resolverresolver_09_policies.phpсоздаёт политику, если её нет, и привязывает orphan к шаблону без перезаписи существующихdata.msorder_save, но безmssetting_save: GET/model-fieldsи/extra-fieldsдоступны любому аутентифицированному mgr (как read/config), мутации схемы по-прежнему требуютmssetting_save.Тип изменений
Связанные Issues
Closes #613
Как это было протестировано?
composer ci:php/composer test,npm run lint:ci,composer stan/ GitHub Actions CI)Конфигурация тестирования:
Скриншоты (если применимо)
mssetting_savemsorder_save; настройки схемы — по-прежнему только сmssetting_saveЧеклист
composer stan/ CI jobPHPStan)npm run lint:ciдля Vue) — Vue не менялсяДополнительные заметки
Review (Gate F):
code-reviewer(gpt-5.6-sol-medium) — BLOCK/HIGH нет;security-review— write ACL без замечаний, условный medium по PII в customer combo через read/model-fields/combo-options(pre-existing data path, вынесено за scope #613).Deferred: рефактор packaging (
policies()no-op) и Router-based ACL-тесты вместо source parser — отдельный PR по желанию maintainers.