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>
This commit is contained in:
22
app/modules/billing/__init__.py
Normal file
22
app/modules/billing/__init__.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# 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"]
|
||||
Reference in New Issue
Block a user