DataHouse/main.go

61 lines
1.5 KiB
Go

package main
import (
"git.kingpenguin.tk/chteufleur/datahouse.git/models/database"
_ "git.kingpenguin.tk/chteufleur/datahouse.git/models/temperature"
"git.kingpenguin.tk/chteufleur/datahouse.git/models/user"
_ "git.kingpenguin.tk/chteufleur/datahouse.git/routers"
"git.kingpenguin.tk/chteufleur/datahouse.git/xmpp"
"git.kingpenguin.tk/chteufleur/datahouse.git/watchlog"
"git.kingpenguin.tk/chteufleur/datahouse.git/models/variables"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
_ "github.com/mattn/go-sqlite3"
)
var (
log = logs.NewLogger(10000)
)
func init() {
log.SetLogger(variables.LogType, variables.LogParams)
url := ""
db := ""
if database.DatabaseInstance == database.MySQL {
// MySQL
orm.RegisterDriver(database.MySQL, orm.DR_MySQL)
url = database.UserDB + ":" + database.PwdDB + "@/" + database.DataBase + "?charset=utf8"
db = "mysql"
} else {
// SQLite
orm.RegisterDriver(database.SQLITE, orm.DR_Sqlite)
url = "datahouse.db"
db = "sqlite3"
}
err := orm.RegisterDataBase(database.Alias, db, url)
if err != nil {
log.Error("Failed to register database", err)
}
force := false
verbose := true
err = orm.RunSyncdb(database.Alias, force, verbose)
if err != nil {
log.Error("Failed to initialize database", err)
}
}
func main() {
if !user.IsUserExist("admin") {
user.AddUser("admin", "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918")
}
go xmpp_manager.Run()
go watchlog.Run()
beego.Run()
}