feat(models): add showcase fields to User, Profile, Postcard

This commit is contained in:
2026-07-05 23:35:45 +08:00
parent 46670c72fa
commit b412f5001e

View File

@@ -16,6 +16,7 @@ class User(Base):
id = Column(Integer, primary_key=True, index=True) id = Column(Integer, primary_key=True, index=True)
username = Column(String(64), unique=True, nullable=False, index=True) username = Column(String(64), unique=True, nullable=False, index=True)
password_hash = Column(String(128), nullable=False) password_hash = Column(String(128), nullable=False)
showcase_mode = Column(String(16), nullable=False, default="profile")
created_at = Column(DateTime, default=_utcnow) created_at = Column(DateTime, default=_utcnow)
profiles = relationship("Profile", back_populates="user", cascade="all, delete-orphan") profiles = relationship("Profile", back_populates="user", cascade="all, delete-orphan")
@@ -39,6 +40,8 @@ class Profile(Base):
id = Column(Integer, primary_key=True, index=True) id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
nickname = Column(String(64), nullable=False) nickname = Column(String(64), nullable=False)
showcase_enabled = Column(default=False, nullable=False)
showcase_visible = Column(String(16), nullable=False, default="both")
created_at = Column(DateTime, default=_utcnow) created_at = Column(DateTime, default=_utcnow)
user = relationship("User", back_populates="profiles") user = relationship("User", back_populates="profiles")
@@ -61,6 +64,7 @@ class Postcard(Base):
sender_name = Column(String(64)) sender_name = Column(String(64))
receive_time = Column(DateTime) receive_time = Column(DateTime)
# images # images
showcase_hidden = Column(default=False, nullable=False)
image_front = Column(String(256)) image_front = Column(String(256))
image_back = Column(String(256)) image_back = Column(String(256))
created_at = Column(DateTime, default=_utcnow) created_at = Column(DateTime, default=_utcnow)