From 67f36d417fa97c4087e326623508370f60d3d3b8 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Mon, 9 Dec 2024 19:26:26 +0300 Subject: Feat: load char/agent; agent-chat flow --- storage/storage.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'storage/storage.go') diff --git a/storage/storage.go b/storage/storage.go index 66640fd..9a1595c 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -17,6 +17,7 @@ type ChatHistory interface { ListChats() ([]models.Chat, error) GetChatByID(id uint32) (*models.Chat, error) GetLastChat() (*models.Chat, error) + GetLastChatByAgent(agent string) (*models.Chat, error) UpsertChat(chat *models.Chat) (*models.Chat, error) RemoveChat(id uint32) error ChatGetMaxID() (uint32, error) @@ -45,6 +46,13 @@ func (p ProviderSQL) GetLastChat() (*models.Chat, error) { return &resp, err } +func (p ProviderSQL) GetLastChatByAgent(agent string) (*models.Chat, error) { + resp := models.Chat{} + query := "SELECT * FROM chats WHERE agent=$1 ORDER BY updated_at DESC LIMIT 1" + err := p.db.Get(&resp, query, agent) + return &resp, err +} + func (p ProviderSQL) UpsertChat(chat *models.Chat) (*models.Chat, error) { // Prepare the SQL statement query := ` -- cgit v1.2.3