仓库模块完了
This commit is contained in:
Binary file not shown.
@@ -46,6 +46,20 @@ class AlgorithmVersion(Base):
|
||||
calls = relationship("AlgorithmCall", back_populates="version")
|
||||
|
||||
|
||||
class Role(Base):
|
||||
"""角色模型"""
|
||||
__tablename__ = "roles"
|
||||
|
||||
id = Column(String, primary_key=True, index=True)
|
||||
name = Column(String, unique=True, nullable=False, index=True) # admin, user
|
||||
description = Column(Text, default="")
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# 关系
|
||||
users = relationship("User", back_populates="role")
|
||||
|
||||
|
||||
class User(Base):
|
||||
"""用户模型"""
|
||||
__tablename__ = "users"
|
||||
@@ -54,31 +68,17 @@ class User(Base):
|
||||
username = Column(String, unique=True, nullable=False, index=True)
|
||||
email = Column(String, unique=True, nullable=False, index=True)
|
||||
password_hash = Column(String, nullable=False)
|
||||
role = Column(String, default="user", index=True) # admin, user, customer
|
||||
role_id = Column(String, ForeignKey("roles.id"), nullable=False, index=True)
|
||||
status = Column(String, default="active", index=True)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# 关系
|
||||
api_keys = relationship("APIKey", back_populates="user", cascade="all, delete-orphan")
|
||||
calls = relationship("AlgorithmCall", back_populates="user")
|
||||
role = relationship("Role", back_populates="users")
|
||||
|
||||
|
||||
|
||||
class APIKey(Base):
|
||||
"""API密钥模型"""
|
||||
__tablename__ = "api_keys"
|
||||
|
||||
id = Column(String, primary_key=True, index=True)
|
||||
user_id = Column(String, ForeignKey("users.id"), nullable=False, index=True)
|
||||
key = Column(String, unique=True, nullable=False, index=True)
|
||||
name = Column(String, nullable=False)
|
||||
expires_at = Column(DateTime(timezone=True), nullable=False)
|
||||
status = Column(String, default="active", index=True)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# 关系
|
||||
user = relationship("User", back_populates="api_keys")
|
||||
|
||||
|
||||
class AlgorithmCall(Base):
|
||||
@@ -138,12 +138,28 @@ class AlgorithmRepository(Base):
|
||||
algorithm = relationship("Algorithm", back_populates="repository", uselist=False)
|
||||
|
||||
|
||||
class ServiceGroup(Base):
|
||||
"""服务分组模型"""
|
||||
__tablename__ = "service_groups"
|
||||
|
||||
id = Column(String, primary_key=True, index=True)
|
||||
name = Column(String, nullable=False, unique=True, index=True) # 分组名称
|
||||
description = Column(Text, default="") # 分组描述
|
||||
status = Column(String, default="active", index=True) # 状态
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# 关系
|
||||
services = relationship("AlgorithmService", back_populates="group")
|
||||
|
||||
|
||||
class AlgorithmService(Base):
|
||||
"""算法服务模型"""
|
||||
__tablename__ = "algorithm_services"
|
||||
|
||||
id = Column(String, primary_key=True, index=True)
|
||||
service_id = Column(String, unique=True, nullable=False, index=True) # 服务ID
|
||||
group_id = Column(String, ForeignKey("service_groups.id"), nullable=True, index=True) # 分组ID
|
||||
name = Column(String, nullable=False, index=True) # 服务名称
|
||||
algorithm_name = Column(String, nullable=False) # 算法名称
|
||||
version = Column(String, nullable=False) # 版本
|
||||
@@ -156,6 +172,9 @@ class AlgorithmService(Base):
|
||||
last_heartbeat = Column(DateTime(timezone=True), nullable=True) # 最后心跳时间
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# 关系
|
||||
group = relationship("ServiceGroup", back_populates="services")
|
||||
|
||||
|
||||
# 添加Algorithm模型的repository关系
|
||||
|
||||
Reference in New Issue
Block a user