diff options
Diffstat (limited to 'storage/storage.go')
-rw-r--r-- | storage/storage.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/storage/storage.go b/storage/storage.go index cfaaf0a..f759700 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -18,6 +18,7 @@ type FullRepo interface { type ChatHistory interface { ListChats() ([]models.Chat, error) GetChatByID(id uint32) (*models.Chat, error) + GetChatByChar(char string) ([]models.Chat, error) GetLastChat() (*models.Chat, error) GetLastChatByAgent(agent string) (*models.Chat, error) UpsertChat(chat *models.Chat) (*models.Chat, error) @@ -37,6 +38,12 @@ func (p ProviderSQL) ListChats() ([]models.Chat, error) { return resp, err } +func (p ProviderSQL) GetChatByChar(char string) ([]models.Chat, error) { + resp := []models.Chat{} + err := p.db.Select(&resp, "SELECT * FROM chats WHERE agent=$1;", char) + return resp, err +} + func (p ProviderSQL) GetChatByID(id uint32) (*models.Chat, error) { resp := models.Chat{} err := p.db.Get(&resp, "SELECT * FROM chats WHERE id=$1;", id) |