import other kontor repos into directories
This commit is contained in:
committed by
Thomas Peetz
parent
28746adfbb
commit
b424e95e05
@@ -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"
|
||||
)
|
||||
|
||||
// PositionDAO extends the type BaseDAO.
|
||||
type PositionDAO struct {
|
||||
Db dao.BaseDAO
|
||||
}
|
||||
|
||||
const (
|
||||
// POSITIONCOLLECTION defines the collection name for storing positions.
|
||||
POSITIONCOLLECTION = "position"
|
||||
// POSITIONMODEL defines the name of the position data model.
|
||||
POSITIONMODEL = "kontor.tysc.position"
|
||||
)
|
||||
|
||||
// FindAll retrieves the list of positions from the database.
|
||||
func (m *PositionDAO) FindAll() ([]Position, error) {
|
||||
m.Db.Connect()
|
||||
var positions []Position
|
||||
err := m.Db.MongoDb.C(POSITIONCOLLECTION).Find(bson.M{"model": POSITIONMODEL}).All(&positions)
|
||||
return positions, err
|
||||
}
|
||||
|
||||
// FindByID returns a position with given id or returns the error.
|
||||
func (m *PositionDAO) FindByID(id string) (Position, error) {
|
||||
m.Db.Connect()
|
||||
var position Position
|
||||
err := m.Db.MongoDb.C(POSITIONCOLLECTION).FindId(bson.ObjectIdHex(id)).One(&position)
|
||||
return position, err
|
||||
}
|
||||
|
||||
// FindByName returns a position with given name or returns the error.
|
||||
func (m *PositionDAO) FindByName(name string) (Position, error) {
|
||||
m.Db.Connect()
|
||||
var position Position
|
||||
err := m.Db.MongoDb.C(POSITIONCOLLECTION).Find(bson.M{"name": name, "model": POSITIONMODEL}).One(&position)
|
||||
return position, err
|
||||
}
|
||||
|
||||
// Insert a position into database.
|
||||
func (m *PositionDAO) Insert(position Position) error {
|
||||
m.Db.Connect()
|
||||
position.Model = POSITIONMODEL
|
||||
err := m.Db.MongoDb.C(POSITIONCOLLECTION).Insert(&position)
|
||||
return err
|
||||
}
|
||||
|
||||
// Upsert a position into database.
|
||||
func (m *PositionDAO) Upsert(position Position) (*mgo.ChangeInfo, error) {
|
||||
m.Db.Connect()
|
||||
position.Model = POSITIONMODEL
|
||||
info, err := m.Db.MongoDb.C(POSITIONCOLLECTION).Upsert(bson.M{"name": position.Name}, &position)
|
||||
return info, err
|
||||
}
|
||||
|
||||
// Update an existing position.
|
||||
func (m *PositionDAO) Update(position Position) error {
|
||||
m.Db.Connect()
|
||||
err := m.Db.MongoDb.C(POSITIONCOLLECTION).UpdateId(position.ID, &position)
|
||||
return err
|
||||
}
|
||||
|
||||
// Delete an existing position.
|
||||
func (m *PositionDAO) Delete(position Position) error {
|
||||
m.Db.Connect()
|
||||
err := m.Db.MongoDb.C(POSITIONCOLLECTION).Remove(&position)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user