second commit

This commit is contained in:
Stian Fredrik Aune
2021-05-22 12:35:27 +02:00
parent 8f648de929
commit dda774f22b
17 changed files with 186 additions and 35 deletions
+12
View File
@@ -0,0 +1,12 @@
package api
import (
"git.aiterp.net/lucifer/new-server/models"
"github.com/gin-gonic/gin"
)
func DriverKinds(r gin.IRoutes) {
r.GET("", handler(func(c *gin.Context) (interface{}, error) {
return models.ValidDriverKinds, nil
}))
}
+2 -2
View File
@@ -1,8 +1,8 @@
package api
import (
"git.aiterp.net/lucifer/server3/app/config"
"git.aiterp.net/lucifer/server3/models"
"git.aiterp.net/lucifer/new-server/app/config"
"git.aiterp.net/lucifer/new-server/models"
"github.com/gin-gonic/gin"
)
+1 -1
View File
@@ -2,7 +2,7 @@ package api
import (
"encoding/json"
"git.aiterp.net/lucifer/server3/models"
"git.aiterp.net/lucifer/new-server/models"
"github.com/gin-gonic/gin"
)
+1 -1
View File
@@ -1,6 +1,6 @@
package config
import "git.aiterp.net/lucifer/server3/models"
import "git.aiterp.net/lucifer/new-server/models"
var EventChannel = make(chan models.Event, 8)
+29
View File
@@ -0,0 +1,29 @@
package config
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
"sync"
)
var dbx *sqlx.DB
var dbLock sync.Mutex
func DBX() *sqlx.DB {
dbLock.Lock()
defer dbLock.Unlock()
if dbx == nil {
dbx = sqlx.MustConnect("mysql", fmt.Sprintf(
"%s:%s@(%s:%d)/%s?parseTime=true",
MySqlUsername(),
MySQlPassword(),
MySqlHost(),
MySqlPort(),
MySqlSchema(),
))
}
return dbx
}
+5 -5
View File
@@ -1,13 +1,13 @@
package config
import "git.aiterp.net/lucifer/server3/models"
import "git.aiterp.net/lucifer/new-server/models"
var dr models.DriverResolver
var dp models.DriverProvider
func DriverResolver() models.DriverResolver {
if dr == nil {
func DriverProvider() models.DriverProvider {
if dp == nil {
panic("not implemented yet")
}
return dr
return dp
}
+6 -5
View File
@@ -5,12 +5,13 @@ import (
"strconv"
)
var MySqlHost = strEnv("LUCIFER_MYSQL_HOST")
var MySqlPort = intEnv("LUCIFER_MYSQL_PORT")
var MySqlUsername = strEnv("LUCIFER_MYSQL_USERNAME")
var MySQlPassword = strEnv("LUCIFER_MYSQL_PASSWORD")
func MySqlHost() string { return strEnv("LUCIFER_MYSQL_HOST") }
func MySqlPort() int { return intEnv("LUCIFER_MYSQL_PORT") }
func MySqlSchema() string { return strEnv("LUCIFER_MYSQL_SCHEMA") }
func MySqlUsername() string { return strEnv("LUCIFER_MYSQL_USERNAME") }
func MySQlPassword() string { return strEnv("LUCIFER_MYSQL_PASSWORD") }
var ServerPort = intEnv("LUCIFER_SERVER_PORT")
func ServerPort() int { return intEnv("LUCIFER_SERVER_PORT") }
func strEnv(key string) string {
env, ok := os.LookupEnv(key)
+1 -1
View File
@@ -1,6 +1,6 @@
package config
import "git.aiterp.net/lucifer/server3/models"
import "git.aiterp.net/lucifer/new-server/models"
var (
dRepo models.DeviceRepository
+7 -4
View File
@@ -2,9 +2,9 @@ package app
import (
"fmt"
"git.aiterp.net/lucifer/server3/app/api"
"git.aiterp.net/lucifer/server3/app/config"
"git.aiterp.net/lucifer/server3/app/services"
"git.aiterp.net/lucifer/new-server/app/api"
"git.aiterp.net/lucifer/new-server/app/config"
"git.aiterp.net/lucifer/new-server/app/services"
"github.com/gin-gonic/gin"
"log"
)
@@ -14,7 +14,10 @@ func StartServer() {
gin.SetMode(gin.ReleaseMode)
ginny := gin.New()
api.Events(ginny.Group("/api/events"))
apiGin := ginny.Group("/api")
api.DriverKinds(apiGin.Group("/driver-kinds"))
api.Events(apiGin.Group("/events"))
log.Fatal(ginny.Run(fmt.Sprintf("0.0.0.0:%d", config.ServerPort)))
}
+9 -3
View File
@@ -2,8 +2,8 @@ package services
import (
"context"
"git.aiterp.net/lucifer/server3/app/config"
"git.aiterp.net/lucifer/server3/models"
"git.aiterp.net/lucifer/new-server/app/config"
"git.aiterp.net/lucifer/new-server/models"
"log"
"time"
)
@@ -30,6 +30,7 @@ func StartEventHandler() {
var loc, _ = time.LoadLocation("Europe/Oslo")
var ctx = context.Background()
var X = false
func handleEvent(event models.Event) {
if !event.HasPayload("hour") {
@@ -39,6 +40,10 @@ func handleEvent(event models.Event) {
event.AddPayload("minute", time.Now().In(loc).Format("04"))
}
if !X {
return
}
handlers, err := config.EventHandlerRepository().FetchAll(ctx)
if err != nil {
log.Printf("Error fetchin event halders: %d", err)
@@ -56,6 +61,7 @@ func handleEvent(event models.Event) {
continue
}
panic("panik")
}
log.Println("Unhandled event: " + event.Name)
}