Files
orion/app/modules/billing/__init__.py
Samir Boulahtit c614b7d74c feat: extract billing module with routes (Phase 3)
Create app/modules/billing/ directory structure with:
- definition.py: Module definition with features and menu items
- routes/admin.py: Admin billing routes with module access control
- routes/vendor.py: Vendor billing routes with module access control

Key changes:
- Billing module uses require_module_access("billing") dependency
- Admin router now includes billing module router instead of legacy
- Module registry imports billing_module from extracted location
- Routes have identical functionality but are now module-gated

Module structure pattern for future extractions:
  app/modules/{module}/
  ├── __init__.py
  ├── definition.py (ModuleDefinition + router getters)
  └── routes/
      ├── __init__.py
      ├── admin.py (require_module_access dependency)
      └── vendor.py (require_module_access dependency)

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

23 lines
502 B
Python

# app/modules/billing/__init__.py
"""
Billing Module - Subscription and payment management.
This module provides:
- Subscription tier management
- Vendor subscription CRUD
- Billing history and invoices
- Stripe integration
Routes:
- Admin: /api/v1/admin/subscriptions/*
- Vendor: /api/v1/vendor/billing/*
Menu Items:
- Admin: subscription-tiers, subscriptions, billing-history
- Vendor: billing, invoices
"""
from app.modules.billing.definition import billing_module
__all__ = ["billing_module"]