Library/models/publishers_add_update.go

37 lines
858 B
Go
Raw Normal View History

package models
// AddOrUpdatePublisher adds or updates a publisher from a publisher struct
2018-03-06 11:36:49 +00:00
func AddOrUpdatePublisher(publisher Publisher, doer *User) (newPublisher Publisher, err error) {
if publisher.ID == 0 {
if publisher.Name == "" { // Only insert it if the name is not empty
return Publisher{}, ErrNoPublisherName{}
}
2018-01-16 13:28:44 +00:00
_, err = x.Insert(&publisher)
if err != nil {
return Publisher{}, err
}
2018-03-06 11:36:49 +00:00
// Log
err = logAction(ActionTypePublisherAdded, doer, publisher.ID)
if err != nil {
return Publisher{}, err
}
} else {
_, err = x.ID(publisher.ID).Update(&publisher)
2018-03-06 11:36:49 +00:00
if err != nil {
return Publisher{}, err
}
2018-03-06 11:36:49 +00:00
// Log
err = logAction(ActionTypePublisherUpdated, doer, publisher.ID)
if err != nil {
return Publisher{}, err
}
}
newPublisher, _, err = GetPublisherByID(publisher.ID)
return newPublisher, err
2017-11-07 15:35:10 +00:00
}