feat(arch): add API-007 rule to enforce layered architecture
Add architecture rule that detects when API routes import database models directly, enforcing Routes → Services → Models pattern. Changes: - Add API-007 rule to .architecture-rules/api.yaml - Add _check_no_model_imports() validation to validator script - Update customer imports to use canonical module location - Add storefront module restructure implementation plan The validator now detects 81 violations across 67 API files where database models are imported directly instead of going through services. This is Phase 1 of the storefront restructure plan. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ import pytest
|
||||
|
||||
from app.exceptions.customer import CustomerNotFoundException
|
||||
from app.services.admin_customer_service import AdminCustomerService
|
||||
from models.database.customer import Customer
|
||||
from app.modules.customers.models.customer import Customer
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
||||
@@ -7,7 +7,7 @@ import pytest
|
||||
|
||||
from app.exceptions import AddressLimitExceededException, AddressNotFoundException
|
||||
from app.services.customer_address_service import CustomerAddressService
|
||||
from models.database.customer import CustomerAddress
|
||||
from app.modules.customers.models.customer import CustomerAddress
|
||||
from models.schema.customer import CustomerAddressCreate, CustomerAddressUpdate
|
||||
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ from app.services.order_service import (
|
||||
OrderService,
|
||||
order_service,
|
||||
)
|
||||
from models.database.customer import Customer
|
||||
from app.modules.customers.models.customer import Customer
|
||||
from models.database.order import Order, OrderItem
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user