1// Code generated by scripts/gengraphql.go. DO NOT EDIT.
2
3package schema
4
5import (
6	graphql1 "github.com/graphql-go/graphql"
7	graphql "github.com/sensu/sensu-go/graphql"
8)
9
10// ViewerNamespacesFieldResolver implement to resolve requests for the Viewer's namespaces field.
11type ViewerNamespacesFieldResolver interface {
12	// Namespaces implements response to request for namespaces field.
13	Namespaces(p graphql.ResolveParams) (interface{}, error)
14}
15
16// ViewerUserFieldResolver implement to resolve requests for the Viewer's user field.
17type ViewerUserFieldResolver interface {
18	// User implements response to request for user field.
19	User(p graphql.ResolveParams) (interface{}, error)
20}
21
22//
23// ViewerFieldResolvers represents a collection of methods whose products represent the
24// response values of the 'Viewer' type.
25//
26// == Example SDL
27//
28//   """
29//   Dog's are not hooman.
30//   """
31//   type Dog implements Pet {
32//     "name of this fine beast."
33//     name:  String!
34//
35//     "breed of this silly animal; probably shibe."
36//     breed: [Breed]
37//   }
38//
39// == Example generated interface
40//
41//   // DogResolver ...
42//   type DogFieldResolvers interface {
43//     DogNameFieldResolver
44//     DogBreedFieldResolver
45//
46//     // IsTypeOf is used to determine if a given value is associated with the Dog type
47//     IsTypeOf(interface{}, graphql.IsTypeOfParams) bool
48//   }
49//
50// == Example implementation ...
51//
52//   // DogResolver implements DogFieldResolvers interface
53//   type DogResolver struct {
54//     logger logrus.LogEntry
55//     store interface{
56//       store.BreedStore
57//       store.DogStore
58//     }
59//   }
60//
61//   // Name implements response to request for name field.
62//   func (r *DogResolver) Name(p graphql.ResolveParams) (interface{}, error) {
63//     // ... implementation details ...
64//     dog := p.Source.(DogGetter)
65//     return dog.GetName()
66//   }
67//
68//   // Breed implements response to request for breed field.
69//   func (r *DogResolver) Breed(p graphql.ResolveParams) (interface{}, error) {
70//     // ... implementation details ...
71//     dog := p.Source.(DogGetter)
72//     breed := r.store.GetBreed(dog.GetBreedName())
73//     return breed
74//   }
75//
76//   // IsTypeOf is used to determine if a given value is associated with the Dog type
77//   func (r *DogResolver) IsTypeOf(p graphql.IsTypeOfParams) bool {
78//     // ... implementation details ...
79//     _, ok := p.Value.(DogGetter)
80//     return ok
81//   }
82//
83type ViewerFieldResolvers interface {
84	ViewerNamespacesFieldResolver
85	ViewerUserFieldResolver
86}
87
88// ViewerAliases implements all methods on ViewerFieldResolvers interface by using reflection to
89// match name of field to a field on the given value. Intent is reduce friction
90// of writing new resolvers by removing all the instances where you would simply
91// have the resolvers method return a field.
92//
93// == Example SDL
94//
95//    type Dog {
96//      name:   String!
97//      weight: Float!
98//      dob:    DateTime
99//      breed:  [Breed]
100//    }
101//
102// == Example generated aliases
103//
104//   type DogAliases struct {}
105//   func (_ DogAliases) Name(p graphql.ResolveParams) (interface{}, error) {
106//     // reflect...
107//   }
108//   func (_ DogAliases) Weight(p graphql.ResolveParams) (interface{}, error) {
109//     // reflect...
110//   }
111//   func (_ DogAliases) Dob(p graphql.ResolveParams) (interface{}, error) {
112//     // reflect...
113//   }
114//   func (_ DogAliases) Breed(p graphql.ResolveParams) (interface{}, error) {
115//     // reflect...
116//   }
117//
118// == Example Implementation
119//
120//   type DogResolver struct { // Implements DogResolver
121//     DogAliases
122//     store store.BreedStore
123//   }
124//
125//   // NOTE:
126//   // All other fields are satisified by DogAliases but since this one
127//   // requires hitting the store we implement it in our resolver.
128//   func (r *DogResolver) Breed(p graphql.ResolveParams) interface{} {
129//     dog := v.(*Dog)
130//     return r.BreedsById(dog.BreedIDs)
131//   }
132//
133type ViewerAliases struct{}
134
135// Namespaces implements response to request for 'namespaces' field.
136func (_ ViewerAliases) Namespaces(p graphql.ResolveParams) (interface{}, error) {
137	val, err := graphql.DefaultResolver(p.Source, p.Info.FieldName)
138	return val, err
139}
140
141// User implements response to request for 'user' field.
142func (_ ViewerAliases) User(p graphql.ResolveParams) (interface{}, error) {
143	val, err := graphql.DefaultResolver(p.Source, p.Info.FieldName)
144	return val, err
145}
146
147// ViewerType Describes a viewer of the system; generally an authenticated user.
148var ViewerType = graphql.NewType("Viewer", graphql.ObjectKind)
149
150// RegisterViewer registers Viewer object type with given service.
151func RegisterViewer(svc *graphql.Service, impl ViewerFieldResolvers) {
152	svc.RegisterObject(_ObjectTypeViewerDesc, impl)
153}
154func _ObjTypeViewerNamespacesHandler(impl interface{}) graphql1.FieldResolveFn {
155	resolver := impl.(ViewerNamespacesFieldResolver)
156	return func(frp graphql1.ResolveParams) (interface{}, error) {
157		return resolver.Namespaces(frp)
158	}
159}
160
161func _ObjTypeViewerUserHandler(impl interface{}) graphql1.FieldResolveFn {
162	resolver := impl.(ViewerUserFieldResolver)
163	return func(frp graphql1.ResolveParams) (interface{}, error) {
164		return resolver.User(frp)
165	}
166}
167
168func _ObjectTypeViewerConfigFn() graphql1.ObjectConfig {
169	return graphql1.ObjectConfig{
170		Description: "Describes a viewer of the system; generally an authenticated user.",
171		Fields: graphql1.Fields{
172			"namespaces": &graphql1.Field{
173				Args:              graphql1.FieldConfigArgument{},
174				DeprecationReason: "",
175				Description:       "All namespaces the viewer has access to view.",
176				Name:              "namespaces",
177				Type:              graphql1.NewNonNull(graphql1.NewList(graphql1.NewNonNull(graphql.OutputType("Namespace")))),
178			},
179			"user": &graphql1.Field{
180				Args:              graphql1.FieldConfigArgument{},
181				DeprecationReason: "",
182				Description:       "User account associated with the viewer.",
183				Name:              "user",
184				Type:              graphql.OutputType("User"),
185			},
186		},
187		Interfaces: []*graphql1.Interface{},
188		IsTypeOf: func(_ graphql1.IsTypeOfParams) bool {
189			// NOTE:
190			// Panic by default. Intent is that when Service is invoked, values of
191			// these fields are updated with instantiated resolvers. If these
192			// defaults are called it is most certainly programmer err.
193			// If you're see this comment then: 'Whoops! Sorry, my bad.'
194			panic("Unimplemented; see ViewerFieldResolvers.")
195		},
196		Name: "Viewer",
197	}
198}
199
200// describe Viewer's configuration; kept private to avoid unintentional tampering of configuration at runtime.
201var _ObjectTypeViewerDesc = graphql.ObjectDesc{
202	Config: _ObjectTypeViewerConfigFn,
203	FieldHandlers: map[string]graphql.FieldHandler{
204		"namespaces": _ObjTypeViewerNamespacesHandler,
205		"user":       _ObjTypeViewerUserHandler,
206	},
207}
208