flamingo.me/flamingo-commerce/v3@v3.11.0/search/interfaces/graphql/resolver.go (about) 1 package graphql 2 3 import ( 4 "context" 5 6 "flamingo.me/flamingo-commerce/v3/search/domain" 7 "flamingo.me/flamingo-commerce/v3/search/interfaces/graphql/searchdto" 8 ) 9 10 // CommerceSearchQueryResolver is a commerce search query resolver 11 type CommerceSearchQueryResolver struct{} 12 13 // SortOptions remaps search meta options to graphql structure 14 func (r *CommerceSearchQueryResolver) SortOptions(ctx context.Context, searchMeta *domain.SearchMeta) ([]*searchdto.CommerceSearchSortOption, error) { 15 var options = make([]*searchdto.CommerceSearchSortOption, 0) 16 for _, option := range searchMeta.SortOptions { 17 if option.Asc != "" { 18 options = append(options, &searchdto.CommerceSearchSortOption{ 19 Label: option.Label + " (asc)", 20 Field: option.Asc, 21 Selected: option.SelectedAsc, 22 }) 23 } 24 if option.Desc != "" { 25 options = append(options, &searchdto.CommerceSearchSortOption{ 26 Label: option.Label + " (desc)", 27 Field: option.Desc, 28 Selected: option.SelectedDesc, 29 }) 30 } 31 } 32 33 return options, nil 34 }