diff options
author | Michael Muré <batolettre@gmail.com> | 2018-07-29 18:11:33 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-07-29 18:51:56 +0200 |
commit | 6363518c85cbd8247a5f6507b8a1dd3903cfb71d (patch) | |
tree | aa51652e9881196b3637247988cbd5155f42b5e2 /graphql2/resolvers/operations.go | |
parent | ff2fd14e3f10a7206d4ec86f07e524cfa290e0fc (diff) | |
download | git-bug-6363518c85cbd8247a5f6507b8a1dd3903cfb71d.tar.gz |
relay connection working with gqlgen
Diffstat (limited to 'graphql2/resolvers/operations.go')
-rw-r--r-- | graphql2/resolvers/operations.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/graphql2/resolvers/operations.go b/graphql2/resolvers/operations.go new file mode 100644 index 00000000..1279a1b4 --- /dev/null +++ b/graphql2/resolvers/operations.go @@ -0,0 +1,54 @@ +package resolvers + +import ( + "context" + "fmt" + "github.com/MichaelMure/git-bug/bug" + "github.com/MichaelMure/git-bug/bug/operations" + "time" +) + +type addCommentOperationResolver struct{} + +func (addCommentOperationResolver) Date(ctx context.Context, obj *operations.AddCommentOperation) (time.Time, error) { + return obj.Time(), nil +} + +type createOperationResolver struct{} + +func (createOperationResolver) Date(ctx context.Context, obj *operations.CreateOperation) (time.Time, error) { + return obj.Time(), nil +} + +type labelChangeOperation struct{} + +func (labelChangeOperation) Date(ctx context.Context, obj *operations.LabelChangeOperation) (time.Time, error) { + return obj.Time(), nil +} + +type setStatusOperationResolver struct{} + +func (setStatusOperationResolver) Date(ctx context.Context, obj *operations.SetStatusOperation) (time.Time, error) { + return obj.Time(), nil +} + +func (setStatusOperationResolver) Status(ctx context.Context, obj *operations.SetStatusOperation) (Status, error) { + return convertStatus(obj.Status) +} + +type setTitleOperationResolver struct{} + +func (setTitleOperationResolver) Date(ctx context.Context, obj *operations.SetTitleOperation) (time.Time, error) { + return obj.Time(), nil +} + +func convertStatus(status bug.Status) (Status, error) { + switch status { + case bug.OpenStatus: + return StatusOpen, nil + case bug.ClosedStatus: + return StatusClosed, nil + } + + return "", fmt.Errorf("Unknown status") +} |