graph

package
v0.0.0-...-23b5947 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: MIT Imports: 30 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 {
	Mutation struct {
		CreateTask           func(childComplexity int, description string, project *string, priority *string, due *string) int
		DeleteTask           func(childComplexity int, id string) int
		DeleteTimeRecord     func(childComplexity int, id int) int
		DownloadTaskKeys     func(childComplexity int) int
		EditTask             func(childComplexity int, id int, description *string, project *string, priority *string, due *string, tags []*string, depends []*string, recurring *string, until *string) int
		MarkTaskDone         func(childComplexity int, id int) int
		ModifyTimeRecordDate func(childComplexity int, id int, start *string, end *string) int
		SetTimewHook         func(childComplexity int, enabled bool) int
		SignIn               func(childComplexity int, username string, password string) int
		SignOut              func(childComplexity int) int
		SignUp               func(childComplexity int, username string, password string) int
		StartTask            func(childComplexity int, id int) int
		StopTask             func(childComplexity int, id int) int
		TagTimeRecord        func(childComplexity int, id int, tag string) int
		TimeStart            func(childComplexity int) int
		TimeStop             func(childComplexity int) int
		UntagTimeRecord      func(childComplexity int, id int, tag string) int
		UploadTimeWarriorKey func(childComplexity int, key string) int
	}

	Query struct {
		Me                 func(childComplexity int) int
		RecentTaskProjects func(childComplexity int) int
		RecentTaskTags     func(childComplexity int) int
		Tasks              func(childComplexity int, filter *model.TaskFilter) int
		TimeRecords        func(childComplexity int) int
		TimeTags           func(childComplexity int) int
	}

	SignInPayload struct {
		Token func(childComplexity int) int
		User  func(childComplexity int) int
	}

	Task struct {
		Depends     func(childComplexity int) int
		Description func(childComplexity int) int
		Due         func(childComplexity int) int
		Entry       func(childComplexity int) int
		ID          func(childComplexity int) int
		Modified    func(childComplexity int) int
		Parent      func(childComplexity int) int
		Priority    func(childComplexity int) int
		Project     func(childComplexity int) int
		Recur       func(childComplexity int) int
		Start       func(childComplexity int) int
		Status      func(childComplexity int) int
		Tags        func(childComplexity int) int
		UUID        func(childComplexity int) int
		Until       func(childComplexity int) int
		Urgency     func(childComplexity int) int
	}

	TimeRecord struct {
		End   func(childComplexity int) int
		ID    func(childComplexity int) int
		Start func(childComplexity int) int
		Tags  func(childComplexity int) int
	}

	User struct {
		ID        func(childComplexity int) int
		Password  func(childComplexity int) int
		TaskdUUID func(childComplexity int) int
		TimewHook func(childComplexity int) int
		TimewID   func(childComplexity int) int
		Username  func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	TimeStart(ctx context.Context) (*model.TimeRecord, error)
	TimeStop(ctx context.Context) (*model.TimeRecord, error)
	DeleteTimeRecord(ctx context.Context, id int) (*model.TimeRecord, error)
	ModifyTimeRecordDate(ctx context.Context, id int, start *string, end *string) (*model.TimeRecord, error)
	TagTimeRecord(ctx context.Context, id int, tag string) (*model.TimeRecord, error)
	UntagTimeRecord(ctx context.Context, id int, tag string) (*model.TimeRecord, error)
	CreateTask(ctx context.Context, description string, project *string, priority *string, due *string) (*model.Task, error)
	MarkTaskDone(ctx context.Context, id int) (*model.Task, error)
	EditTask(ctx context.Context, id int, description *string, project *string, priority *string, due *string, tags []*string, depends []*string, recurring *string, until *string) (*model.Task, error)
	StartTask(ctx context.Context, id int) (*model.Task, error)
	StopTask(ctx context.Context, id int) (*model.Task, error)
	DeleteTask(ctx context.Context, id string) (*model.Task, error)
	SignIn(ctx context.Context, username string, password string) (*model.SignInPayload, error)
	SignUp(ctx context.Context, username string, password string) (*model.SignInPayload, error)
	SetTimewHook(ctx context.Context, enabled bool) (bool, error)
	SignOut(ctx context.Context) (bool, error)
	DownloadTaskKeys(ctx context.Context) (string, error)
	UploadTimeWarriorKey(ctx context.Context, key string) (bool, error)
}

type QueryResolver

type QueryResolver interface {
	TimeRecords(ctx context.Context) ([]*model.TimeRecord, error)
	TimeTags(ctx context.Context) ([]string, error)
	Me(ctx context.Context) (*db.User, error)
	Tasks(ctx context.Context, filter *model.TaskFilter) ([]*model.Task, error)
	RecentTaskProjects(ctx context.Context) ([]string, error)
	RecentTaskTags(ctx context.Context) ([]string, error)
}

type Resolver

type Resolver struct {
	DB *db.Queries
}

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) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Mutation() MutationResolver
	Query() QueryResolver
	User() UserResolver
}

type UserResolver

type UserResolver interface {
	TimewID(ctx context.Context, obj *db.User) (string, error)
	TaskdUUID(ctx context.Context, obj *db.User) (string, error)
	TimewHook(ctx context.Context, obj *db.User) (bool, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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