Updated resolvers to be compatible with gqlgen 0.9
the build was successful

This commit is contained in:
2019-05-19 17:06:46 +02:00
parent 9925907e93
commit 015bdfd2e8
14 changed files with 185 additions and 43 deletions
+19 -4
View File
@@ -10,16 +10,31 @@ import (
/// Queries
func (r *resolver) Changes(ctx context.Context, filter *changes.Filter) ([]models.Change, error) {
return changes.List(filter)
func (r *resolver) Changes(ctx context.Context, filter *changes.Filter) ([]*models.Change, error) {
changes, err := changes.List(filter)
if err != nil {
return nil, err
}
changes2 := make([]*models.Change, len(changes))
for i, change := range changes {
changes2[i] = &change
}
return changes2, nil
}
/// Subscriptions
func (r *subscriptionResolver) Changes(ctx context.Context, keys []models.ChangeKey) (<-chan *models.Change, error) {
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")
}
return changes.Subscribe(ctx, keys, false), nil
keys2 := make([]models.ChangeKey, len(keys))
for i := range keys {
keys2[i] = *keys[i]
}
return changes.Subscribe(ctx, keys2, false), nil
}
+12 -2
View File
@@ -23,8 +23,18 @@ func (r *resolver) Channel(ctx context.Context, name string) (*models.Channel, e
return &channel, nil
}
func (r *resolver) Channels(ctx context.Context, filter *channels.Filter) ([]models.Channel, error) {
return channels.List(filter)
func (r *resolver) Channels(ctx context.Context, filter *channels.Filter) ([]*models.Channel, error) {
channels, err := channels.List(filter)
if err != nil {
return nil, err
}
channels2 := make([]*models.Channel, len(channels))
for i, channel := range channels {
channels2[i] = &channel
}
return channels2, nil
}
// Mutations
+12 -2
View File
@@ -36,8 +36,18 @@ func (r *resolver) Character(ctx context.Context, id *string, nick *string) (*mo
}
}
func (r *resolver) Characters(ctx context.Context, filter *characters.Filter) ([]models.Character, error) {
return characters.List(filter)
func (r *resolver) Characters(ctx context.Context, filter *characters.Filter) ([]*models.Character, error) {
characters, err := characters.List(filter)
if err != nil {
return nil, err
}
characters2 := make([]*models.Character, len(characters))
for i, character := range characters {
characters2[i] = &character
}
return characters2, nil
}
// Mutations
+12 -2
View File
@@ -17,7 +17,7 @@ func (r *resolver) File(ctx context.Context, id string) (*models.File, error) {
return &file, nil
}
func (r *resolver) Files(ctx context.Context, filter *files.Filter) ([]models.File, error) {
func (r *resolver) Files(ctx context.Context, filter *files.Filter) ([]*models.File, error) {
token := auth.TokenFromContext(ctx)
if filter == nil {
@@ -33,7 +33,17 @@ func (r *resolver) Files(ctx context.Context, filter *files.Filter) ([]models.Fi
filter.Public = &trueValue
}
return files.List(filter)
files, err := files.List(filter)
if err != nil {
return nil, err
}
files2 := make([]*models.File, len(files))
for i, file := range files {
files2[i] = &file
}
return files2, nil
}
var trueValue = true
+10 -5
View File
@@ -29,7 +29,7 @@ func (r *resolver) Log(ctx context.Context, id string) (*models.Log, error) {
return &log, nil
}
func (r *resolver) Logs(ctx context.Context, filter *logs.Filter) ([]models.Log, error) {
func (r *resolver) Logs(ctx context.Context, filter *logs.Filter) ([]*models.Log, error) {
logs, err := logs.List(filter)
if err != nil {
return nil, err
@@ -56,7 +56,12 @@ func (r *resolver) Logs(ctx context.Context, filter *logs.Filter) ([]models.Log,
}
}
return logs, nil
logs2 := make([]*models.Log, len(logs))
for i, log := range logs {
logs2[i] = &log
}
return logs2, nil
}
// Mutations
@@ -102,7 +107,7 @@ func (r *mutationResolver) AddLog(ctx context.Context, input input.LogAddInput)
return &log, nil
}
func (r *mutationResolver) ImportLog(ctx context.Context, input input.LogImportInput) ([]models.Log, error) {
func (r *mutationResolver) ImportLog(ctx context.Context, input input.LogImportInput) ([]*models.Log, error) {
token := auth.TokenFromContext(ctx)
if !token.Authenticated() || !token.Permitted("log.add") {
return nil, errors.New("You are not permitted to add logs")
@@ -128,7 +133,7 @@ func (r *mutationResolver) ImportLog(ctx context.Context, input input.LogImportI
return nil, err
}
newLogs := make([]models.Log, 0, len(results))
newLogs := make([]*models.Log, 0, len(results))
for _, result := range results {
go func(result logs.ImportedLog) {
changes.Submit("Log", "add", token.UserID, true, changekeys.Many(result.Log), result.Log)
@@ -140,7 +145,7 @@ func (r *mutationResolver) ImportLog(ctx context.Context, input input.LogImportI
log = result.Log
}
newLogs = append(newLogs, log)
newLogs = append(newLogs, &log)
}
return newLogs, nil
+19 -4
View File
@@ -25,7 +25,7 @@ func (r *resolver) Post(ctx context.Context, id string) (*models.Post, error) {
return &post, nil
}
func (r *resolver) Posts(ctx context.Context, filter *posts.Filter) ([]models.Post, error) {
func (r *resolver) Posts(ctx context.Context, filter *posts.Filter) ([]*models.Post, error) {
// Some sanity checks to avoid querying an insame amount of posts.
if filter == nil {
filter = &posts.Filter{Limit: 256}
@@ -43,7 +43,17 @@ func (r *resolver) Posts(ctx context.Context, filter *posts.Filter) ([]models.Po
}
}
return posts.List(filter)
posts, err := posts.List(filter)
if err != nil {
return nil, err
}
posts2 := make([]*models.Post, len(posts))
for i, post := range posts {
posts2[i] = &post
}
return posts2, nil
}
// Mutation
@@ -109,7 +119,7 @@ func (r *mutationResolver) EditPost(ctx context.Context, input input.PostEditInp
return &post, nil
}
func (r *mutationResolver) MovePost(ctx context.Context, input input.PostMoveInput) ([]models.Post, error) {
func (r *mutationResolver) MovePost(ctx context.Context, input input.PostMoveInput) ([]*models.Post, error) {
token := auth.TokenFromContext(ctx)
if !token.Authenticated() || !token.Permitted("post.move") {
return nil, errors.New("You are not permitted to edit logs")
@@ -134,7 +144,12 @@ func (r *mutationResolver) MovePost(ctx context.Context, input input.PostMoveInp
changes.Submit("Post", "move", token.UserID, true, changekeys.Many(log, posts), posts)
}()
return posts, nil
posts2 := make([]*models.Post, len(posts))
for i, post := range posts {
posts2[i] = &post
}
return posts2, nil
}
func (r *mutationResolver) RemovePost(ctx context.Context, input input.PostRemoveInput) (*models.Post, error) {
+20 -5
View File
@@ -24,7 +24,7 @@ func (r *resolver) Story(ctx context.Context, id string) (*models.Story, error)
return &story, nil
}
func (r *resolver) Stories(ctx context.Context, filter *stories.Filter) ([]models.Story, error) {
func (r *resolver) Stories(ctx context.Context, filter *stories.Filter) ([]*models.Story, error) {
if filter != nil {
if filter.Unlisted != nil && *filter.Unlisted == true {
token := auth.TokenFromContext(ctx)
@@ -38,7 +38,17 @@ func (r *resolver) Stories(ctx context.Context, filter *stories.Filter) ([]model
}
}
return stories.List(filter)
stories, err := stories.List(filter)
if err != nil {
return nil, err
}
stories2 := make([]*models.Story, len(stories))
for i, story := range stories {
stories2[i] = &story
}
return stories2, nil
}
// Mutations
@@ -66,7 +76,12 @@ func (r *mutationResolver) AddStory(ctx context.Context, input input.StoryAddInp
listed := input.Listed != nil && *input.Listed
open := input.Open != nil && *input.Open
story, err := stories.Add(input.Name, author, input.Category, listed, open, input.Tags, time.Now(), fictionalDate)
tags := make([]models.Tag, len(input.Tags))
for i := range input.Tags {
tags[i] = *input.Tags[i]
}
story, err := stories.Add(input.Name, author, input.Category, listed, open, tags, time.Now(), fictionalDate)
if err != nil {
return nil, errors.New("Failed to add story: " + err.Error())
}
@@ -94,7 +109,7 @@ func (r *mutationResolver) AddStoryTag(ctx context.Context, input input.StoryTag
}
}
story, err = stories.AddTag(story, input.Tag)
story, err = stories.AddTag(story, *input.Tag)
if err != nil {
return nil, errors.New("Failed to add story: " + err.Error())
}
@@ -122,7 +137,7 @@ func (r *mutationResolver) RemoveStoryTag(ctx context.Context, input input.Story
}
}
story, err = stories.RemoveTag(story, input.Tag)
story, err = stories.RemoveTag(story, *input.Tag)
if err != nil {
return nil, errors.New("Failed to add story: " + err.Error())
}
+12 -2
View File
@@ -7,6 +7,16 @@ import (
"git.aiterp.net/rpdata/api/models/tags"
)
func (r *resolver) Tags(ctx context.Context) ([]models.Tag, error) {
return tags.List()
func (r *resolver) Tags(ctx context.Context) ([]*models.Tag, error) {
tags, err := tags.List()
if err != nil {
return nil, err
}
tags2 := make([]*models.Tag, len(tags))
for i, tag := range tags {
tags2[i] = &tag
}
return tags2, nil
}
+12 -2
View File
@@ -11,7 +11,7 @@ import (
/// Queries
func (r *resolver) UnknownNicks(ctx context.Context, filter *input.UnknownNicksFilter) ([]models.UnknownNick, error) {
func (r *resolver) UnknownNicks(ctx context.Context, filter *input.UnknownNicksFilter) ([]*models.UnknownNick, error) {
limit := 100
if filter != nil {
if filter.Limit > 0 {
@@ -19,5 +19,15 @@ func (r *resolver) UnknownNicks(ctx context.Context, filter *input.UnknownNicksF
}
}
return unknownnicks.List(limit)
nicks, err := unknownnicks.List(limit)
if err != nil {
return nil, err
}
nicks2 := make([]*models.UnknownNick, len(nicks))
for i, nick := range nicks {
nicks2[i] = &nick
}
return nicks2, nil
}
+12 -2
View File
@@ -19,7 +19,7 @@ func (r *chapterResolver) FictionalDate(ctx context.Context, chapter *models.Cha
return &chapter.FictionalDate, nil
}
func (r *chapterResolver) Comments(ctx context.Context, chapter *models.Chapter, limit *int) ([]models.Comment, error) {
func (r *chapterResolver) Comments(ctx context.Context, chapter *models.Chapter, limit *int) ([]*models.Comment, error) {
limitValue := 0
if limit != nil {
if *limit < 0 {
@@ -33,7 +33,17 @@ func (r *chapterResolver) Comments(ctx context.Context, chapter *models.Chapter,
return nil, nil
}
return comments.ListChapterID(chapter.ID, limitValue)
comments, err := comments.ListChapterID(chapter.ID, limitValue)
if err != nil {
return nil, err
}
comments2 := make([]*models.Comment, len(comments))
for i, comment := range comments {
comments2[i] = &comment
}
return comments2, nil
}
// ChapterResolver is a resolver
+24 -8
View File
@@ -20,21 +20,37 @@ func (r *logResolver) Channel(ctx context.Context, log *models.Log) (*models.Cha
return loader.Channel("name", log.ChannelName)
}
func (r *logResolver) Characters(ctx context.Context, log *models.Log) ([]models.Character, error) {
func (r *logResolver) Characters(ctx context.Context, log *models.Log) ([]*models.Character, error) {
loader := loader.FromContext(ctx)
if loader == nil {
return nil, errors.New("no loader")
}
return loader.Characters("id", log.CharacterIDs...)
characters, err := loader.Characters("id", log.CharacterIDs...)
if err != nil {
return nil, err
}
characters2 := make([]*models.Character, len(characters))
for i, character := range characters {
characters2[i] = &character
}
return characters2, nil
}
func (r *logResolver) Posts(ctx context.Context, log *models.Log, kinds []string) ([]models.Post, error) {
return posts.List(&posts.Filter{
LogID: &log.ShortID,
Kind: kinds,
Limit: 0,
})
func (r *logResolver) Posts(ctx context.Context, log *models.Log, kinds []string) ([]*models.Post, error) {
posts, err := posts.List(&posts.Filter{LogID: &log.ShortID, Kind: kinds, Limit: 0})
if err != nil {
return nil, err
}
posts2 := make([]*models.Post, len(posts))
for i, post := range posts {
posts2[i] = &post
}
return posts2, nil
}
// LogResolver is a resolver
+12 -2
View File
@@ -19,8 +19,18 @@ func (r *storyResolver) FictionalDate(ctx context.Context, story *models.Story)
return &story.FictionalDate, nil
}
func (r *storyResolver) Chapters(ctx context.Context, story *models.Story) ([]models.Chapter, error) {
return chapters.ListStoryID(story.ID)
func (r *storyResolver) Chapters(ctx context.Context, story *models.Story) ([]*models.Chapter, error) {
chapters, err := chapters.ListStoryID(story.ID)
if err != nil {
return nil, err
}
chapters2 := make([]*models.Chapter, len(chapters))
for i, chapter := range chapters {
chapters2[i] = &chapter
}
return chapters2, nil
}
// StoryResolver is a resolver