import sources from develop/0.1.0
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
package comics
|
||||
|
||||
import (
|
||||
"gitlab.thpeetz.de/kontor/kontor-go/pkg/dao"
|
||||
|
||||
mgo "gopkg.in/mgo.v2"
|
||||
"gopkg.in/mgo.v2/bson"
|
||||
)
|
||||
|
||||
// PublisherDAO extends the type BaseDAO.
|
||||
type PublisherDAO struct {
|
||||
Db dao.BaseDAO
|
||||
}
|
||||
|
||||
const (
|
||||
// PUBLISHERCOLLECTION defines the collection name for storing publishers.
|
||||
PUBLISHERCOLLECTION = "publisher"
|
||||
// PUBLISHERMODEL defines the name of the publisher data model.
|
||||
PUBLISHERMODEL = "kontor.comics.publisher"
|
||||
)
|
||||
|
||||
// FindAll retrieves the list of publishers from the database.
|
||||
func (m *PublisherDAO) FindAll() ([]Publisher, error) {
|
||||
m.Db.Connect()
|
||||
var publishers []Publisher
|
||||
err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).Find(bson.M{"model": PUBLISHERMODEL}).All(&publishers)
|
||||
return publishers, err
|
||||
}
|
||||
|
||||
// FindByID returns an publisher with given id or returns the error.
|
||||
func (m *PublisherDAO) FindByID(id string) (Publisher, error) {
|
||||
m.Db.Connect()
|
||||
var publisher Publisher
|
||||
err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).FindId(bson.ObjectIdHex(id)).One(&publisher)
|
||||
return publisher, err
|
||||
}
|
||||
|
||||
// FindByName returns an comic with given name or returns the error.
|
||||
func (m *PublisherDAO) FindByName(name string) (Publisher, error) {
|
||||
m.Db.Connect()
|
||||
var publisher Publisher
|
||||
err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).Find(bson.M{"name": name, "model": PUBLISHERMODEL}).One(&publisher)
|
||||
return publisher, err
|
||||
}
|
||||
|
||||
// Insert a publisher into database.
|
||||
func (m *PublisherDAO) Insert(publisher Publisher) error {
|
||||
m.Db.Connect()
|
||||
publisher.Model = PUBLISHERMODEL
|
||||
err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).Insert(&publisher)
|
||||
//util.PrintDebug("PublisherDAO.Insert: %v", publisher)
|
||||
return err
|
||||
}
|
||||
|
||||
// Upsert a publisher into database.
|
||||
func (m *PublisherDAO) Upsert(publisher Publisher) (*mgo.ChangeInfo, error) {
|
||||
m.Db.Connect()
|
||||
publisher.Model = PUBLISHERMODEL
|
||||
info, err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).Upsert(bson.M{"name": publisher.Name}, &publisher)
|
||||
return info, err
|
||||
}
|
||||
|
||||
// Delete an existing publisher.
|
||||
func (m *PublisherDAO) Delete(publisher Publisher) error {
|
||||
m.Db.Connect()
|
||||
err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).Remove(&publisher)
|
||||
return err
|
||||
}
|
||||
|
||||
// Update an existing publisher.
|
||||
func (m *PublisherDAO) Update(publisher Publisher) error {
|
||||
m.Db.Connect()
|
||||
err := m.Db.MongoDb.C(PUBLISHERCOLLECTION).UpdateId(publisher.ID, &publisher)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user