Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type ComplexityRoot ¶
type ComplexityRoot struct { AuthPayload struct { Token func(childComplexity int) int User func(childComplexity int) int } Mutation struct { AddFakeUsers func(childComplexity int, count *int) int FakeUserAuth func(childComplexity int, githubLogin string) int GithubAuth func(childComplexity int, code string) int PostPhoto func(childComplexity int, input model.PostPhotoInput) int TagPhoto func(childComplexity int, githubLogin string, photoID string) int } Photo struct { Category func(childComplexity int) int Created func(childComplexity int) int Description func(childComplexity int) int ID func(childComplexity int) int Name func(childComplexity int) int PostedBy func(childComplexity int) int TaggedUsers func(childComplexity int) int URL func(childComplexity int) int } Query struct { AllPhotos func(childComplexity int) int AllUsers func(childComplexity int) int Me func(childComplexity int) int Photo func(childComplexity int, id string) int TotalPhotos func(childComplexity int) int TotalUsers func(childComplexity int) int User func(childComplexity int, login string) int } Subscription struct { NewPhoto func(childComplexity int, userID string) int NewUser func(childComplexity int) int } User struct { Avatar func(childComplexity int) int GithubLogin func(childComplexity int) int InPhotos func(childComplexity int) int Name func(childComplexity int) int PostedPhotos func(childComplexity int) int } }
type Config ¶
type Config struct { Resolvers ResolverRoot Directives DirectiveRoot Complexity ComplexityRoot }
type DirectiveRoot ¶
type DirectiveRoot struct { }
type MutationResolver ¶
type MutationResolver interface { PostPhoto(ctx context.Context, input model.PostPhotoInput) (*model.Photo, error) TagPhoto(ctx context.Context, githubLogin string, photoID string) (*model.Photo, error) GithubAuth(ctx context.Context, code string) (*model.AuthPayload, error) AddFakeUsers(ctx context.Context, count *int) ([]*model.User, error) FakeUserAuth(ctx context.Context, githubLogin string) (*model.AuthPayload, error) }
type QueryResolver ¶
type QueryResolver interface { Me(ctx context.Context) (*model.User, error) TotalPhotos(ctx context.Context) (int, error) AllPhotos(ctx context.Context) ([]*model.Photo, error) Photo(ctx context.Context, id string) (*model.Photo, error) TotalUsers(ctx context.Context) (int, error) AllUsers(ctx context.Context) ([]*model.User, error) User(ctx context.Context, login string) (*model.User, error) }
type Resolver ¶
type Resolver struct { AuthService auth.AuthService PhotoChs map[string]chan *model.Photo // photoの追加時にpubするchannel Mutex sync.Mutex // channelの追加・削除の排他制御 DbClient *mongo.Client }
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
Mutation returns MutationResolver implementation.
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
Query returns QueryResolver implementation.
func (*Resolver) Subscription ¶
func (r *Resolver) Subscription() SubscriptionResolver
Subscription returns SubscriptionResolver implementation.
type ResolverRoot ¶
type ResolverRoot interface { Mutation() MutationResolver Query() QueryResolver Subscription() SubscriptionResolver }
Click to show internal directories.
Click to hide internal directories.