Changes to change system.
the build was successful

This commit is contained in:
2019-06-16 10:32:34 +02:00
parent 13f82399ef
commit 021f67ea4b
19 changed files with 503 additions and 87 deletions
+1 -2
View File
@@ -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
View File
@@ -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:
+8 -22
View File
@@ -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
}
+1 -1
View File
@@ -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.
+4 -1
View File
@@ -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
}