aboutsummaryrefslogtreecommitdiffstats
path: root/api/graphql/models
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2022-07-25 13:16:16 +0200
committerMichael Muré <batolettre@gmail.com>2022-07-25 13:27:17 +0200
commit3d454d9dc8ba2409046c0938618a70864e6eb8ef (patch)
tree8745f656cc8218654632ce003f997a39988d3043 /api/graphql/models
parent2ade8fb1d570ddcb4aedc9386af46d208b129daa (diff)
downloadgit-bug-3d454d9dc8ba2409046c0938618a70864e6eb8ef.tar.gz
entity/dag: proper base operation for simplified implementation
- reduce boilerplace necessary to implement an operation - consolidate what an operation is in the core, which in turn pave the way for a generic cache layer mechanism - avoid the previously complex unmarshalling process - support operation metadata from the core - simplified testing
Diffstat (limited to 'api/graphql/models')
-rw-r--r--api/graphql/models/gen_models.go5
-rw-r--r--api/graphql/models/lazy_bug.go7
2 files changed, 7 insertions, 5 deletions
diff --git a/api/graphql/models/gen_models.go b/api/graphql/models/gen_models.go
index 203d6451..5e2e1715 100644
--- a/api/graphql/models/gen_models.go
+++ b/api/graphql/models/gen_models.go
@@ -8,6 +8,7 @@ import (
"strconv"
"github.com/MichaelMure/git-bug/bug"
+ "github.com/MichaelMure/git-bug/entity/dag"
"github.com/MichaelMure/git-bug/repository"
)
@@ -250,7 +251,7 @@ type OpenBugPayload struct {
// The connection type for an Operation
type OperationConnection struct {
Edges []*OperationEdge `json:"edges"`
- Nodes []bug.Operation `json:"nodes"`
+ Nodes []dag.Operation `json:"nodes"`
PageInfo *PageInfo `json:"pageInfo"`
TotalCount int `json:"totalCount"`
}
@@ -258,7 +259,7 @@ type OperationConnection struct {
// Represent an Operation
type OperationEdge struct {
Cursor string `json:"cursor"`
- Node bug.Operation `json:"node"`
+ Node dag.Operation `json:"node"`
}
// Information about pagination in a connection.
diff --git a/api/graphql/models/lazy_bug.go b/api/graphql/models/lazy_bug.go
index bc26aaca..092f2472 100644
--- a/api/graphql/models/lazy_bug.go
+++ b/api/graphql/models/lazy_bug.go
@@ -7,6 +7,7 @@ import (
"github.com/MichaelMure/git-bug/bug"
"github.com/MichaelMure/git-bug/cache"
"github.com/MichaelMure/git-bug/entity"
+ "github.com/MichaelMure/git-bug/entity/dag"
)
// BugWrapper is an interface used by the GraphQL resolvers to handle a bug.
@@ -24,7 +25,7 @@ type BugWrapper interface {
Participants() ([]IdentityWrapper, error)
CreatedAt() time.Time
Timeline() ([]bug.TimelineItem, error)
- Operations() ([]bug.Operation, error)
+ Operations() ([]dag.Operation, error)
IsAuthored()
}
@@ -144,7 +145,7 @@ func (lb *lazyBug) Timeline() ([]bug.TimelineItem, error) {
return lb.snap.Timeline, nil
}
-func (lb *lazyBug) Operations() ([]bug.Operation, error) {
+func (lb *lazyBug) Operations() ([]dag.Operation, error) {
err := lb.load()
if err != nil {
return nil, err
@@ -210,6 +211,6 @@ func (l *loadedBug) Timeline() ([]bug.TimelineItem, error) {
return l.Snapshot.Timeline, nil
}
-func (l *loadedBug) Operations() ([]bug.Operation, error) {
+func (l *loadedBug) Operations() ([]dag.Operation, error) {
return l.Snapshot.Operations, nil
}