加密敏感数据并优化补CK流程

This commit is contained in:
yml2213
2026-06-24 09:10:31 +08:00
parent 8e65af538c
commit 177ec42416
9 changed files with 315 additions and 23 deletions
+10 -9
View File
@@ -6,6 +6,7 @@ from sqlalchemy import (
)
from sqlalchemy.orm import relationship
from .database import Base
from .crypto_storage import EncryptedText
def _utcnow():
@@ -37,9 +38,9 @@ class Account(Base):
id = Column(Integer, primary_key=True, autoincrement=True)
username = Column(String(128), nullable=False)
password = Column(String(256), nullable=False)
email = Column(String(128), nullable=False)
email_password = Column(String(256), nullable=False)
password = Column(EncryptedText(), nullable=False)
email = Column(EncryptedText(), nullable=False)
email_password = Column(EncryptedText(), nullable=False)
email_imap_server = Column(String(128), default="")
email_imap_port = Column(Integer, default=993)
email_imap_ssl = Column(Boolean, default=True)
@@ -60,7 +61,7 @@ class LoginTask(Base):
batch_id = Column(String(64), nullable=False, index=True) # 批次ID
account_id = Column(Integer, ForeignKey("accounts.id"), nullable=False)
status = Column(String(32), default="pending") # pending / running / success / failed / error
cookie = Column(Text, default="")
cookie = Column(EncryptedText(), default="")
message = Column(String(512), default="")
created_by = Column(Integer, ForeignKey("users.id"), nullable=False)
created_at = Column(DateTime, default=_utcnow)
@@ -75,13 +76,13 @@ class ProxyConfig(Base):
id = Column(Integer, primary_key=True, autoincrement=True)
enabled = Column(Boolean, default=False)
api_url = Column(String(512), default="")
http = Column(String(256), default="")
https = Column(String(256), default="")
api_url = Column(EncryptedText(), default="")
http = Column(EncryptedText(), default="")
https = Column(EncryptedText(), default="")
# 白名单
whitelist_enabled = Column(Boolean, default=False)
whitelist_uid = Column(String(64), default="")
whitelist_ukey = Column(String(128), default="")
whitelist_uid = Column(EncryptedText(), default="")
whitelist_ukey = Column(EncryptedText(), default="")
class AuditLog(Base):