import other kontor repos into directories
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
package tysc
|
||||
|
||||
import (
|
||||
"gitlab.thpeetz.de/kontor/kontor-go/pkg/dao"
|
||||
|
||||
mgo "gopkg.in/mgo.v2"
|
||||
"gopkg.in/mgo.v2/bson"
|
||||
)
|
||||
|
||||
// SportDAO extends the type BaseDAO.
|
||||
type SportDAO struct {
|
||||
Db dao.BaseDAO
|
||||
}
|
||||
|
||||
const (
|
||||
// SPORTCOLLECTION defines the collection name for storing sports.
|
||||
SPORTCOLLECTION = "sport"
|
||||
// SPORTMODEL defines the name of the sport data model.
|
||||
SPORTMODEL = "kontor.tysc.sport"
|
||||
)
|
||||
|
||||
// FindAll retrieves the list of sports from the database.
|
||||
func (m *SportDAO) FindAll() ([]Sport, error) {
|
||||
m.Db.Connect()
|
||||
var sports []Sport
|
||||
err := m.Db.MongoDb.C(SPORTCOLLECTION).Find(bson.M{"model": SPORTMODEL}).All(&sports)
|
||||
return sports, err
|
||||
}
|
||||
|
||||
// FindByID returns a sport with given id or returns the error.
|
||||
func (m *SportDAO) FindByID(id string) (Sport, error) {
|
||||
m.Db.Connect()
|
||||
var sport Sport
|
||||
err := m.Db.MongoDb.C(SPORTCOLLECTION).FindId(bson.ObjectIdHex(id)).One(&sport)
|
||||
return sport, err
|
||||
}
|
||||
|
||||
// FindByName returns a sport with given name or returns the error.
|
||||
func (m *SportDAO) FindByName(name string) (Sport, error) {
|
||||
m.Db.Connect()
|
||||
var sport Sport
|
||||
err := m.Db.MongoDb.C(SPORTCOLLECTION).Find(bson.M{"name": name, "model": SPORTMODEL}).One(&sport)
|
||||
return sport, err
|
||||
}
|
||||
|
||||
// Insert a sport into database.
|
||||
func (m *SportDAO) Insert(sport Sport) error {
|
||||
m.Db.Connect()
|
||||
sport.Model = SPORTMODEL
|
||||
err := m.Db.MongoDb.C(SPORTCOLLECTION).Insert(&sport)
|
||||
return err
|
||||
}
|
||||
|
||||
// Upsert a sport into database.
|
||||
func (m *SportDAO) Upsert(sport Sport) (*mgo.ChangeInfo, error) {
|
||||
m.Db.Connect()
|
||||
sport.Model = SPORTMODEL
|
||||
info, err := m.Db.MongoDb.C(SPORTCOLLECTION).Upsert(bson.M{"name": sport.Name}, &sport)
|
||||
return info, err
|
||||
}
|
||||
|
||||
// Update an existing sport.
|
||||
func (m *SportDAO) Update(sport Sport) error {
|
||||
m.Db.Connect()
|
||||
err := m.Db.MongoDb.C(SPORTCOLLECTION).UpdateId(sport.ID, &sport)
|
||||
return err
|
||||
}
|
||||
|
||||
// Delete an existing sport.
|
||||
func (m *SportDAO) Delete(sport Sport) error {
|
||||
m.Db.Connect()
|
||||
err := m.Db.MongoDb.C(SPORTCOLLECTION).Remove(&sport)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user