refactor(database_model): replace Literal with Enum for modified_by field

This commit is contained in:
DrSmoothl
2026-02-28 22:47:40 +08:00
parent 1e917cc87d
commit 416bf36f1a

View File

@@ -1,4 +1,4 @@
from typing import Optional, Literal from typing import Optional
from sqlalchemy import Column, Float, Enum as SQLEnum, DateTime from sqlalchemy import Column, Float, Enum as SQLEnum, DateTime
from sqlmodel import SQLModel, Field, LargeBinary from sqlmodel import SQLModel, Field, LargeBinary
from enum import Enum from enum import Enum
@@ -14,6 +14,9 @@ class ImageType(str, Enum):
EMOJI = "emoji" EMOJI = "emoji"
IMAGE = "image" IMAGE = "image"
class ModifiedBy(str, Enum):
AI = "ai"
USER = "user"
class Messages(SQLModel, table=True): class Messages(SQLModel, table=True):
__tablename__ = "mai_messages" # type: ignore __tablename__ = "mai_messages" # type: ignore
@@ -183,7 +186,7 @@ class Expression(SQLModel, table=True):
checked: bool = Field(default=False) # 是否已经被检查过 checked: bool = Field(default=False) # 是否已经被检查过
rejected: bool = Field(default=False) # 是否被拒绝但是未更新 rejected: bool = Field(default=False) # 是否被拒绝但是未更新
modified_by: Optional[Literal["ai", "user"]] = Field(default=None) # 最后修改者标记用户或AI为空表示未检查 modified_by: Optional[ModifiedBy] = Field(sa_column=Column(SQLEnum(ModifiedBy), nullable=True)) # 最后修改者标记用户或AI为空表示未检查
class Jargon(SQLModel, table=True): class Jargon(SQLModel, table=True):