После ревью UX оказалось что 6 системных ролей — перебор. Перешли на схему «два системных + остальные шаблоны»: - Администратор (IsSystem=true) — RolePermissions.All(). - Кассир (IsSystem=true) — POS-only набор: ProductsView + StocksView + RetailSalesOperate. Без RetailSalesRefund (админ включит при необходимости). Это маркер для будущего POS-app — не имеет доступа к веб-админке. - Менеджер / Кладовщик / Закупщик / Бухгалтер — IsSystem=false (кастомные). Можно удалить если не нужны или подкрутить под себя. Сидер на чистой БД сразу создаёт роли в правильных статусах. Для существующих установок миграция Phase4b_RolesSimplify идемпотентно делает UPDATE: демоутит лишние и приводит permissions Кассира к правильному набору. Down() — no-op (юзер мог переименовать). На стенде sql применил вручную + записал в __EFMigrationsHistory. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Configurations | ||
| Migrations | ||
| AppDbContext.cs | ||
| DesignTimeAppDbContextFactory.cs | ||