models2: Added post removal on log removal.
This commit is contained in:
+11
-2
@@ -1,6 +1,11 @@
|
||||
package logs
|
||||
|
||||
import "git.aiterp.net/rpdata/api/models"
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"git.aiterp.net/rpdata/api/models"
|
||||
"git.aiterp.net/rpdata/api/models/posts"
|
||||
)
|
||||
|
||||
// Remove removes the log.
|
||||
func Remove(log models.Log) (models.Log, error) {
|
||||
@@ -9,5 +14,9 @@ func Remove(log models.Log) (models.Log, error) {
|
||||
return models.Log{}, err
|
||||
}
|
||||
|
||||
if err := posts.RemoveAllInLog(log); err != nil {
|
||||
return models.Log{}, errors.New("The log was removed, but its posts couldn't be: " + err.Error())
|
||||
}
|
||||
|
||||
return log, nil
|
||||
}
|
||||
}
|
||||
@@ -22,3 +22,9 @@ func Remove(post models.Post) (models.Post, error) {
|
||||
|
||||
return post, nil
|
||||
}
|
||||
|
||||
// RemoveAllInLog removes all posts for the given log.
|
||||
func RemoveAllInLog(log models.Log) error {
|
||||
_, err := collection.RemoveAll(bson.M{"logId": log.ShortID})
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user