refactor: isolate pending transfer and config queries

This commit is contained in:
jxxghp
2026-08-23 14:29:59 +08:00
parent 8fc9a021b0
commit 2120b8040a
10 changed files with 104 additions and 30 deletions
+5 -3
View File
@@ -4,7 +4,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import Mapped, Session, mapped_column
from app.db.base import Base, get_id_column
from app.db.decorators import db_query, async_db_query
from app.db.decorators import legacy_async_db_query, legacy_db_query
class SystemConfig(Base):
@@ -18,13 +18,15 @@ class SystemConfig(Base):
value: Mapped[Optional[Any]] = mapped_column(JSON)
@classmethod
@db_query
@legacy_db_query
def get_by_key(cls, db: Session, key: str):
"""按配置键查询系统配置,并保留旧插件无 Session 调用。"""
return db.execute(select(cls).where(cls.key == key)).scalars().first()
@classmethod
@async_db_query
@legacy_async_db_query
async def async_get_by_key(cls, db: AsyncSession, key: str):
"""异步按配置键查询系统配置,并保留旧插件无 Session 调用。"""
result = await db.execute(select(cls).where(cls.key == key))
return result.scalar_one_or_none()
+2 -2
View File
@@ -4,7 +4,7 @@ from sqlalchemy import Index, String, delete, select
from sqlalchemy.orm import Mapped, Session, mapped_column
from app.db.base import Base, execute_dml, get_id_column
from app.db.decorators import db_query
from app.db.decorators import legacy_db_query
class TransferPending(Base):
@@ -73,7 +73,7 @@ class TransferPending(Base):
)
@classmethod
@db_query
@legacy_db_query
def list_all(cls, db: Session, limit: Optional[int] = 5000) -> List["TransferPending"]:
"""
列出全部待整理登记,供启动回放使用。