From 66cd56d69ee1696d56ae737369f50ebe60003ae9 Mon Sep 17 00:00:00 2001 From: Baiheng Xie <874256269@qq.com> Date: Mon, 2 Feb 2026 23:18:27 +0800 Subject: [PATCH] refactor: move mixins.py from shared/ to src root Move infrastructure utilities (TimestampMixin, timezone helpers) from src/shared/ to src/ to align with existing infrastructure pattern. src/shared/ now contains only cross-domain business utilities: - errors.py: Business error codes - redis_keys.py: Business cache key patterns Closes #108 Co-Authored-By: Claude Sonnet 4.5 --- src/audit/schemas.py | 2 +- src/auth/models.py | 2 +- src/{shared => }/mixins.py | 0 src/shared/__init__.py | 3 +-- tests/shared/test_mixins.py | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) rename src/{shared => }/mixins.py (100%) diff --git a/src/audit/schemas.py b/src/audit/schemas.py index 7f75bbd..014e318 100644 --- a/src/audit/schemas.py +++ b/src/audit/schemas.py @@ -5,7 +5,7 @@ from sqlalchemy import JSON, Column, DateTime, Text from sqlmodel import Field, SQLModel -from src.shared.mixins import now +from src.mixins import now class AuditAction(StrEnum): diff --git a/src/auth/models.py b/src/auth/models.py index d90d73a..8b7c301 100644 --- a/src/auth/models.py +++ b/src/auth/models.py @@ -2,7 +2,7 @@ from sqlmodel import Field, SQLModel -from src.shared.mixins import TimestampMixin +from src.mixins import TimestampMixin class User(SQLModel, TimestampMixin, table=True): diff --git a/src/shared/mixins.py b/src/mixins.py similarity index 100% rename from src/shared/mixins.py rename to src/mixins.py diff --git a/src/shared/__init__.py b/src/shared/__init__.py index e427b18..4301728 100644 --- a/src/shared/__init__.py +++ b/src/shared/__init__.py @@ -1,5 +1,4 @@ from .errors import ErrorCode, error_code_to_http_status -from .mixins import TimestampMixin from .redis_keys import redis_keys -__all__ = ["ErrorCode", "error_code_to_http_status", "TimestampMixin", "redis_keys"] +__all__ = ["ErrorCode", "error_code_to_http_status", "redis_keys"] diff --git a/tests/shared/test_mixins.py b/tests/shared/test_mixins.py index 658c41d..db80e34 100644 --- a/tests/shared/test_mixins.py +++ b/tests/shared/test_mixins.py @@ -5,7 +5,7 @@ from sqlalchemy.orm import sessionmaker from sqlmodel import Field, SQLModel -from src.shared.mixins import TimestampMixin +from src.mixins import TimestampMixin class SampleModel(SQLModel, TimestampMixin, table=True):