graph

package
v0.0.0-...-0406d23 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknownType  = errors.New("unknown type")
	ErrTypeNotFound = errors.New("type not found")
)

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type BoardResolver

type BoardResolver interface {
	ID(ctx context.Context, obj *model.Board) (string, error)
	Portfolio(ctx context.Context, obj *model.Board) (*model.Portfolio, error)

	End(ctx context.Context, obj *model.Board) (*string, error)

	Metadata(ctx context.Context, obj *model.Board) (map[string]interface{}, error)

	Lists(ctx context.Context, obj *model.Board) ([]*model.List, error)
	UID(ctx context.Context, obj *model.Board) (string, error)
	Created(ctx context.Context, obj *model.Board) (string, error)
	Updated(ctx context.Context, obj *model.Board) (string, error)
	Collaborators(ctx context.Context, obj *model.Board) ([]*model.Collaborator, error)
}

type CollaboratorResolver

type CollaboratorResolver interface {
	ID(ctx context.Context, obj *model.Collaborator) (string, error)
	UID(ctx context.Context, obj *model.Collaborator) (string, error)
	Board(ctx context.Context, obj *model.Collaborator) (*model.Board, error)

	Metadata(ctx context.Context, obj *model.Collaborator) (map[string]interface{}, error)

	Created(ctx context.Context, obj *model.Collaborator) (string, error)
	Updated(ctx context.Context, obj *model.Collaborator) (string, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	Board struct {
		Background    func(childComplexity int) int
		Collaborators func(childComplexity int) int
		Created       func(childComplexity int) int
		Description   func(childComplexity int) int
		End           func(childComplexity int) int
		ID            func(childComplexity int) int
		IsTemplate    func(childComplexity int) int
		Lists         func(childComplexity int) int
		Metadata      func(childComplexity int) int
		Order         func(childComplexity int) int
		Portfolio     func(childComplexity int) int
		Starred       func(childComplexity int) int
		Status        func(childComplexity int) int
		Title         func(childComplexity int) int
		Type          func(childComplexity int) int
		UID           func(childComplexity int) int
		Updated       func(childComplexity int) int
	}

	Boards struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	Collaborator struct {
		Board      func(childComplexity int) int
		Created    func(childComplexity int) int
		ID         func(childComplexity int) int
		Metadata   func(childComplexity int) int
		Permission func(childComplexity int) int
		Status     func(childComplexity int) int
		UID        func(childComplexity int) int
		Updated    func(childComplexity int) int
	}

	Comment struct {
		ID func(childComplexity int) int
	}

	Entity struct {
		FindBoardByID func(childComplexity int, id string) int
		FindTaskByID  func(childComplexity int, id string) int
		FindUserByID  func(childComplexity int, id string) int
	}

	Goal struct {
		Created      func(childComplexity int) int
		End          func(childComplexity int) int
		ID           func(childComplexity int) int
		Members      func(childComplexity int) int
		Metadata     func(childComplexity int) int
		Name         func(childComplexity int) int
		Notes        func(childComplexity int) int
		Organization func(childComplexity int) int
		Parent       func(childComplexity int) int
		Phase        func(childComplexity int) int
		Start        func(childComplexity int) int
		Status       func(childComplexity int) int
		UID          func(childComplexity int) int
		Updated      func(childComplexity int) int
	}

	Goals struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	List struct {
		Board    func(childComplexity int) int
		Created  func(childComplexity int) int
		ID       func(childComplexity int) int
		Metadata func(childComplexity int) int
		Name     func(childComplexity int) int
		Order    func(childComplexity int) int
		Tasks    func(childComplexity int) int
		UID      func(childComplexity int) int
		Updated  func(childComplexity int) int
	}

	Lists struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	Metric struct {
		Current   func(childComplexity int) int
		Initial   func(childComplexity int) int
		Precision func(childComplexity int) int
		Source    func(childComplexity int) int
		Target    func(childComplexity int) int
		Unit      func(childComplexity int) int
	}

	Mutation struct {
		CreateBoard      func(childComplexity int, input model.NewBoard) int
		CreateGoal       func(childComplexity int, input model.NewGoal) int
		CreateList       func(childComplexity int, input model.NewList) int
		CreatePortfolio  func(childComplexity int, input model.NewPortfolio) int
		CreateTask       func(childComplexity int, input model.NewTask) int
		CreateTime       func(childComplexity int, input model.NewTime) int
		DeleteBoard      func(childComplexity int, id string) int
		DeleteBoards     func(childComplexity int, ids []string) int
		DeleteGoal       func(childComplexity int, id string) int
		DeleteGoals      func(childComplexity int, ids []string) int
		DeleteList       func(childComplexity int, id string) int
		DeleteLists      func(childComplexity int, ids []string) int
		DeletePortfolio  func(childComplexity int, id string) int
		DeletePortfolios func(childComplexity int, ids []string) int
		DeleteTask       func(childComplexity int, id string) int
		DeleteTasks      func(childComplexity int, ids []string) int
		DeleteTime       func(childComplexity int, id string) int
		DeleteTimes      func(childComplexity int, ids []string) int
		UpdateBoard      func(childComplexity int, id string, input model.UpdateBoard) int
		UpdateGoal       func(childComplexity int, id string, input model.UpdateGoal) int
		UpdateList       func(childComplexity int, id string, input model.UpdateList) int
		UpdatePortfolio  func(childComplexity int, id string, input model.UpdatePortfolio) int
		UpdateTask       func(childComplexity int, id string, input model.UpdateTask) int
		UpdateTime       func(childComplexity int, id string, input model.UpdateTime) int
	}

	Phase struct {
		Created     func(childComplexity int) int
		Description func(childComplexity int) int
		End         func(childComplexity int) int
		ID          func(childComplexity int) int
		Metadata    func(childComplexity int) int
		Name        func(childComplexity int) int
		Parent      func(childComplexity int) int
		Start       func(childComplexity int) int
		Updated     func(childComplexity int) int
	}

	Portfolio struct {
		Boards      func(childComplexity int) int
		Color       func(childComplexity int) int
		Created     func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Metadata    func(childComplexity int) int
		Name        func(childComplexity int) int
		Status      func(childComplexity int) int
		UID         func(childComplexity int) int
		Updated     func(childComplexity int) int
	}

	Portfolios struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	Query struct {
		Board      func(childComplexity int, id string) int
		Boards     func(childComplexity int, stages map[string]interface{}) int
		Goal       func(childComplexity int, id string) int
		Goals      func(childComplexity int, stages map[string]interface{}) int
		List       func(childComplexity int, id string) int
		Lists      func(childComplexity int, board string) int
		Portfolio  func(childComplexity int, id string) int
		Portfolios func(childComplexity int, stages map[string]interface{}) int
		Task       func(childComplexity int, id string) int
		Tasks      func(childComplexity int, stages map[string]interface{}) int
		Time       func(childComplexity int, id string) int
		Times      func(childComplexity int, stages map[string]interface{}) int
		// contains filtered or unexported fields
	}

	Task struct {
		Assignee  func(childComplexity int) int
		Completed func(childComplexity int) int
		Created   func(childComplexity int) int
		End       func(childComplexity int) int
		ID        func(childComplexity int) int
		List      func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Name      func(childComplexity int) int
		Notes     func(childComplexity int) int
		Order     func(childComplexity int) int
		Parent    func(childComplexity int) int
		Priority  func(childComplexity int) int
		Shares    func(childComplexity int) int
		Start     func(childComplexity int) int
		Status    func(childComplexity int) int
		Subtasks  func(childComplexity int) int
		UID       func(childComplexity int) int
		Updated   func(childComplexity int) int
	}

	Tasks struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	Times struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	User struct {
		Boards     func(childComplexity int) int
		Goals      func(childComplexity int) int
		ID         func(childComplexity int) int
		Lists      func(childComplexity int) int
		Portfolios func(childComplexity int) int
		Tasks      func(childComplexity int) int
	}
	// contains filtered or unexported fields
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
	Api              func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	Auth             func(ctx context.Context, obj interface{}, next graphql.Resolver, roles []string) (res interface{}, err error)
	ComposeDirective func(ctx context.Context, obj interface{}, next graphql.Resolver, name string) (res interface{}, err error)
	HasScope         func(ctx context.Context, obj interface{}, next graphql.Resolver, scope []string) (res interface{}, err error)
	InterfaceObject  func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
}

type EntityResolver

type EntityResolver interface {
	FindBoardByID(ctx context.Context, id string) (*model.Board, error)
	FindTaskByID(ctx context.Context, id string) (*model.Task, error)
	FindUserByID(ctx context.Context, id string) (*model.User, error)
}

type GoalResolver

type GoalResolver interface {
	ID(ctx context.Context, obj *model.Goal) (string, error)

	Start(ctx context.Context, obj *model.Goal) (*string, error)
	End(ctx context.Context, obj *model.Goal) (*string, error)

	Metadata(ctx context.Context, obj *model.Goal) (map[string]interface{}, error)

	Parent(ctx context.Context, obj *model.Goal) (*model.Goal, error)
	Phase(ctx context.Context, obj *model.Goal) (*model.Phase, error)
	UID(ctx context.Context, obj *model.Goal) (string, error)
	Organization(ctx context.Context, obj *model.Goal) (*string, error)
	Members(ctx context.Context, obj *model.Goal) ([]*string, error)
	Created(ctx context.Context, obj *model.Goal) (string, error)
	Updated(ctx context.Context, obj *model.Goal) (string, error)
}

type ListResolver

type ListResolver interface {
	ID(ctx context.Context, obj *model.List) (string, error)

	Board(ctx context.Context, obj *model.List) (*model.Board, error)

	Metadata(ctx context.Context, obj *model.List) (map[string]interface{}, error)
	Tasks(ctx context.Context, obj *model.List) ([]*model.Task, error)
	UID(ctx context.Context, obj *model.List) (string, error)
	Created(ctx context.Context, obj *model.List) (string, error)
	Updated(ctx context.Context, obj *model.List) (string, error)
}

type MutationResolver

type MutationResolver interface {
	CreateBoard(ctx context.Context, input model.NewBoard) (*model.Board, error)
	UpdateBoard(ctx context.Context, id string, input model.UpdateBoard) (*model.Board, error)
	DeleteBoard(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteBoards(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateGoal(ctx context.Context, input model.NewGoal) (*model.Goal, error)
	UpdateGoal(ctx context.Context, id string, input model.UpdateGoal) (*model.Goal, error)
	DeleteGoal(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteGoals(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateList(ctx context.Context, input model.NewList) (*model.List, error)
	UpdateList(ctx context.Context, id string, input model.UpdateList) (*model.List, error)
	DeleteList(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteLists(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateTime(ctx context.Context, input model.NewTime) (*model.Phase, error)
	UpdateTime(ctx context.Context, id string, input model.UpdateTime) (*model.Phase, error)
	DeleteTime(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteTimes(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreatePortfolio(ctx context.Context, input model.NewPortfolio) (*model.Portfolio, error)
	UpdatePortfolio(ctx context.Context, id string, input model.UpdatePortfolio) (*model.Portfolio, error)
	DeletePortfolio(ctx context.Context, id string) (map[string]interface{}, error)
	DeletePortfolios(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateTask(ctx context.Context, input model.NewTask) (*model.Task, error)
	UpdateTask(ctx context.Context, id string, input model.UpdateTask) (*model.Task, error)
	DeleteTask(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteTasks(ctx context.Context, ids []string) (map[string]interface{}, error)
}

type PhaseResolver

type PhaseResolver interface {
	ID(ctx context.Context, obj *model.Phase) (string, error)
	Parent(ctx context.Context, obj *model.Phase) (*model.Phase, error)

	Start(ctx context.Context, obj *model.Phase) (string, error)
	End(ctx context.Context, obj *model.Phase) (string, error)
	Metadata(ctx context.Context, obj *model.Phase) (map[string]interface{}, error)
	Created(ctx context.Context, obj *model.Phase) (string, error)
	Updated(ctx context.Context, obj *model.Phase) (string, error)
}

type PortfolioResolver

type PortfolioResolver interface {
	ID(ctx context.Context, obj *model.Portfolio) (string, error)

	Boards(ctx context.Context, obj *model.Portfolio) ([]*model.Board, error)
	Metadata(ctx context.Context, obj *model.Portfolio) (map[string]interface{}, error)

	UID(ctx context.Context, obj *model.Portfolio) (string, error)
	Created(ctx context.Context, obj *model.Portfolio) (string, error)
	Updated(ctx context.Context, obj *model.Portfolio) (string, error)
}

type QueryResolver

type QueryResolver interface {
	Board(ctx context.Context, id string) (*model.Board, error)
	Boards(ctx context.Context, stages map[string]interface{}) (*model.Boards, error)
	Goal(ctx context.Context, id string) (*model.Goal, error)
	Goals(ctx context.Context, stages map[string]interface{}) (*model.Goals, error)
	List(ctx context.Context, id string) (*model.List, error)
	Lists(ctx context.Context, board string) (*model.Lists, error)
	Time(ctx context.Context, id string) (*model.Phase, error)
	Times(ctx context.Context, stages map[string]interface{}) (*model.Times, error)
	Portfolio(ctx context.Context, id string) (*model.Portfolio, error)
	Portfolios(ctx context.Context, stages map[string]interface{}) (*model.Portfolios, error)
	Task(ctx context.Context, id string) (*model.Task, error)
	Tasks(ctx context.Context, stages map[string]interface{}) (*model.Tasks, error)
}

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

func NewResolver

func NewResolver(db *mongo.Database, rdb *redis.Client, ts *typesense.Client) *Resolver

func (*Resolver) Board

func (r *Resolver) Board() BoardResolver

Board returns BoardResolver implementation.

func (*Resolver) Collaborator

func (r *Resolver) Collaborator() CollaboratorResolver

Collaborator returns CollaboratorResolver implementation.

func (*Resolver) Entity

func (r *Resolver) Entity() EntityResolver

Entity returns EntityResolver implementation.

func (*Resolver) Goal

func (r *Resolver) Goal() GoalResolver

Goal returns GoalResolver implementation.

func (*Resolver) List

func (r *Resolver) List() ListResolver

List returns ListResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Phase

func (r *Resolver) Phase() PhaseResolver

Phase returns PhaseResolver implementation.

func (*Resolver) Portfolio

func (r *Resolver) Portfolio() PortfolioResolver

Portfolio returns PortfolioResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Task

func (r *Resolver) Task() TaskResolver

Task returns TaskResolver implementation.

func (*Resolver) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Board() BoardResolver
	Collaborator() CollaboratorResolver
	Entity() EntityResolver
	Goal() GoalResolver
	List() ListResolver
	Mutation() MutationResolver
	Phase() PhaseResolver
	Portfolio() PortfolioResolver
	Query() QueryResolver
	Task() TaskResolver
	User() UserResolver
}

type TaskResolver

type TaskResolver interface {
	ID(ctx context.Context, obj *model.Task) (string, error)

	Parent(ctx context.Context, obj *model.Task) (*model.Task, error)
	Subtasks(ctx context.Context, obj *model.Task) ([]*model.Task, error)

	Start(ctx context.Context, obj *model.Task) (*string, error)
	End(ctx context.Context, obj *model.Task) (*string, error)

	Metadata(ctx context.Context, obj *model.Task) (map[string]interface{}, error)
	UID(ctx context.Context, obj *model.Task) (string, error)
	List(ctx context.Context, obj *model.Task) (string, error)
	Assignee(ctx context.Context, obj *model.Task) (*string, error)
	Shares(ctx context.Context, obj *model.Task) ([]string, error)
	Created(ctx context.Context, obj *model.Task) (string, error)
	Updated(ctx context.Context, obj *model.Task) (string, error)
}

type UserResolver

type UserResolver interface {
	Goals(ctx context.Context, obj *model.User) ([]*model.Goal, error)
	Portfolios(ctx context.Context, obj *model.User) ([]*model.Portfolio, error)
	Boards(ctx context.Context, obj *model.User) ([]*model.Board, error)
	Lists(ctx context.Context, obj *model.User) ([]*model.List, error)
	Tasks(ctx context.Context, obj *model.User) ([]*model.Task, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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