refactor: remove legacy models/schema/auth.py re-export file
Some checks failed
Some checks failed
All 84 import sites now use the canonical path app.modules.tenancy.schemas.auth directly — no need for backwards-compatibility re-exports. Update audit validator to check module schemas locations instead of only the legacy models/schema/ path. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -23,7 +23,6 @@ Import schemas from their canonical module locations instead of this package.
|
||||
|
||||
# Infrastructure schemas that remain here
|
||||
from . import (
|
||||
auth,
|
||||
base,
|
||||
)
|
||||
|
||||
@@ -32,5 +31,4 @@ from .base import * # Base Pydantic models
|
||||
|
||||
__all__ = [
|
||||
"base",
|
||||
"auth",
|
||||
]
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
# models/schema/auth.py
|
||||
"""
|
||||
LEGACY LOCATION — re-exports from canonical location.
|
||||
|
||||
All auth schemas have been moved to app/modules/tenancy/schemas/auth.py
|
||||
per MOD-019 (schemas belong in their module).
|
||||
|
||||
This file provides backwards compatibility re-exports.
|
||||
New code should import from: app.modules.tenancy.schemas.auth
|
||||
|
||||
Schemas use Pydantic Field and field_validator for input validation.
|
||||
"""
|
||||
|
||||
from app.modules.tenancy.schemas.auth import ( # noqa: F401
|
||||
LoginResponse,
|
||||
LogoutResponse,
|
||||
OwnedMerchantSummary,
|
||||
PasswordResetRequestResponse,
|
||||
PasswordResetResponse,
|
||||
PlatformSelectResponse,
|
||||
StoreMembershipSummary,
|
||||
StoreUserResponse,
|
||||
UserContext,
|
||||
UserCreate,
|
||||
UserDeleteResponse,
|
||||
UserDetailResponse,
|
||||
UserListResponse,
|
||||
UserLogin,
|
||||
UserResponse,
|
||||
UserSearchItem,
|
||||
UserSearchResponse,
|
||||
UserStatusToggleResponse,
|
||||
UserUpdate,
|
||||
)
|
||||
@@ -205,20 +205,37 @@ class AuditValidator(BaseValidator):
|
||||
)
|
||||
|
||||
# Check input validation (Pydantic)
|
||||
schema_path = self.project_root / "models" / "schema"
|
||||
if schema_path.exists():
|
||||
has_validation = False
|
||||
for file in schema_path.glob("*.py"):
|
||||
# Check both legacy models/schema/ and module schemas locations
|
||||
schema_paths = [
|
||||
self.project_root / "models" / "schema",
|
||||
self.project_root / "app" / "modules",
|
||||
]
|
||||
has_validation = False
|
||||
for schema_path in schema_paths:
|
||||
if not schema_path.exists():
|
||||
continue
|
||||
for file in schema_path.rglob("schemas/*.py"):
|
||||
content = file.read_text()
|
||||
if re.search(r"Field|validator|field_validator", content):
|
||||
has_validation = True
|
||||
break
|
||||
if not has_validation:
|
||||
self.add_error(
|
||||
"DATA-INT-001",
|
||||
"Pydantic validation required for data integrity",
|
||||
str(schema_path),
|
||||
)
|
||||
if has_validation:
|
||||
break
|
||||
# Also check legacy location
|
||||
if schema_path == self.project_root / "models" / "schema":
|
||||
for file in schema_path.glob("*.py"):
|
||||
content = file.read_text()
|
||||
if re.search(r"Field|validator|field_validator", content):
|
||||
has_validation = True
|
||||
break
|
||||
if has_validation:
|
||||
break
|
||||
if not has_validation:
|
||||
self.add_error(
|
||||
"DATA-INT-001",
|
||||
"Pydantic validation required for data integrity",
|
||||
str(self.project_root / "app" / "modules"),
|
||||
)
|
||||
|
||||
# Check user data access endpoint exists (GDPR)
|
||||
users_api = self.project_root / "app" / "api" / "v1" / "users.py"
|
||||
|
||||
Reference in New Issue
Block a user