2020-06-02 15:45:21 +00:00
|
|
|
package resolvers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2021-03-21 06:50:19 +00:00
|
|
|
"github.com/tribalwarshelp/api/utils"
|
2020-06-02 15:45:21 +00:00
|
|
|
|
|
|
|
"github.com/tribalwarshelp/api/graphql/generated"
|
2020-11-21 11:34:25 +00:00
|
|
|
"github.com/tribalwarshelp/api/village"
|
2020-06-02 15:45:21 +00:00
|
|
|
"github.com/tribalwarshelp/shared/models"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (r *villageResolver) Player(ctx context.Context, obj *models.Village) (*models.Player, error) {
|
|
|
|
if obj.Player != nil {
|
|
|
|
return obj.Player, nil
|
|
|
|
}
|
|
|
|
|
2020-06-21 10:26:57 +00:00
|
|
|
return getPlayer(ctx, obj.PlayerID), nil
|
2020-06-02 15:45:21 +00:00
|
|
|
}
|
|
|
|
|
2020-11-21 11:34:25 +00:00
|
|
|
func (r *queryResolver) Villages(ctx context.Context,
|
|
|
|
server string,
|
|
|
|
f *models.VillageFilter,
|
|
|
|
limit *int,
|
|
|
|
offset *int,
|
|
|
|
sort []string) (*generated.VillageList, error) {
|
2020-06-02 15:45:21 +00:00
|
|
|
var err error
|
2020-06-28 11:55:37 +00:00
|
|
|
list := &generated.VillageList{}
|
2020-11-21 11:34:25 +00:00
|
|
|
list.Items, list.Total, err = r.VillageUcase.Fetch(ctx, village.FetchConfig{
|
|
|
|
Filter: f,
|
|
|
|
Sort: sort,
|
2021-03-21 06:50:19 +00:00
|
|
|
Limit: utils.SafeIntPointer(limit, 0),
|
|
|
|
Offset: utils.SafeIntPointer(offset, 0),
|
2021-03-21 12:03:39 +00:00
|
|
|
Select: shouldSelectItems(ctx),
|
2020-12-25 11:13:12 +00:00
|
|
|
Count: shouldCount(ctx),
|
2020-11-21 11:34:25 +00:00
|
|
|
Server: server,
|
|
|
|
})
|
2020-06-02 15:45:21 +00:00
|
|
|
return list, err
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *queryResolver) Village(ctx context.Context, server string, id int) (*models.Village, error) {
|
|
|
|
return r.VillageUcase.GetByID(ctx, server, id)
|
|
|
|
}
|