Phase C5: Storage Quota - user/membership tier quota management

This commit is contained in:
qyyfw committed 2026-07-06 08:13:51 +08:00
1 parent 6ccf6d6867
commit 4b49333f9d
4 files changed
+1039 -509

No files matched your search

+17
View File
@@ -486,6 +486,7 @@ class AIModel(Base):
id = Column(String(36), primary_key=True, default=gen_uuid)
provider_id = Column(String(36), ForeignKey("model_providers.id"), nullable=False)
name = Column(String(100), nullable=False)
display_name = Column(String(200), default=None, comment="display name")
api_key = Column(String(255), default=None)
endpoint = Column(String(500), default=None)
capabilities = Column(JSON, default=None)
@@ -1004,6 +1005,22 @@ class OSSStorageConfig(Base):
created_at = Column(DateTime, default=datetime.now)
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
class UserStorageQuota(Base):
__tablename__ = "user_storage_quotas"
id = Column(String(36), primary_key=True, default=gen_uuid)
user_id = Column(String(36), nullable=False, unique=True)
quota_bytes = Column(BigInteger, nullable=False, default=1073741824)
used_bytes = Column(BigInteger, nullable=False, default=0)
quota_type = Column(String(20), nullable=False, default="membership")
membership_level = Column(Integer, default=0)
plan_id = Column(String(36), default=None)
created_at = Column(DateTime, default=datetime.now)
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
class AutomatedTask(Base):
__tablename__ = "automated_tasks"