package dao

import (
	"log"

	mgo "gopkg.in/mgo.v2"
)

// BaseDAO definess the connection parameters to a MongoDB instance.
type BaseDAO struct {
	Server   string
	Database string
	MongoDb  *mgo.Database
}

var (
	// KontorDb has the database connection to the productive MongoDB instance.
	KontorDb = BaseDAO{Server: "localhost", Database: "kontor"}
	// TestDb has the database connection to the test MongoDB instance.
	TestDb = BaseDAO{Server: "localhost", Database: "kontor_test"}
)

// Connect instantiates the database session.
func (m *BaseDAO) Connect() {
	session, err := mgo.Dial(m.Server)
	if err != nil {
		//util.PrintDebug("Connect: %v", err)
		log.Fatal(err)
	}
	m.MongoDb = session.DB(m.Database)
}
