Phase C5: Storage Quota - user/membership tier quota management
This commit is contained in:
1 parent
6ccf6d6867
commit
4b49333f9d
4 files changed
+1039
-509
No files matched your search
@@ -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"
|
||||
|
||||
|
||||
Reference in new issue
Block a user