gqlapi

package
v0.0.0-...-f94728f Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2018 License: MIT Imports: 17 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 {
	CreateLikePayload struct {
		ClientMutationId func(childComplexity int) int
		Like             func(childComplexity int) int
	}

	Exhibition struct {
		Id            func(childComplexity int) int
		ExhibitionId  func(childComplexity int) int
		Place         func(childComplexity int) int
		Title         func(childComplexity int) int
		TitleJa       func(childComplexity int) int
		Description   func(childComplexity int) int
		DescriptionJa func(childComplexity int) int
	}

	ExhibitionConnection struct {
		PageInfo func(childComplexity int) int
		Edges    func(childComplexity int) int
		Nodes    func(childComplexity int) int
	}

	ExhibitionEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Like struct {
		Id      func(childComplexity int) int
		Session func(childComplexity int) int
	}

	LikeEvent struct {
		SessionId func(childComplexity int) int
		Likes     func(childComplexity int) int
	}

	Movie struct {
		Id       func(childComplexity int) int
		MovieId  func(childComplexity int) int
		Url      func(childComplexity int) int
		Session  func(childComplexity int) int
		Speakers func(childComplexity int) int
	}

	Mutation struct {
		CreateLike func(childComplexity int, input CreateLikeInput) int
	}

	News struct {
		Id        func(childComplexity int) int
		NewsId    func(childComplexity int) int
		Date      func(childComplexity int) int
		Message   func(childComplexity int) int
		MessageJa func(childComplexity int) int
		Link      func(childComplexity int) int
	}

	NewsConnection struct {
		PageInfo func(childComplexity int) int
		Edges    func(childComplexity int) int
		Nodes    func(childComplexity int) int
	}

	NewsEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	PageInfo struct {
		StartCursor     func(childComplexity int) int
		EndCursor       func(childComplexity int) int
		HasNextPage     func(childComplexity int) int
		HasPreviousPage func(childComplexity int) int
	}

	Query struct {
		Node           func(childComplexity int, id string) int
		Nodes          func(childComplexity int, ids []string) int
		SessionList    func(childComplexity int, first *int, after *string, req *SessionListInput) int
		Session        func(childComplexity int, sessionId int) int
		ExhibisionList func(childComplexity int, first *int, after *string, req *ExhibitionListInput) int
		NewsList       func(childComplexity int, first *int, after *string) int
	}

	Session struct {
		Id        func(childComplexity int) int
		SessionId func(childComplexity int) int
		Type      func(childComplexity int) int
		Place     func(childComplexity int) int
		Title     func(childComplexity int) int
		TitleJa   func(childComplexity int) int
		StartTime func(childComplexity int) int
		EndTime   func(childComplexity int) int
		Outline   func(childComplexity int) int
		OutlineJa func(childComplexity int) int
		Lang      func(childComplexity int) int
		Tags      func(childComplexity int) int
		Slides    func(childComplexity int) int
		Movies    func(childComplexity int) int
		Liked     func(childComplexity int) int
		Speakers  func(childComplexity int) int
	}

	SessionConnection struct {
		PageInfo func(childComplexity int) int
		Edges    func(childComplexity int) int
		Nodes    func(childComplexity int) int
	}

	SessionEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Slide struct {
		Id       func(childComplexity int) int
		SlideId  func(childComplexity int) int
		Lang     func(childComplexity int) int
		Url      func(childComplexity int) int
		Session  func(childComplexity int) int
		Speakers func(childComplexity int) int
	}

	Speaker struct {
		Id         func(childComplexity int) int
		SpeakerId  func(childComplexity int) int
		Name       func(childComplexity int) int
		NameJa     func(childComplexity int) int
		Company    func(childComplexity int) int
		Position   func(childComplexity int) int
		PositionJa func(childComplexity int) int
		Profile    func(childComplexity int) int
		ProfileJa  func(childComplexity int) int
		IconUrl    func(childComplexity int) int
		TwitterId  func(childComplexity int) int
		GithubId   func(childComplexity int) int
		Sessions   func(childComplexity int) int
		Slides     func(childComplexity int) int
		Movies     func(childComplexity int) int
	}

	Subscription struct {
		LikeAdded func(childComplexity int, sessionId int) int
	}
}

func NewComplexityRoot

func NewComplexityRoot() ComplexityRoot

NewComplexityRoot returns ComplexityRoot for app.

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type CreateLikeInput

type CreateLikeInput struct {
	ClientMutationID *string `json:"clientMutationId"`
	UUID             string  `json:"uuid"`
	SessionID        int     `json:"sessionId"`
}

セッションに対していいね!する時の引数です。 uuidはいいね!した人のUUIDです。

func UnmarshalCreateLikeInput

func UnmarshalCreateLikeInput(v interface{}) (CreateLikeInput, error)

type CreateLikePayload

type CreateLikePayload struct {
	ClientMutationID *string      `json:"clientMutationId"`
	Like             domains.Like `json:"like"`
}

type DirectiveRoot

type DirectiveRoot struct {
}

type ExhibitionConnection

type ExhibitionConnection struct {
	PageInfo PageInfo             `json:"pageInfo"`
	Edges    []ExhibitionEdge     `json:"edges"`
	Nodes    []domains.Exhibition `json:"nodes"`
}

type ExhibitionEdge

type ExhibitionEdge struct {
	Cursor *string            `json:"cursor"`
	Node   domains.Exhibition `json:"node"`
}

type ExhibitionListInput

type ExhibitionListInput struct {
	Tmp *string `json:"tmp"`
}

func UnmarshalExhibitionListInput

func UnmarshalExhibitionListInput(v interface{}) (ExhibitionListInput, error)

type ExhibitionResolver

type ExhibitionResolver interface {
	ID(ctx context.Context, obj *domains.Exhibition) (string, error)
}

type LikeEvent

type LikeEvent struct {
	SessionID int `json:"sessionId"`
	Likes     int `json:"likes"`
}

type LikeResolver

type LikeResolver interface {
	ID(ctx context.Context, obj *domains.Like) (string, error)
	Session(ctx context.Context, obj *domains.Like) (domains.Session, error)
}

type MovieResolver

type MovieResolver interface {
	ID(ctx context.Context, obj *domains.Movie) (string, error)
	MovieID(ctx context.Context, obj *domains.Movie) (int, error)

	Session(ctx context.Context, obj *domains.Movie) (domains.Session, error)
	Speakers(ctx context.Context, obj *domains.Movie) ([]domains.Speaker, error)
}

type MutationResolver

type MutationResolver interface {
	CreateLike(ctx context.Context, input CreateLikeInput) (*CreateLikePayload, error)
}

type NewsConnection

type NewsConnection struct {
	PageInfo PageInfo       `json:"pageInfo"`
	Edges    []NewsEdge     `json:"edges"`
	Nodes    []domains.News `json:"nodes"`
}

type NewsEdge

type NewsEdge struct {
	Cursor *string      `json:"cursor"`
	Node   domains.News `json:"node"`
}

type NewsResolver

type NewsResolver interface {
	ID(ctx context.Context, obj *domains.News) (string, error)
}

type Node

type Node interface {
	IsNode()
}

type PageInfo

type PageInfo struct {
	StartCursor     *string `json:"startCursor"`
	EndCursor       *string `json:"endCursor"`
	HasNextPage     bool    `json:"hasNextPage"`
	HasPreviousPage bool    `json:"hasPreviousPage"`
}

type QueryResolver

type QueryResolver interface {
	Node(ctx context.Context, id string) (Node, error)
	Nodes(ctx context.Context, ids []string) ([]*Node, error)
	SessionList(ctx context.Context, first *int, after *string, req *SessionListInput) (SessionConnection, error)
	Session(ctx context.Context, sessionId int) (*domains.Session, error)
	ExhibisionList(ctx context.Context, first *int, after *string, req *ExhibitionListInput) (ExhibitionConnection, error)
	NewsList(ctx context.Context, first *int, after *string) (NewsConnection, error)
}

type ResolverRoot

type ResolverRoot interface {
	Exhibition() ExhibitionResolver
	Like() LikeResolver
	Movie() MovieResolver
	Mutation() MutationResolver
	News() NewsResolver
	Query() QueryResolver
	Session() SessionResolver
	Slide() SlideResolver
	Speaker() SpeakerResolver
	Subscription() SubscriptionResolver
}

func NewResolver

func NewResolver(logger *zap.Logger, spannerClient *spanner.Client) (ResolverRoot, error)

NewResolver returns GraphQL root resolver.

type SessionConnection

type SessionConnection struct {
	PageInfo PageInfo          `json:"pageInfo"`
	Edges    []SessionEdge     `json:"edges"`
	Nodes    []domains.Session `json:"nodes"`
}

type SessionEdge

type SessionEdge struct {
	Cursor *string         `json:"cursor"`
	Node   domains.Session `json:"node"`
}

type SessionListInput

type SessionListInput struct {
	Tmp *string `json:"tmp"`
}

func UnmarshalSessionListInput

func UnmarshalSessionListInput(v interface{}) (SessionListInput, error)

type SessionResolver

type SessionResolver interface {
	ID(ctx context.Context, obj *domains.Session) (string, error)

	Slides(ctx context.Context, obj *domains.Session) ([]domains.Slide, error)
	Movies(ctx context.Context, obj *domains.Session) ([]domains.Movie, error)
	Liked(ctx context.Context, obj *domains.Session) (int, error)
	Speakers(ctx context.Context, obj *domains.Session) ([]domains.Speaker, error)
}

type SlideResolver

type SlideResolver interface {
	ID(ctx context.Context, obj *domains.Slide) (string, error)
	SlideID(ctx context.Context, obj *domains.Slide) (int, error)

	Session(ctx context.Context, obj *domains.Slide) (domains.Session, error)
	Speakers(ctx context.Context, obj *domains.Slide) ([]domains.Speaker, error)
}

type SpeakerResolver

type SpeakerResolver interface {
	ID(ctx context.Context, obj *domains.Speaker) (string, error)

	Sessions(ctx context.Context, obj *domains.Speaker) ([]domains.Session, error)
	Slides(ctx context.Context, obj *domains.Speaker) ([]domains.Slide, error)
	Movies(ctx context.Context, obj *domains.Speaker) ([]domains.Movie, error)
}

type SubscriptionResolver

type SubscriptionResolver interface {
	LikeAdded(ctx context.Context, sessionId int) (<-chan LikeEvent, error)
}

Jump to

Keyboard shortcuts

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