graph

package
v0.0.0-...-ac9c94f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2023 License: MIT Imports: 22 Imported by: 0

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
}

type SubscriptionResolver

type SubscriptionResolver interface {
	NewPhoto(ctx context.Context, userID string) (<-chan *model.Photo, error)
	NewUser(ctx context.Context) (<-chan *model.User, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL