1
0

fix(typesense): make fetching task positions per view more efficient

This commit is contained in:
kolaente
2024-04-13 17:26:38 +02:00
parent 3519b8b2fe
commit a5d02380a3
2 changed files with 41 additions and 19 deletions

View File

@ -529,7 +529,21 @@ func (l *AddTaskToTypesense) Handle(msg *message.Message) (err error) {
s := db.NewSession()
defer s.Close()
ttask, err := getTypesenseTaskForTask(s, event.Task, nil)
positions := []*TaskPositionWithView{}
err = s.
Table("project_views").
Where("project_views.project_id = ?", event.Task.ProjectID).
Join("LEFT", "task_positions", "project_views.id = task_positions.project_view_id AND task_positions.task_id = ?", event.Task.ID).
Find(&positions)
if err != nil {
return
}
positionsMap := make(map[int64][]*TaskPositionWithView, 1)
positionsMap[event.Task.ID] = positions
ttask, err := getTypesenseTaskForTask(s, event.Task, nil, positionsMap)
if err != nil {
return err
}