From b412f5001e4c02de8bf181363cf0531a9093255f Mon Sep 17 00:00:00 2001 From: Zichao Lin Date: Sun, 5 Jul 2026 23:35:45 +0800 Subject: [PATCH] feat(models): add showcase fields to User, Profile, Postcard --- app/models.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/models.py b/app/models.py index 55d37ad..f11466d 100644 --- a/app/models.py +++ b/app/models.py @@ -16,6 +16,7 @@ class User(Base): id = Column(Integer, primary_key=True, index=True) username = Column(String(64), unique=True, nullable=False, index=True) password_hash = Column(String(128), nullable=False) + showcase_mode = Column(String(16), nullable=False, default="profile") created_at = Column(DateTime, default=_utcnow) 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) user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), 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) user = relationship("User", back_populates="profiles") @@ -61,6 +64,7 @@ class Postcard(Base): sender_name = Column(String(64)) receive_time = Column(DateTime) # images + showcase_hidden = Column(default=False, nullable=False) image_front = Column(String(256)) image_back = Column(String(256)) created_at = Column(DateTime, default=_utcnow)