-
Notifications
You must be signed in to change notification settings - Fork 12
/
location.resolvers.go
36 lines (27 loc) · 1.69 KB
/
location.resolvers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package graphapi
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
// Code generated by github.com/99designs/gqlgen version v0.17.38
import (
"context"
"entgo.io/contrib/entgql"
"go.infratographer.com/permissions-api/pkg/permissions"
"go.infratographer.com/x/gidx"
"go.infratographer.com/load-balancer-api/internal/ent/generated"
"go.infratographer.com/load-balancer-api/internal/ent/generated/loadbalancer"
_ "go.infratographer.com/load-balancer-api/internal/ent/generated/runtime"
)
// Location is the resolver for the location field.
func (r *loadBalancerResolver) Location(ctx context.Context, obj *generated.LoadBalancer) (*Location, error) {
return &Location{ID: obj.LocationID, scopedToOwnerID: obj.OwnerID}, nil
}
// LoadBalancers is the resolver for the loadBalancers field.
func (r *locationResolver) LoadBalancers(ctx context.Context, obj *Location, after *entgql.Cursor[gidx.PrefixedID], first *int, before *entgql.Cursor[gidx.PrefixedID], last *int, orderBy *generated.LoadBalancerOrder, where *generated.LoadBalancerWhereInput) (*generated.LoadBalancerConnection, error) {
if err := permissions.CheckAccess(ctx, obj.ID, actionLocationGet); err != nil {
return nil, err
}
return r.client.LoadBalancer.Query().Where(loadbalancer.LocationID(obj.ID)).Paginate(ctx, after, first, before, last, generated.WithLoadBalancerOrder(orderBy), generated.WithLoadBalancerFilter(where.Filter))
}
// Location returns LocationResolver implementation.
func (r *Resolver) Location() LocationResolver { return &locationResolver{r} }
type locationResolver struct{ *Resolver }