package chapters import ( "time" "git.aiterp.net/rpdata/api/models" "github.com/globalsign/mgo/bson" ) // Move updates the chapter, moving it to the given story. func Move(chapter models.Chapter, story models.Story) (*models.Chapter, error) { now := time.Now() err := collection.UpdateId(chapter.ID, bson.M{"$set": bson.M{"editedDate": now, "storyId": story.ID}}) if err != nil { return nil, err } chapter.EditedDate = now if chapter.CreatedDate.After(story.UpdatedDate) { if err := storyCollection.UpdateId(story.ID, bson.M{"$set": bson.M{"updatedDate": chapter.CreatedDate}}); err == nil { story.UpdatedDate = chapter.CreatedDate } } return &chapter, nil }