diff options
author | Michael Muré <batolettre@gmail.com> | 2022-07-25 13:16:16 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2022-07-25 13:27:17 +0200 |
commit | 3d454d9dc8ba2409046c0938618a70864e6eb8ef (patch) | |
tree | 8745f656cc8218654632ce003f997a39988d3043 /api/graphql/models | |
parent | 2ade8fb1d570ddcb4aedc9386af46d208b129daa (diff) | |
download | git-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.go | 5 | ||||
-rw-r--r-- | api/graphql/models/lazy_bug.go | 7 |
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 } |