generated

package
v0.0.0-...-2887d17 Latest Latest
Warning

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

Go to latest
Published: May 1, 2020 License: BSD-3-Clause Imports: 12 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 {
	Conversation struct {
		AvatarURL    func(childComplexity int) int
		CreationTime func(childComplexity int) int
		ID           func(childComplexity int) int
		Messages     func(childComplexity int, afterID *string, limit int) int
		Participants func(childComplexity int) int
		Title        func(childComplexity int) int
	}

	Message struct {
		Body         func(childComplexity int) int
		Conversation func(childComplexity int) int
		Edits        func(childComplexity int) int
		ID           func(childComplexity int) int
		Sender       func(childComplexity int) int
		SendingTime  func(childComplexity int) int
	}

	MessageEdit struct {
		Editor       func(childComplexity int) int
		PreviousBody func(childComplexity int) int
		Time         func(childComplexity int) int
	}

	Mutation struct {
		CreateConversation         func(childComplexity int, title string, participants []string, avatarURL *string) int
		CreateSession              func(childComplexity int, username string, password string) int
		CreateUser                 func(childComplexity int, username string, displayName string, avatarURL *string, password string) int
		DeleteMessage              func(childComplexity int, messageID string, reason *string) int
		DestroySession             func(childComplexity int, id string) int
		EditConversation           func(childComplexity int, conversationID string, title *string, avatarURL *string) int
		EditMessage                func(childComplexity int, messageID string, body string) int
		LeaveConversation          func(childComplexity int, conversationID string) int
		RemoveUserFromConversation func(childComplexity int, conversationID string, userID string) int
		SendMessage                func(childComplexity int, body string, conversationID string) int
	}

	Query struct {
		User func(childComplexity int, id string) int
	}

	Session struct {
		CreationTime func(childComplexity int) int
		ID           func(childComplexity int) int
		IP           func(childComplexity int) int
		User         func(childComplexity int) int
		UserAgent    func(childComplexity int) int
	}

	User struct {
		AvatarURL     func(childComplexity int) int
		Conversations func(childComplexity int) int
		CreationTime  func(childComplexity int) int
		DisplayName   func(childComplexity int) int
		ID            func(childComplexity int) int
		Sessions      func(childComplexity int) int
		Username      func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type ConversationResolver

type ConversationResolver interface {
	Participants(ctx context.Context, obj *model.Conversation) ([]*model.User, error)
	Messages(ctx context.Context, obj *model.Conversation, afterID *string, limit int) ([]*model.Message, error)
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MessageEditResolver

type MessageEditResolver interface {
	Editor(ctx context.Context, obj *model.MessageEdit) (*model.User, error)
}

type MessageResolver

type MessageResolver interface {
	Sender(ctx context.Context, obj *model.Message) (*model.User, error)
	Conversation(ctx context.Context, obj *model.Message) (*model.Conversation, error)

	Edits(ctx context.Context, obj *model.Message) ([]*model.MessageEdit, error)
}

type MutationResolver

type MutationResolver interface {
	CreateSession(ctx context.Context, username string, password string) (*model.Session, error)
	DestroySession(ctx context.Context, id string) (bool, error)
	CreateUser(ctx context.Context, username string, displayName string, avatarURL *string, password string) (*model.User, error)
	SendMessage(ctx context.Context, body string, conversationID string) (*model.Message, error)
	EditMessage(ctx context.Context, messageID string, body string) (*model.Message, error)
	DeleteMessage(ctx context.Context, messageID string, reason *string) (bool, error)
	CreateConversation(ctx context.Context, title string, participants []string, avatarURL *string) (*model.Conversation, error)
	LeaveConversation(ctx context.Context, conversationID string) (bool, error)
	EditConversation(ctx context.Context, conversationID string, title *string, avatarURL *string) (*model.Conversation, error)
	RemoveUserFromConversation(ctx context.Context, conversationID string, userID string) (bool, error)
}

type QueryResolver

type QueryResolver interface {
	User(ctx context.Context, id string) (*model.User, error)
}

type ResolverRoot

type ResolverRoot interface {
	Conversation() ConversationResolver
	Message() MessageResolver
	MessageEdit() MessageEditResolver
	Mutation() MutationResolver
	Query() QueryResolver
	Session() SessionResolver
	User() UserResolver
}

type SessionResolver

type SessionResolver interface {
	User(ctx context.Context, obj *model.Session) (*model.User, error)
}

type UserResolver

type UserResolver interface {
	Sessions(ctx context.Context, obj *model.User) ([]*model.Session, error)
	Conversations(ctx context.Context, obj *model.User) ([]*model.Conversation, error)
}

Jump to

Keyboard shortcuts

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