Remove the dependency of bson to interact with the books database
This commit is contained in:
parent
93d31b53fe
commit
40800c6527
3 changed files with 14 additions and 17 deletions
|
@ -83,18 +83,18 @@ func getBookId(coll *mgo.Collection, id string) (Book, error) {
|
|||
return book, err
|
||||
}
|
||||
|
||||
func deleteBook(coll *mgo.Collection, id bson.ObjectId) error {
|
||||
return coll.Remove(bson.M{"_id": id})
|
||||
func deleteBook(coll *mgo.Collection, id string) error {
|
||||
return coll.RemoveId(bson.ObjectIdHex(id))
|
||||
}
|
||||
|
||||
func updateBook(coll *mgo.Collection, id bson.ObjectId, data map[string]interface{}) error {
|
||||
func updateBook(coll *mgo.Collection, id string, data map[string]interface{}) error {
|
||||
data["keywords"] = keywords(data)
|
||||
return coll.Update(bson.M{"_id": id}, bson.M{"$set": data})
|
||||
return coll.UpdateId(bson.ObjectIdHex(id), bson.M{"$set": data})
|
||||
}
|
||||
|
||||
func bookActive(coll *mgo.Collection, id bson.ObjectId) bool {
|
||||
func bookActive(coll *mgo.Collection, id string) bool {
|
||||
var book Book
|
||||
err := coll.Find(bson.M{"_id": id}).One(&book)
|
||||
err := coll.FindId(bson.ObjectIdHex(id)).One(&book)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -63,18 +63,17 @@ func (db *DB) GetBookId(id string) (Book, error) {
|
|||
return getBookId(booksColl, id)
|
||||
}
|
||||
|
||||
// FIXME: don't export bson data
|
||||
func (db *DB) DeleteBook(id bson.ObjectId) error {
|
||||
func (db *DB) DeleteBook(id string) error {
|
||||
booksColl := db.session.DB(db.name).C(books_coll)
|
||||
return deleteBook(booksColl, id)
|
||||
}
|
||||
|
||||
func (db *DB) UpdateBook(id bson.ObjectId, data map[string]interface{}) error {
|
||||
func (db *DB) UpdateBook(id string, data map[string]interface{}) error {
|
||||
booksColl := db.session.DB(db.name).C(books_coll)
|
||||
return updateBook(booksColl, id, data)
|
||||
}
|
||||
|
||||
func (db *DB) BookActive(id bson.ObjectId) bool {
|
||||
func (db *DB) BookActive(id string) bool {
|
||||
booksColl := db.session.DB(db.name).C(books_coll)
|
||||
return bookActive(booksColl, id)
|
||||
}
|
||||
|
|
Reference in a new issue