Advanced chat management via UI
This commit is contained in:
1 parent
fbee31841d
commit
5351144edf
9 files changed
+396
-59
No files matched your search
+17
-6
@@ -63,7 +63,7 @@ class App:
|
||||
print(f"Created agent #{agent.id}: {agent.name}")
|
||||
return agent.id
|
||||
|
||||
def create_chat(self, user_id, name, description, picture):
|
||||
def create_chat(self, user_id, name, description, picture, members=[]):
|
||||
with self.sql_session() as session:
|
||||
chat = db.Chat()
|
||||
chat.user_id = user_id
|
||||
@@ -74,7 +74,13 @@ class App:
|
||||
session.add(chat)
|
||||
session.commit()
|
||||
print(f"Created chat #{chat.id}: {chat.name}")
|
||||
return chat.id
|
||||
|
||||
chat_id = chat.id
|
||||
|
||||
for agent_id in members:
|
||||
self.add_agent_to_chat(chat_id, agent_id)
|
||||
|
||||
return chat_id
|
||||
|
||||
def get_chats(self, user_id):
|
||||
with self.sql_session() as session:
|
||||
@@ -96,6 +102,13 @@ class App:
|
||||
"picture": agent.picture
|
||||
} for agent in agents]
|
||||
|
||||
def delete_chat(self, chat_id):
|
||||
with self.sql_session() as session:
|
||||
session.execute(db.Membership.__table__.delete().where(db.Membership.chat_id == chat_id))
|
||||
session.execute(db.Chat.__table__.delete().where(db.Chat.id == chat_id))
|
||||
session.commit()
|
||||
print(f"Deleted chat #{chat_id} and its memberships.")
|
||||
|
||||
def get_chat_messages(self, chat_id, earliest_index=0):
|
||||
with self.sql_session() as session:
|
||||
messages = session.execute(
|
||||
@@ -237,12 +250,10 @@ class App:
|
||||
user_id=user_id,
|
||||
name="Initial Chat",
|
||||
description=None,
|
||||
picture=None
|
||||
picture=None,
|
||||
members=[agent_id],
|
||||
)
|
||||
|
||||
# Add the agent to the chat
|
||||
self.add_agent_to_chat(chat_id, agent_id)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) > 1:
|
||||
data_directory = sys.argv[1]
|
||||
|
||||
Reference in new issue
Block a user