feat(roles): add admin store roles page, permission i18n, and menu integration
Some checks failed
Some checks failed
- Add admin store roles page with merchant→store cascading for superadmin and store-only selection for platform admin - Add permission catalog API with translated labels/descriptions (en/fr/de/lb) - Add permission translations to all 15 module locale files (60 files total) - Add info icon tooltips for permission descriptions in role editor - Add store roles menu item and admin menu item in module definition - Fix store-selector.js URL construction bug when apiEndpoint has query params - Add admin store roles API (CRUD + platform scoping) - Add integration tests for admin store roles and permission catalog Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -121,6 +121,52 @@ async def update_merchant_endpoint(merchant_id: int, data: MerchantUpdate, db: S
|
||||
|
||||
**Status:** 📝 **ACCEPTED** - Inline styles OK for admin pages
|
||||
|
||||
### Category 6: Cross-Module Model Imports (HIGH Priority)
|
||||
|
||||
**Violation:** MOD-025 - Modules importing and querying models from other modules
|
||||
|
||||
**Date Added:** 2026-02-26
|
||||
|
||||
**Total Violations:** ~84 (services and route files, excluding tests and type-hints)
|
||||
|
||||
**Subcategories:**
|
||||
|
||||
| Cat | Description | Count | Priority |
|
||||
|-----|-------------|-------|----------|
|
||||
| 1 | Direct queries on another module's models | ~47 | URGENT |
|
||||
| 2 | Creating instances of another module's models | ~15 | URGENT |
|
||||
| 3 | Aggregation/count queries across module boundaries | ~11 | URGENT |
|
||||
| 4 | Join queries involving another module's models | ~4 | URGENT |
|
||||
| 5 | UserContext legacy import path (74 files) | 74 | URGENT |
|
||||
|
||||
**Top Violating Module Pairs:**
|
||||
- `billing → tenancy`: 31 violations
|
||||
- `loyalty → tenancy`: 23 violations
|
||||
- `marketplace → tenancy`: 18 violations
|
||||
- `core → tenancy`: 11 violations
|
||||
- `cms → tenancy`: 8 violations
|
||||
- `analytics → tenancy/catalog/orders`: 8 violations
|
||||
- `inventory → catalog`: 3 violations
|
||||
- `marketplace → catalog/orders`: 5 violations
|
||||
|
||||
**Resolution:** Migrate all cross-module model imports to service calls. See [Cross-Module Migration Plan](cross-module-migration-plan.md).
|
||||
|
||||
**Status:** :construction: **IN PROGRESS** - Migration plan created, executing per-module
|
||||
|
||||
### Category 7: Provider Pattern Gaps (MEDIUM Priority — Incremental)
|
||||
|
||||
**Violation:** Modules with data that should be exposed via providers but aren't
|
||||
|
||||
**Date Added:** 2026-02-26
|
||||
|
||||
| Provider | Implementing | Should Add |
|
||||
|----------|-------------|------------|
|
||||
| MetricsProvider | 8 modules | loyalty, payments, analytics |
|
||||
| WidgetProvider | 2 modules (marketplace, tenancy) | orders, billing, catalog, inventory, loyalty |
|
||||
| AuditProvider | 1 module (monitoring) | OK — single backend is the design |
|
||||
|
||||
**Status:** :memo: **PLANNED** - Will add incrementally as we work on each module
|
||||
|
||||
## Architecture Validation Philosophy
|
||||
|
||||
### What We Enforce Strictly:
|
||||
@@ -149,6 +195,9 @@ async def update_merchant_endpoint(merchant_id: int, data: MerchantUpdate, db: S
|
||||
| Service patterns | ~50 | Medium | 📝 Incremental |
|
||||
| Simple queries in endpoints | ~10 | Low | 📝 Case-by-case |
|
||||
| Template inline styles | ~110 | Low | ✅ Accepted |
|
||||
| **Cross-module model imports** | **~84** | **High** | **🔄 Migrating** |
|
||||
| **UserContext legacy path** | **74** | **High** | **🔄 Migrating** |
|
||||
| **Provider pattern gaps** | **~8** | **Medium** | **📝 Incremental** |
|
||||
|
||||
## Validation Command
|
||||
|
||||
@@ -164,7 +213,14 @@ python scripts/validate/validate_architecture.py
|
||||
- [x] Add comments to intentional violations
|
||||
|
||||
### Short Term (Next Sprint)
|
||||
- [ ] Move UserContext to tenancy.schemas, update 74 imports (Cat 5)
|
||||
- [ ] Add missing service methods to tenancy for cross-module consumers (Cat 1)
|
||||
- [ ] Migrate direct model queries to service calls (Cat 1-4)
|
||||
- [ ] Create Pydantic response models for top 10 endpoints
|
||||
|
||||
### Medium Term
|
||||
- [ ] Add widget providers to orders, billing, catalog, inventory, loyalty (P5)
|
||||
- [ ] Add metrics providers to loyalty, payments (P5)
|
||||
- [ ] Refactor 2-3 services to use dependency injection
|
||||
- [ ] Move complex queries to service layer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user