operations.go

  1package resolvers
  2
  3import (
  4	"context"
  5	"fmt"
  6	"time"
  7
  8	"github.com/MichaelMure/git-bug/bug"
  9	"github.com/MichaelMure/git-bug/graphql/graph"
 10	"github.com/MichaelMure/git-bug/graphql/models"
 11)
 12
 13var _ graph.CreateOperationResolver = createOperationResolver{}
 14
 15type createOperationResolver struct{}
 16
 17func (createOperationResolver) ID(ctx context.Context, obj *bug.CreateOperation) (string, error) {
 18	return obj.Id().String(), nil
 19}
 20
 21func (createOperationResolver) Date(ctx context.Context, obj *bug.CreateOperation) (*time.Time, error) {
 22	t := obj.Time()
 23	return &t, nil
 24}
 25
 26var _ graph.AddCommentOperationResolver = addCommentOperationResolver{}
 27
 28type addCommentOperationResolver struct{}
 29
 30func (addCommentOperationResolver) ID(ctx context.Context, obj *bug.AddCommentOperation) (string, error) {
 31	return obj.Id().String(), nil
 32}
 33
 34func (addCommentOperationResolver) Date(ctx context.Context, obj *bug.AddCommentOperation) (*time.Time, error) {
 35	t := obj.Time()
 36	return &t, nil
 37}
 38
 39var _ graph.EditCommentOperationResolver = editCommentOperationResolver{}
 40
 41type editCommentOperationResolver struct{}
 42
 43func (editCommentOperationResolver) ID(ctx context.Context, obj *bug.EditCommentOperation) (string, error) {
 44	return obj.Id().String(), nil
 45}
 46
 47func (editCommentOperationResolver) Target(ctx context.Context, obj *bug.EditCommentOperation) (string, error) {
 48	return obj.Target.String(), nil
 49}
 50
 51func (editCommentOperationResolver) Date(ctx context.Context, obj *bug.EditCommentOperation) (*time.Time, error) {
 52	t := obj.Time()
 53	return &t, nil
 54}
 55
 56var _ graph.LabelChangeOperationResolver = labelChangeOperationResolver{}
 57
 58type labelChangeOperationResolver struct{}
 59
 60func (labelChangeOperationResolver) ID(ctx context.Context, obj *bug.LabelChangeOperation) (string, error) {
 61	return obj.Id().String(), nil
 62}
 63
 64func (labelChangeOperationResolver) Date(ctx context.Context, obj *bug.LabelChangeOperation) (*time.Time, error) {
 65	t := obj.Time()
 66	return &t, nil
 67}
 68
 69var _ graph.SetStatusOperationResolver = setStatusOperationResolver{}
 70
 71type setStatusOperationResolver struct{}
 72
 73func (setStatusOperationResolver) ID(ctx context.Context, obj *bug.SetStatusOperation) (string, error) {
 74	return obj.Id().String(), nil
 75}
 76
 77func (setStatusOperationResolver) Date(ctx context.Context, obj *bug.SetStatusOperation) (*time.Time, error) {
 78	t := obj.Time()
 79	return &t, nil
 80}
 81
 82func (setStatusOperationResolver) Status(ctx context.Context, obj *bug.SetStatusOperation) (models.Status, error) {
 83	return convertStatus(obj.Status)
 84}
 85
 86var _ graph.SetTitleOperationResolver = setTitleOperationResolver{}
 87
 88type setTitleOperationResolver struct{}
 89
 90func (setTitleOperationResolver) ID(ctx context.Context, obj *bug.SetTitleOperation) (string, error) {
 91	return obj.Id().String(), nil
 92}
 93
 94func (setTitleOperationResolver) Date(ctx context.Context, obj *bug.SetTitleOperation) (*time.Time, error) {
 95	t := obj.Time()
 96	return &t, nil
 97}
 98
 99func convertStatus(status bug.Status) (models.Status, error) {
100	switch status {
101	case bug.OpenStatus:
102		return models.StatusOpen, nil
103	case bug.ClosedStatus:
104		return models.StatusClosed, nil
105	}
106
107	return "", fmt.Errorf("unknown status")
108}