MCPcopy Create free account
hub / github.com/netlify/gotrue / sort

Function sort

api/sorting.go:11–41  ·  view source on GitHub ↗
(r *http.Request, allowedFields map[string]bool, defaultSort []models.SortField)

Source from the content-addressed store, hash-verified

9)
10
11func sort(r *http.Request, allowedFields map[string]bool, defaultSort []models.SortField) (*models.SortParams, error) {
12 sortParams := &models.SortParams{
13 Fields: defaultSort,
14 }
15 urlParams := r.URL.Query()
16 if values, exists := urlParams["sort"]; exists && len(values) > 0 {
17 sortParams.Fields = []models.SortField{}
18 for _, value := range values {
19 parts := strings.SplitN(value, " ", 2)
20 field := parts[0]
21 if _, ok := allowedFields[field]; !ok {
22 return nil, fmt.Errorf("bad field for sort '%v'", field)
23 }
24
25 dir := models.Descending
26 if len(parts) > 1 {
27 switch strings.ToUpper(parts[1]) {
28 case string(models.Ascending):
29 dir = models.Ascending
30 case string(models.Descending):
31 dir = models.Descending
32 default:
33 return nil, fmt.Errorf("bad direction for sort '%v', only 'asc' and 'desc' allowed", parts[1])
34 }
35 }
36 sortParams.Fields = append(sortParams.Fields, models.SortField{Name: field, Dir: dir})
37 }
38 }
39
40 return sortParams, nil
41}

Callers 1

adminUsersMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…