Skip to content

Commit

Permalink
Merge pull request #827 from trheyi/main
Browse files Browse the repository at this point in the history
Enhance chat retrieval and update functionality in Xun
  • Loading branch information
trheyi authored Jan 22, 2025
2 parents a8b8224 + 979d27b commit 7137ed4
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions neo/store/xun.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ func (conv *Xun) GetChats(sid string, filter ChatFilter) (*ChatGroupResponse, er

// Build base query
qb := conv.newQueryChat().
Select("chat_id", "title", "created_at").
Select("chat_id", "title", "created_at", "updated_at").
Where("sid", userID).
Where("chat_id", "!=", "")

Expand All @@ -358,7 +358,9 @@ func (conv *Xun) GetChats(sid string, filter ChatFilter) (*ChatGroupResponse, er
lastPage := int(math.Ceil(float64(total) / float64(filter.PageSize)))

// Get paginated results
rows, err := qb.OrderBy("created_at", filter.Order).
rows, err := qb.
OrderBy("updated_at", filter.Order).
OrderBy("created_at", filter.Order).
Offset(offset).
Limit(filter.PageSize).
Get()
Expand Down Expand Up @@ -392,8 +394,13 @@ func (conv *Xun) GetChats(sid string, filter ChatFilter) (*ChatGroupResponse, er
"title": row.Get("title"),
}

var dbDatetime = row.Get("updated_at")
if dbDatetime == nil {
dbDatetime = row.Get("created_at")
}

var createdAt time.Time
switch v := row.Get("created_at").(type) {
switch v := dbDatetime.(type) {
case time.Time:
createdAt = v
case string:
Expand Down Expand Up @@ -608,6 +615,15 @@ func (conv *Xun) SaveHistory(sid string, messages []map[string]interface{}, cid
return err
}

// Update Chat updated_at
_, err = conv.newQueryChat().
Where("chat_id", cid).
Where("sid", userID).
Update(map[string]interface{}{"updated_at": now})
if err != nil {
return err
}

return nil
}

Expand Down

0 comments on commit 7137ed4

Please sign in to comment.