@@ -3,7 +3,6 @@ package graph2
|
||||
import (
|
||||
"git.aiterp.net/rpdata/api/graph2/graphcore"
|
||||
"git.aiterp.net/rpdata/api/models"
|
||||
"git.aiterp.net/rpdata/api/models/changes"
|
||||
"git.aiterp.net/rpdata/api/models/channels"
|
||||
"git.aiterp.net/rpdata/api/models/files"
|
||||
"git.aiterp.net/rpdata/api/models/logs"
|
||||
@@ -71,7 +70,7 @@ func complexity() (cr graphcore.ComplexityRoot) {
|
||||
cr.Query.Files = func(childComplexity int, filter *files.Filter) int {
|
||||
return childComplexity + listComplexity
|
||||
}
|
||||
cr.Query.Changes = func(childComplexity int, filter *changes.Filter) int {
|
||||
cr.Query.Changes = func(childComplexity int, filter *models.ChangeFilter) int {
|
||||
return childComplexity + listComplexity
|
||||
}
|
||||
cr.Query.Token = func(childComplexity int) int {
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ models:
|
||||
ChangeKeyInput: # It's the same as ChangeKey
|
||||
model: git.aiterp.net/rpdata/api/models.ChangeKey
|
||||
ChangesFilter:
|
||||
model: git.aiterp.net/rpdata/api/models/changes.Filter
|
||||
model: git.aiterp.net/rpdata/api/models.ChangeFilter
|
||||
Token:
|
||||
model: git.aiterp.net/rpdata/api/models.Token
|
||||
User:
|
||||
|
||||
@@ -2,39 +2,25 @@ package resolvers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"git.aiterp.net/rpdata/api/models"
|
||||
"git.aiterp.net/rpdata/api/models/changes"
|
||||
)
|
||||
|
||||
/// Queries
|
||||
|
||||
func (r *queryResolver) Changes(ctx context.Context, filter *changes.Filter) ([]*models.Change, error) {
|
||||
changes, err := changes.List(filter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
func (r *queryResolver) Changes(ctx context.Context, filter *models.ChangeFilter) ([]*models.Change, error) {
|
||||
if filter == nil {
|
||||
filter = &models.ChangeFilter{}
|
||||
}
|
||||
|
||||
changes2 := make([]*models.Change, len(changes))
|
||||
for i := range changes {
|
||||
changes2[i] = &changes[i]
|
||||
}
|
||||
|
||||
return changes2, nil
|
||||
return r.s.Changes.List(ctx, *filter)
|
||||
}
|
||||
|
||||
/// Subscriptions
|
||||
|
||||
func (r *subscriptionResolver) Changes(ctx context.Context, keys []*models.ChangeKey) (<-chan *models.Change, error) {
|
||||
if len(keys) == 0 {
|
||||
return nil, errors.New("At least one key is required for a subscription")
|
||||
func (r *subscriptionResolver) Changes(ctx context.Context, filter *models.ChangeFilter) (<-chan *models.Change, error) {
|
||||
if filter == nil {
|
||||
filter = &models.ChangeFilter{}
|
||||
}
|
||||
|
||||
keys2 := make([]models.ChangeKey, len(keys))
|
||||
for i := range keys {
|
||||
keys2[i] = *keys[i]
|
||||
}
|
||||
|
||||
return changes.Subscribe(ctx, keys2, false), nil
|
||||
return r.s.Changes.Subscribe(ctx, *filter), nil
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ type Subscription {
|
||||
"""
|
||||
Changes subscribes to the changes matching the following keys.
|
||||
"""
|
||||
changes(keys: [ChangeKeyInput!]!): Change!
|
||||
changes(filter: ChangesFilter): Change!
|
||||
}
|
||||
|
||||
# A Time represents a RFC3339 encoded date with up to millisecond precision.
|
||||
|
||||
@@ -73,9 +73,12 @@ input ChangesFilter {
|
||||
"The keys to query for."
|
||||
keys: [ChangeKeyInput!]
|
||||
|
||||
"Only show changes by this author"
|
||||
author: String
|
||||
|
||||
"Only show changes more recent than this date."
|
||||
earliestDate: Time
|
||||
|
||||
"Limit the amount of results."
|
||||
"Limit the amount of results. This even goes for subscriptions!"
|
||||
limit: Int
|
||||
}
|
||||
Reference in New Issue
Block a user