This repository has been archived on 2022-09-04. You can view files and clone it, but cannot push or open issues or pull requests.
api/graphql/resolvers/tribe.go

54 lines
1.3 KiB
Go
Raw Normal View History

2020-06-02 15:45:21 +00:00
package resolvers
import (
"context"
"github.com/tribalwarshelp/api/utils"
2020-06-02 15:45:21 +00:00
"github.com/tribalwarshelp/api/graphql/generated"
"github.com/tribalwarshelp/api/tribe"
2020-06-02 15:45:21 +00:00
"github.com/tribalwarshelp/shared/models"
)
func (r *queryResolver) Tribes(ctx context.Context,
server string,
f *models.TribeFilter,
limit *int,
offset *int,
sort []string) (*generated.TribeList, error) {
2020-06-02 15:45:21 +00:00
var err error
2020-06-28 11:55:37 +00:00
list := &generated.TribeList{}
list.Items, list.Total, err = r.TribeUcase.Fetch(ctx, tribe.FetchConfig{
Server: server,
Filter: f,
Sort: sort,
Limit: utils.SafeIntPointer(limit, 0),
Offset: utils.SafeIntPointer(offset, 0),
Count: shouldCount(ctx),
Select: shouldSelectItems(ctx),
})
2020-06-02 15:45:21 +00:00
return list, err
}
func (r *queryResolver) Tribe(ctx context.Context, server string, id int) (*models.Tribe, error) {
return r.TribeUcase.GetByID(ctx, server, id)
}
func (r *queryResolver) SearchTribe(ctx context.Context,
version string,
query string,
limit *int,
offset *int,
sort []string) (*generated.FoundTribeList, error) {
var err error
list := &generated.FoundTribeList{}
list.Items, list.Total, err = r.TribeUcase.SearchTribe(ctx, tribe.SearchTribeConfig{
Sort: sort,
Limit: utils.SafeIntPointer(limit, 0),
Offset: utils.SafeIntPointer(offset, 0),
Version: version,
Query: query,
Count: shouldCount(ctx),
})
return list, err
}