package main import ( "basic-sensor-receiver/app" "basic-sensor-receiver/routes" "fmt" "log" "github.com/gin-gonic/gin" "github.com/joho/godotenv" _ "github.com/mattn/go-sqlite3" ) func main() { err := godotenv.Load() if err != nil { log.Println("Error loading .env file") } server := app.InitializeServer() gin.SetMode(server.Config.Mode) router := gin.Default() protected := router.Group("/", gin.BasicAuth(gin.Accounts{ server.Config.AuthUsername: server.Config.AuthPassword, })) protected.StaticFile("/", "client/index.html") protected.Static("/js", "client/js") protected.Static("/css", "client/css") protected.GET("/api/sensors", routes.GetSensors(server)) protected.GET("/api/sensors/:sensor/values", routes.HandleGetSensorValues(server)) protected.POST("/api/sensors/:sensor/values", routes.HandlePostSensorValues(server)) protected.GET("/api/sensors/:sensor/config", routes.GetSensorConfig(server)) protected.PUT("/api/sensors/:sensor/config/:key", routes.HandlePutSensorConfig(server)) router.Run(fmt.Sprintf("%s:%d", server.Config.Ip, server.Config.Port)) }