Skip to content

Commit

Permalink
Implemented sorting logic #1676
Browse files Browse the repository at this point in the history
  • Loading branch information
verheyenkoen committed Sep 24, 2024
1 parent 8f5d585 commit 934e1c6
Showing 1 changed file with 25 additions and 5 deletions.
30 changes: 25 additions & 5 deletions repositories/candidate_records.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,7 @@ func buildQuery(searchArgs *models.SearchArgs) sq.SelectBuilder {
sq.Expr("status_date IS NOT NULL"),
sq.LtOrEq{"EXTRACT(DAY FROM (current_timestamp - status_date))": "90"},
},
}).
OrderBy("date_created DESC").
Limit(uint64(searchArgs.Limit())).
Offset(uint64(searchArgs.Offset()))
})

for field, filterValue := range searchArgs.Filters {
switch field {
Expand All @@ -246,7 +243,30 @@ func buildQuery(searchArgs *models.SearchArgs) sq.SelectBuilder {
}
}

return query
sort := "default"
if len(searchArgs.Sort) > 0 {
sort = searchArgs.Sort[0]
}
switch sort {
case "added-desc":
query = query.OrderBy("date_created DESC")

case "added-asc":
query = query.OrderBy("date_created ASC")

case "year-desc":
query = query.OrderBy("metadata->'year' DESC")

case "year-asc":
query = query.OrderBy("metadata->'year' ASC")

default:
query = query.OrderBy("array_position(ARRAY['new', 'imported', 'rejected'], status)", "date_created DESC")
}

return query.
Limit(uint64(searchArgs.Limit())).
Offset(uint64(searchArgs.Offset()))
}

func getPersonFilter(personID string) []byte {
Expand Down

0 comments on commit 934e1c6

Please sign in to comment.