diff options
author | Grail Finder <wohilas@gmail.com> | 2024-12-09 19:26:26 +0300 |
---|---|---|
committer | Grail Finder <wohilas@gmail.com> | 2024-12-09 19:26:26 +0300 |
commit | 67f36d417fa97c4087e326623508370f60d3d3b8 (patch) | |
tree | 1a4466737b8bd854238d508d48945bde84ad0e31 /storage/storage.go | |
parent | bdd40ea8df60b6b161da3c1d201e9ec05ef743d1 (diff) |
Feat: load char/agent; agent-chat flow
Diffstat (limited to 'storage/storage.go')
-rw-r--r-- | storage/storage.go | 8 |
1 files changed, 8 insertions, 0 deletions
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 := ` |