Documentation
¶
Overview ¶
expose trello API/cards as model to be exposed by graphql
Index ¶
- Constants
- func ForContext(ctx context.Context) *jwt.Claims
- func GetAuthID(next http.Handler) http.Handler
- func MarshalTimestamp(t time.Time) graphql.Marshaler
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- func UnmarshalTimestamp(v interface{}) (time.Time, error)
- type BoardList
- type BoardListInput
- type ComplexityRoot
- type Config
- type DirectiveRoot
- type FinishResult
- type GenerateResult
- type MonthlyGoal
- type MonthlyGoalResolver
- type MutationResolver
- type QueryResolver
- type Resolver
- type ResolverRoot
- type Task
- func AddComment(taskID string, comment string) (*Task, error)
- func GetTasks(cl *workflow.Client, boardlist *BoardListInput) (tasks []Task, err error)
- func SetTaskDone(taskID string, done bool, titleComment *string) (*Task, error)
- func SetTaskDue(taskID string, due time.Time) (*Task, error)
- func TaskFor(card *trello.Card) (*Task, error)
- type Timer
- type WeeklyGoal
Constants ¶
const ( // SummaryDir is where dumped data about tasks is written SummaryDir = "task-summary" // ReviewDir is where templates are written and updated by humans. ReviewDir = "reviews" // ReviewVisDir is where templates from ReviewDir are processed into human friendly documents ReviewVisDir = "visualized_reviews" )
Variables ¶
This section is empty.
Functions ¶
func ForContext ¶
ForContext finds the user from the context. REQUIRES Middleware to have run.
func GetAuthID ¶
GetAuthID is middleware that gets authenticated claim if present and valid. This doesn't enforce authentication.
func MarshalTimestamp ¶
if the type referenced in .gqlgen.yml is a function that returns a marshaller we can use it to encode and decode onto any existing go type.
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
func UnmarshalTimestamp ¶
Unmarshal{Typename} is only required if the scalar appears as an input. The raw values have already been decoded from json into int/float64/bool/nil/map[string]interface/[]interface
Types ¶
type BoardListInput ¶
type ComplexityRoot ¶
type ComplexityRoot struct {
BoardList struct {
Board func(childComplexity int) int
List func(childComplexity int) int
}
FinishResult struct {
Message func(childComplexity int) int
Ok func(childComplexity int) int
}
GenerateResult struct {
Message func(childComplexity int) int
Ok func(childComplexity int) int
}
MonthlyGoal struct {
IDCard func(childComplexity int) int
Title func(childComplexity int) int
WeeklyGoals func(childComplexity int) int
}
Mutation struct {
PrepareWeeklyReview func(childComplexity int, year *int, week *int) int
FinishWeeklyReview func(childComplexity int, year *int, week *int) int
SetDueDate func(childComplexity int, taskID string, due time.Time) int
SetDone func(childComplexity int, taskID string, done bool, status *string, titleComment *string, nextDue *time.Time) int
MoveTaskToList func(childComplexity int, taskID string, list BoardListInput) int
StartTimer func(childComplexity int, taskID string, checkitemID *string) int
StopTimer func(childComplexity int, timerID string) int
AddComment func(childComplexity int, taskID string, comment string) int
SetGoalDone func(childComplexity int, taskID string, checkitemID string, done bool, status *string) int
AddTask func(childComplexity int, title string, board *string, list *string) int
AddWeeklyGoal func(childComplexity int, taskID string, title string, week int) int
AddMonthlyGoal func(childComplexity int, title string) int
PrepareMonthlyReview func(childComplexity int, year *int, month *int) int
FinishMonthlyReview func(childComplexity int, year *int, month *int) int
}
Query struct {
Tasks func(childComplexity int, dueBefore *int, inBoardList *BoardListInput) int
WeeklyVisualization func(childComplexity int, year *int, week *int) int
MonthlyVisualization func(childComplexity int, year *int, month *int) int
MonthlyGoals func(childComplexity int) int
ActiveTimer func(childComplexity int) int
}
Task struct {
ID func(childComplexity int) int
Title func(childComplexity int) int
CreatedDate func(childComplexity int) int
URL func(childComplexity int) int
Due func(childComplexity int) int
List func(childComplexity int) int
Period func(childComplexity int) int
DateLastActivity func(childComplexity int) int
Desc func(childComplexity int) int
ChecklistItems func(childComplexity int) int
}
Timer struct {
ID func(childComplexity int) int
Title func(childComplexity int) int
}
WeeklyGoal struct {
IDCard func(childComplexity int) int
IDCheckitem func(childComplexity int) int
Title func(childComplexity int) int
Tasks func(childComplexity int) int
Year func(childComplexity int) int
Month func(childComplexity int) int
Week func(childComplexity int) int
Done func(childComplexity int) int
Status func(childComplexity int) int
}
}
type Config ¶
type Config struct {
Resolvers ResolverRoot
Directives DirectiveRoot
Complexity ComplexityRoot
}
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type FinishResult ¶
type GenerateResult ¶
type MonthlyGoal ¶
type MonthlyGoal struct {
IDCard string
Title string // `json:"title"`
// contains filtered or unexported fields
}
func GetMonthlyGoals ¶
func GetMonthlyGoals(cl *workflow.Client) (goals []MonthlyGoal, err error)
type MonthlyGoalResolver ¶
type MonthlyGoalResolver interface {
WeeklyGoals(ctx context.Context, obj *MonthlyGoal) ([]WeeklyGoal, error)
}
type MutationResolver ¶
type MutationResolver interface {
PrepareWeeklyReview(ctx context.Context, year *int, week *int) (*GenerateResult, error)
FinishWeeklyReview(ctx context.Context, year *int, week *int) (*FinishResult, error)
SetDueDate(ctx context.Context, taskID string, due time.Time) (*Task, error)
SetDone(ctx context.Context, taskID string, done bool, status *string, titleComment *string, nextDue *time.Time) (*Task, error)
MoveTaskToList(ctx context.Context, taskID string, list BoardListInput) (*Task, error)
StartTimer(ctx context.Context, taskID string, checkitemID *string) (*Timer, error)
StopTimer(ctx context.Context, timerID string) (*bool, error)
AddComment(ctx context.Context, taskID string, comment string) (*Task, error)
SetGoalDone(ctx context.Context, taskID string, checkitemID string, done bool, status *string) ([]MonthlyGoal, error)
AddTask(ctx context.Context, title string, board *string, list *string) (*Task, error)
AddWeeklyGoal(ctx context.Context, taskID string, title string, week int) ([]MonthlyGoal, error)
AddMonthlyGoal(ctx context.Context, title string) ([]MonthlyGoal, error)
PrepareMonthlyReview(ctx context.Context, year *int, month *int) (*GenerateResult, error)
FinishMonthlyReview(ctx context.Context, year *int, month *int) (*FinishResult, error)
}
type QueryResolver ¶
type QueryResolver interface {
Tasks(ctx context.Context, dueBefore *int, inBoardList *BoardListInput) ([]Task, error)
WeeklyVisualization(ctx context.Context, year *int, week *int) (*string, error)
MonthlyVisualization(ctx context.Context, year *int, month *int) (*string, error)
MonthlyGoals(ctx context.Context) ([]MonthlyGoal, error)
ActiveTimer(ctx context.Context) (*Timer, error)
}
type Resolver ¶
type Resolver struct{}
func (*Resolver) MonthlyGoal ¶
func (r *Resolver) MonthlyGoal() MonthlyGoalResolver
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
type ResolverRoot ¶
type ResolverRoot interface {
MonthlyGoal() MonthlyGoalResolver
Mutation() MutationResolver
Query() QueryResolver
}
type Task ¶
type Task struct {
ID string `json:"id"`
Title string `json:"title"`
CreatedDate *time.Time `json:"createdDate"`
URL *string `json:"url"`
Due *time.Time `json:"due"`
List *BoardList `json:"list"`
Period *string `json:"period"`
DateLastActivity *time.Time `json:"dateLastActivity"`
Desc string `json:"desc"`
ChecklistItems []string `json:"checklistItems"`
}
func AddComment ¶
AddComment adds comment to card
func GetTasks ¶
func GetTasks(cl *workflow.Client, boardlist *BoardListInput, ) (tasks []Task, err error)
func SetTaskDone ¶
SetTaskDone moves task to done this week list or back to inbox (depending on done) and optionally prepends a title comment
type Timer ¶
func TimeEntryToTimer ¶
func TimeEntryToTimer(te *gttimeentry.TimeEntry) (*Timer, error)
type WeeklyGoal ¶
type WeeklyGoal struct {
IDCard string `json:"idCard"`
IDCheckitem string `json:"idCheckitem"`
Title string `json:"title"`
Tasks []*Task `json:"tasks"`
Year *int `json:"year"`
Month *int `json:"month"`
Week *int `json:"week"`
Done *bool `json:"done"`
Status *string `json:"status"`
}
func MonthlyGoalToWeeklyGoals ¶
func MonthlyGoalToWeeklyGoals(mg *MonthlyGoal) []WeeklyGoal