Files
orion/app/modules/inventory/locales/en.json
Samir Boulahtit d7a0ff8818 refactor: complete module-driven architecture migration
This commit completes the migration to a fully module-driven architecture:

## Models Migration
- Moved all domain models from models/database/ to their respective modules:
  - tenancy: User, Admin, Vendor, Company, Platform, VendorDomain, etc.
  - cms: MediaFile, VendorTheme
  - messaging: Email, VendorEmailSettings, VendorEmailTemplate
  - core: AdminMenuConfig
- models/database/ now only contains Base and TimestampMixin (infrastructure)

## Schemas Migration
- Moved all domain schemas from models/schema/ to their respective modules:
  - tenancy: company, vendor, admin, team, vendor_domain
  - cms: media, image, vendor_theme
  - messaging: email
- models/schema/ now only contains base.py and auth.py (infrastructure)

## Routes Migration
- Moved admin routes from app/api/v1/admin/ to modules:
  - menu_config.py -> core module
  - modules.py -> tenancy module
  - module_config.py -> tenancy module
- app/api/v1/admin/ now only aggregates auto-discovered module routes

## Menu System
- Implemented module-driven menu system with MenuDiscoveryService
- Extended FrontendType enum: PLATFORM, ADMIN, VENDOR, STOREFRONT
- Added MenuItemDefinition and MenuSectionDefinition dataclasses
- Each module now defines its own menu items in definition.py
- MenuService integrates with MenuDiscoveryService for template rendering

## Documentation
- Updated docs/architecture/models-structure.md
- Updated docs/architecture/menu-management.md
- Updated architecture validation rules for new exceptions

## Architecture Validation
- Updated MOD-019 rule to allow base.py in models/schema/
- Created core module exceptions.py and schemas/ directory
- All validation errors resolved (only warnings remain)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 21:02:56 +01:00

32 lines
1.3 KiB
JSON

{
"inventory": {
"title": "Inventory",
"stock_level": "Stock Level",
"quantity": "Quantity",
"reorder_point": "Reorder Point",
"adjust_stock": "Adjust Stock",
"stock_in": "Stock In",
"stock_out": "Stock Out",
"transfer": "Transfer",
"history": "History",
"low_stock_alert": "Low Stock Alert",
"out_of_stock_alert": "Out of Stock Alert"
},
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_vendor_and_file": "Please select a vendor and file",
"import_completed_with_errors": "Import completed with errors",
"failed_to_adjust_stock": "Failed to adjust stock.",
"failed_to_set_quantity": "Failed to set quantity.",
"failed_to_delete_entry": "Failed to delete entry.",
"import_success": "Imported {quantity} units ({created} new, {updated} updated)",
"import_completed": "Import completed: {created} created, {updated} updated, {errors} errors",
"import_failed": "Import failed",
"bulk_adjust_success": "{count} item(s) adjusted by {amount}",
"failed_to_adjust_inventory": "Failed to adjust inventory",
"exported_items": "Exported {count} item(s)"
}
}