Eugh.
the build was successful

This commit is contained in:
2019-05-16 15:57:22 +02:00
parent 7e3dc49635
commit a5410dff2c
30 changed files with 177 additions and 118 deletions
+4 -4
View File
@@ -11,19 +11,19 @@ import (
var ErrTagAlreadyExists = errors.New("Tag already exists on story")
// AddTag adds a tag to the story. It returns ErrTagAlreadyExists if the tag is already there
func AddTag(story models.Story, tag models.Tag) (models.Story, error) {
func AddTag(story models.Story, tag models.Tag) (*models.Story, error) {
for i := range story.Tags {
if story.Tags[i].Equal(tag) {
return models.Story{}, ErrTagAlreadyExists
return nil, ErrTagAlreadyExists
}
}
err := collection.UpdateId(story.ID, bson.M{"$push": bson.M{"tags": tag}})
if err != nil {
return models.Story{}, err
return nil, err
}
story.Tags = append(story.Tags, tag)
return story, nil
return &story, nil
}
+3 -3
View File
@@ -7,7 +7,7 @@ import (
)
// Add creates a new story.
func Add(name, author string, category models.StoryCategory, listed, open bool, tags []models.Tag, createdDate, fictionalDate time.Time) (models.Story, error) {
func Add(name, author string, category models.StoryCategory, listed, open bool, tags []models.Tag, createdDate, fictionalDate time.Time) (*models.Story, error) {
story := models.Story{
ID: makeStoryID(),
Name: name,
@@ -23,8 +23,8 @@ func Add(name, author string, category models.StoryCategory, listed, open bool,
err := collection.Insert(story)
if err != nil {
return models.Story{}, err
return nil, err
}
return story, nil
return &story, nil
}
+5 -2
View File
@@ -12,11 +12,14 @@ import (
var collection *mgo.Collection
func find(query interface{}) (models.Story, error) {
func find(query interface{}) (*models.Story, error) {
story := models.Story{}
err := collection.Find(query).One(&story)
if err != nil {
return nil, err
}
return story, err
return &story, err
}
func list(query interface{}, limit int) ([]models.Story, error) {
+4 -4
View File
@@ -8,7 +8,7 @@ import (
)
// Edit edits the story and returns the edited story if it succeeds.
func Edit(story models.Story, name *string, category *models.StoryCategory, listed, open *bool, fictionalDate *time.Time) (models.Story, error) {
func Edit(story models.Story, name *string, category *models.StoryCategory, listed, open *bool, fictionalDate *time.Time) (*models.Story, error) {
changes := bson.M{}
if name != nil && *name != story.Name {
@@ -33,13 +33,13 @@ func Edit(story models.Story, name *string, category *models.StoryCategory, list
}
if len(changes) == 0 {
return story, nil
return &story, nil
}
err := collection.UpdateId(story.ID, bson.M{"$set": changes})
if err != nil {
return models.Story{}, err
return nil, err
}
return story, nil
return &story, nil
}
+1 -1
View File
@@ -6,6 +6,6 @@ import (
)
// FindID finds a story by ID
func FindID(id string) (models.Story, error) {
func FindID(id string) (*models.Story, error) {
return find(bson.M{"_id": id})
}
+4 -4
View File
@@ -11,7 +11,7 @@ import (
var ErrTagNotExists = errors.New("Tag does not exist on story")
// RemoveTag removes a tag to the story. It returns ErrTagNotExists if the tag does not exist.
func RemoveTag(story models.Story, tag models.Tag) (models.Story, error) {
func RemoveTag(story models.Story, tag models.Tag) (*models.Story, error) {
index := -1
for i := range story.Tags {
if story.Tags[i].Equal(tag) {
@@ -20,15 +20,15 @@ func RemoveTag(story models.Story, tag models.Tag) (models.Story, error) {
}
}
if index == -1 {
return models.Story{}, ErrTagNotExists
return nil, ErrTagNotExists
}
err := collection.UpdateId(story.ID, bson.M{"$pull": bson.M{"tags": tag}})
if err != nil {
return models.Story{}, err
return nil, err
}
story.Tags = append(story.Tags[:index], story.Tags[index+1:]...)
return story, nil
return &story, nil
}
+2 -2
View File
@@ -5,6 +5,6 @@ import (
)
// Remove the story from the database
func Remove(story models.Story) (models.Story, error) {
return story, collection.RemoveId(story.ID)
func Remove(story models.Story) (*models.Story, error) {
return &story, collection.RemoveId(story.ID)
}