graphql

package
v0.0.0-...-5bbb7b8 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2020 License: AGPL-3.0 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 AccountResolver

type AccountResolver interface {
	UserAccounts(ctx context.Context, obj *kazoku.Account) ([]*kazoku.UserAccount, error)
	CreatedBy(ctx context.Context, obj *kazoku.Account) (*ninshou.User, error)
	UpdatedBy(ctx context.Context, obj *kazoku.Account) (*ninshou.User, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	Account struct {
		CreatedAt    func(childComplexity int) int
		CreatedBy    func(childComplexity int) int
		ExpiresAt    func(childComplexity int) int
		Id           func(childComplexity int) int
		Name         func(childComplexity int) int
		UpdatedAt    func(childComplexity int) int
		UpdatedBy    func(childComplexity int) int
		UserAccounts func(childComplexity int) int
	}

	LoginResponse struct {
		Account func(childComplexity int) int
		Token   func(childComplexity int) int
		User    func(childComplexity int) int
	}

	Mutation struct {
		CreateAccount func(childComplexity int, input NewAccount) int
		CreateTodo    func(childComplexity int, input youji.NewTodo) int
		CreateUser    func(childComplexity int, input NewUser) int
		LoginUser     func(childComplexity int, input LoginRequest) int
		LogoutUser    func(childComplexity int, input *bool) int
		UpdateTodo    func(childComplexity int, input youji.UpdateTodoParams) int
	}

	Query struct {
		GetTodos func(childComplexity int) int
	}

	Todo struct {
		CompletedAt func(childComplexity int) int
		CreatedAt   func(childComplexity int) int
		Id          func(childComplexity int) int
		Text        func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
	}

	User struct {
		CreatedAt    func(childComplexity int) int
		Email        func(childComplexity int) int
		Id           func(childComplexity int) int
		Name         func(childComplexity int) int
		UpdatedAt    func(childComplexity int) int
		UserAccounts func(childComplexity int) int
	}

	UserAccount struct {
		Account   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		CreatedBy func(childComplexity int) int
		Role      func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		UpdatedBy func(childComplexity int) int
		User      func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
	Protected func(ctx context.Context, obj interface{}, next graphql.Resolver, authRequired bool) (res interface{}, err error)
}

type LoginRequest

type LoginRequest struct {
	Email    string `json:"email"`
	Password string `json:"password"`
}

type LoginResponse

type LoginResponse struct {
	Token   string          `json:"token"`
	Account *kazoku.Account `json:"account"`
	User    *ninshou.User   `json:"user"`
}

type MutationResolver

type MutationResolver interface {
	CreateAccount(ctx context.Context, input NewAccount) (*LoginResponse, error)
	CreateTodo(ctx context.Context, input youji.NewTodo) (*youji.Todo, error)
	CreateUser(ctx context.Context, input NewUser) (*LoginResponse, error)
	LoginUser(ctx context.Context, input LoginRequest) (*LoginResponse, error)
	LogoutUser(ctx context.Context, input *bool) (bool, error)
	UpdateTodo(ctx context.Context, input youji.UpdateTodoParams) (*youji.Todo, error)
}

type NewAccount

type NewAccount struct {
	Name string   `json:"name"`
	User *NewUser `json:"user"`
}

type NewUser

type NewUser struct {
	Name     string `json:"name"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

type QueryResolver

type QueryResolver interface {
	GetTodos(ctx context.Context) ([]*youji.Todo, error)
}

type ResolverRoot

type ResolverRoot interface {
	Account() AccountResolver
	Mutation() MutationResolver
	Query() QueryResolver
	User() UserResolver
	UserAccount() UserAccountResolver
}

type UserAccountResolver

type UserAccountResolver interface {
	Account(ctx context.Context, obj *kazoku.UserAccount) (*kazoku.Account, error)
	User(ctx context.Context, obj *kazoku.UserAccount) (*ninshou.User, error)

	CreatedBy(ctx context.Context, obj *kazoku.UserAccount) (*ninshou.User, error)
	UpdatedBy(ctx context.Context, obj *kazoku.UserAccount) (*ninshou.User, error)
}

type UserResolver

type UserResolver interface {
	UserAccounts(ctx context.Context, obj *ninshou.User) ([]*kazoku.UserAccount, error)
}

Jump to

Keyboard shortcuts

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