first commit

way too late.
This commit is contained in:
didier amyot committed 2015-02-06 22:03:05 -08:00
commit d4f7dc57fc
53 files changed
+3518

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
package main
import (
"errors"
"log"
"github.com/didiercrunch/doormanserver/inmemoryconnector"
"github.com/didiercrunch/doormanserver/mongoconnector"
"github.com/didiercrunch/doormanserver/shared"
"github.com/didiercrunch/doormanserver/doormen"
"gopkg.in/mgo.v2/bson"
)
type DBConnector interface {
Save(wab *doormen.DoormanDefinition) error
Update(wab *doormen.DoormanDefinition) error
Exists(wab *doormen.DoormanDefinition) bool
ExistsId(id bson.ObjectId) bool
GetAllDoormen() <-chan *doormen.DoormanId
GetDoorman(id bson.ObjectId) (*doormen.DoormanDefinition, error)
DeleteDoorman(id bson.ObjectId) error
}
var conn DBConnector
func initMongoDbConnector() {
var err error
if conn, err = mongoconnector.NewMongoDBConnector(); err != nil {
panic(err)
}
}
func init() {
if params := shared.GetParams(); params.UseMongoDb() {
initMongoDbConnector()
log.Println("using mongodb as database")
} else {
conn = inmemoryconnector.NewInMemoryDBConnector()
log.Println("using inmemory as database")
}
}
func CreateDoormanInDatabase(wab *doormen.DoormanDefinition) error {
if conn.Exists(wab) {
return errors.New("doormen already exists")
}
return conn.Save(wab)
}
func UpdateDoormanInDatabase(wab *doormen.DoormanDefinition) error {
return conn.Update(wab)
}