zhaoqingang
2024-12-10 08c8e8c9a4d65677de6a493446a605d70efee631
app/models/group_model.py
@@ -10,24 +10,24 @@
group_knowledge_table = Table('group_Knowledge', Base.metadata
                           , Column('group_id', Integer, ForeignKey('group.id'))
                           , Column('knowledge_id', String(32), ForeignKey('knowledgebase.id')))
                           , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE'))
                           , Column('knowledge_id', String(32), ForeignKey('knowledgebase.id', ondelete='CASCADE')))
group_dialog_table = Table('group_dialogs', Base.metadata
                           , Column('group_id', Integer, ForeignKey('group.id'))
                           , Column('dialog_id', String(36), ForeignKey('dialogs.id')))
                           , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE'))
                           , Column('dialog_id', String(36), ForeignKey('dialogs.id', ondelete='CASCADE')))
group_agent_table = Table('group_agent', Base.metadata
                           , Column('group_id', Integer, ForeignKey('group.id'))
                           , Column('agent_id', String(36), ForeignKey('user_canvas.id')))
group_agent_table = Table('group_canvas', Base.metadata
                           , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE'))
                           , Column('canvas_id', String(36), ForeignKey('canvas.id', ondelete='CASCADE')))
group_llm_table = Table('group_llm', Base.metadata
                           , Column('group_id', Integer, ForeignKey('group.id'))
                           , Column('llm_id', String(36), ForeignKey('common_llm.id')))
                           , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE'))
                           , Column('llm_id', String(36), ForeignKey('common_llm.id', ondelete='CASCADE')))
group_unified_agent_table = Table('group_unified_agent', Base.metadata
                                    , Column('group_id', Integer, ForeignKey('group.id'))
                                    ,Column('unified_agent_id', String(36), ForeignKey('unified_agent.id')))
                                    , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE'))
                                    ,Column('unified_agent_id', String(36), ForeignKey('unified_agent.id', ondelete='CASCADE')))
class GroupModel(Base):
@@ -38,6 +38,8 @@
    status = Column(String(10), nullable=False, default="1")
    created_at = Column(DateTime, default=datetime.now())
    updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now())
    creator = Column(Integer)
    group_type = Column(Integer, default=1)
    knowledges = relationship('KnowledgeModel',
@@ -52,18 +54,15 @@
    agents = relationship('CanvasModel',
                             secondary=group_agent_table,
                             backref=backref('groups', lazy='dynamic'),
                             lazy="dynamic")
                             backref=backref('groups', lazy='dynamic'))
    llms = relationship('CommonLlmModel',
                           secondary=group_llm_table,
                           backref=backref('groups', lazy='dynamic'),
                           lazy="dynamic")
                           backref=backref('groups', lazy='dynamic'))
    unified_agents = relationship('UnifiedAgentModel',
                                     secondary=group_unified_agent_table,
                                     backref=backref('roles', lazy='dynamic'),
                                     lazy="dynamic")
                                     backref=backref('groups', lazy='dynamic'))
    def to_dict(self):
        return {
            'groupId': self.id,
@@ -79,8 +78,8 @@
    def __repr__(self):
        return '<Role name:%r description:%r iconCls:%r seq:%r>\n' \
            % (self.NAME, self.DESCRIPTION, self.ICONCLS, self.SEQ)
        return '<Role name:%r description:%r>\n' \
            % (self.group_name, self.group_description)
    def to_json(self):
        json = {
@@ -129,3 +128,10 @@
    id: int
    user_list: list
class GroupResource(BaseModel):
    id: int
    agents: list
    dialogs: list
    knowledges: list