Library/models/books_delete.go

34 lines
591 B
Go
Raw Normal View History

package models
2017-11-08 09:55:17 +00:00
// DeleteBookByID deletes a book by its ID
2018-03-06 11:36:49 +00:00
func DeleteBookByID(id int64, doer *User) error {
// Check if the id is 0
if id == 0 {
return ErrIDCannotBeZero{}
}
// Delete the book
_, err := x.Id(id).Delete(&Book{})
if err != nil {
return err
}
2018-01-15 12:12:26 +00:00
// Delete all author associations for that book
2017-11-07 15:35:10 +00:00
_, err = x.Delete(&AuthorBook{BookID: id})
if err != nil {
return err
}
// Delete all quantites for this book
_, err = x.Delete(&Quantity{ItemID: id})
2018-03-06 11:36:49 +00:00
if err != nil {
return err
}
// Logging
err = logAction(ActionTypeBookDeleted, doer, id)
return err
2017-11-07 15:35:10 +00:00
}