diff options
author | Michael Muré <batolettre@gmail.com> | 2020-06-27 23:09:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-27 23:09:22 +0200 |
commit | c0dbc149d5c0c3610476ba14a800c9ba803a2c2c (patch) | |
tree | c07587da30eae7a37c2597d110ef1e66be3b4b8f /api/graphql/resolvers/label.go | |
parent | 23228101a2a38a139f6fc2cafc18e9f08d911089 (diff) | |
parent | 3aaf775857d186ad416133935e73ed1b063938c6 (diff) | |
download | git-bug-c0dbc149d5c0c3610476ba14a800c9ba803a2c2c.tar.gz |
Merge pull request #407 from lukegb/fix-402
Add support for read-only mode for web UI.
Diffstat (limited to 'api/graphql/resolvers/label.go')
-rw-r--r-- | api/graphql/resolvers/label.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/api/graphql/resolvers/label.go b/api/graphql/resolvers/label.go new file mode 100644 index 00000000..83e95029 --- /dev/null +++ b/api/graphql/resolvers/label.go @@ -0,0 +1,45 @@ +package resolvers + +import ( + "context" + "fmt" + "image/color" + + "github.com/MichaelMure/git-bug/api/graphql/graph" + "github.com/MichaelMure/git-bug/api/graphql/models" + "github.com/MichaelMure/git-bug/bug" +) + +var _ graph.LabelResolver = &labelResolver{} + +type labelResolver struct{} + +func (labelResolver) Name(ctx context.Context, obj *bug.Label) (string, error) { + return obj.String(), nil +} + +func (labelResolver) Color(ctx context.Context, obj *bug.Label) (*color.RGBA, error) { + rgba := obj.Color().RGBA() + return &rgba, nil +} + +var _ graph.LabelChangeResultResolver = &labelChangeResultResolver{} + +type labelChangeResultResolver struct{} + +func (labelChangeResultResolver) Status(ctx context.Context, obj *bug.LabelChangeResult) (models.LabelChangeStatus, error) { + switch obj.Status { + case bug.LabelChangeAdded: + return models.LabelChangeStatusAdded, nil + case bug.LabelChangeRemoved: + return models.LabelChangeStatusRemoved, nil + case bug.LabelChangeDuplicateInOp: + return models.LabelChangeStatusDuplicateInOp, nil + case bug.LabelChangeAlreadySet: + return models.LabelChangeStatusAlreadyExist, nil + case bug.LabelChangeDoesntExist: + return models.LabelChangeStatusDoesntExist, nil + } + + return "", fmt.Errorf("unknown status") +} |