enrich user-project interaction statistics
This commit is contained in:
+11
-1
@@ -1,5 +1,5 @@
|
||||
from typing import TYPE_CHECKING
|
||||
from sqlalchemy import Column, DateTime, String, ForeignKey, BigInteger, UniqueConstraint
|
||||
from sqlalchemy import Column, DateTime, String, ForeignKey, BigInteger, UniqueConstraint, Integer
|
||||
from sqlalchemy.sql import func
|
||||
from .base import AutoID, Base
|
||||
|
||||
@@ -15,6 +15,11 @@ class Workspace(Base, AutoID):
|
||||
slug = Column(String, unique=True, index=True, nullable=False)
|
||||
logo = Column(String, nullable=True)
|
||||
description = Column(String, nullable=True)
|
||||
|
||||
total_project_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
total_like_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
total_favorite_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
total_share_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
|
||||
# 存储容量上限(单位:字节 Bytes),默认 5GB
|
||||
storage_limit = Column(BigInteger, default=5 * 1024 * 1024 * 1024)
|
||||
@@ -47,6 +52,11 @@ class WorkspaceMember(Base, AutoID):
|
||||
# 角色权限:'owner' (所有者), 'admin' (管理员), 'user' (普通用户)
|
||||
role = Column(String, default="user", nullable=False)
|
||||
|
||||
likes_received_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
favorites_received_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
shares_received_count = Column(Integer, default=0, nullable=False, server_default="0")
|
||||
|
||||
# invite_token 用于生成邀请链接,token_expires_at 用于设置链接过期时间
|
||||
invite_token = Column(String, nullable=True, unique=True)
|
||||
token_expires_at = Column(DateTime(timezone=True), nullable=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user