This commit is contained in:
+12
-1
@@ -8,6 +8,7 @@ import (
|
||||
"git.aiterp.net/rpdata/api/graph2/input"
|
||||
"git.aiterp.net/rpdata/api/internal/auth"
|
||||
"git.aiterp.net/rpdata/api/models"
|
||||
"git.aiterp.net/rpdata/api/models/chapters"
|
||||
"git.aiterp.net/rpdata/api/models/stories"
|
||||
)
|
||||
|
||||
@@ -121,5 +122,15 @@ func (r *mutationResolver) RemoveStory(ctx context.Context, input input.StoryRem
|
||||
return models.Story{}, errors.New("You are not permitted to remove this story")
|
||||
}
|
||||
|
||||
return stories.Remove(story)
|
||||
story, err = stories.Remove(story)
|
||||
if err != nil {
|
||||
return models.Story{}, err
|
||||
}
|
||||
|
||||
err = chapters.RemoveStory(story)
|
||||
if err != nil {
|
||||
return models.Story{}, errors.New("Failed to remove chapters, but story is removed: " + err.Error())
|
||||
}
|
||||
|
||||
return story, nil
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package chapters
|
||||
|
||||
import "git.aiterp.net/rpdata/api/models"
|
||||
import (
|
||||
"git.aiterp.net/rpdata/api/models"
|
||||
"github.com/globalsign/mgo/bson"
|
||||
)
|
||||
|
||||
// Remove removes a chapter.
|
||||
func Remove(chapter models.Chapter) (models.Chapter, error) {
|
||||
@@ -10,3 +13,12 @@ func Remove(chapter models.Chapter) (models.Chapter, error) {
|
||||
|
||||
return chapter, nil
|
||||
}
|
||||
|
||||
// RemoveStory removes all chapters belonging to a story
|
||||
func RemoveStory(story models.Story) error {
|
||||
if _, err := collection.RemoveAll(bson.M{"storyId": story.ID}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user