Add email sending toggle and fix event timestamp default
Introduces enable_email_sending to control real email delivery in config. Updates Event.created_at to use default_factory for correct timestamp initialization.
This commit is contained in:
@@ -119,6 +119,7 @@ class Settings(BaseSettings):
|
|||||||
|
|
||||||
# 邮件服务设置
|
# 邮件服务设置
|
||||||
enable_email_verification: bool = Field(default=False, description="是否启用邮件验证功能")
|
enable_email_verification: bool = Field(default=False, description="是否启用邮件验证功能")
|
||||||
|
enable_email_sending: bool = Field(default=False, description="是否真实发送邮件(false时仅模拟发送,输出到日志)")
|
||||||
smtp_server: str = "localhost"
|
smtp_server: str = "localhost"
|
||||||
smtp_port: int = 587
|
smtp_port: int = 587
|
||||||
smtp_username: str = ""
|
smtp_username: str = ""
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class EventType(str, Enum):
|
|||||||
class Event(UTCBaseModel, SQLModel, table=True):
|
class Event(UTCBaseModel, SQLModel, table=True):
|
||||||
__tablename__: str = "user_events"
|
__tablename__: str = "user_events"
|
||||||
id: int = Field(default=None, primary_key=True)
|
id: int = Field(default=None, primary_key=True)
|
||||||
created_at: datetime = Field(sa_column=Column(DateTime(timezone=True), default_factory=utcnow))
|
created_at: datetime = Field(default_factory=utcnow, sa_column=Column(DateTime(timezone=True), default=utcnow))
|
||||||
type: EventType
|
type: EventType
|
||||||
event_payload: dict = Field(exclude=True, default_factory=dict, sa_column=Column(JSON))
|
event_payload: dict = Field(exclude=True, default_factory=dict, sa_column=Column(JSON))
|
||||||
user_id: int | None = Field(
|
user_id: int | None = Field(
|
||||||
|
|||||||
Reference in New Issue
Block a user