Files
medi-wol/cmd/server/main.go

47 lines
1.0 KiB
Go

package main
import (
"log"
"medi-wol/internal/database"
"medi-wol/internal/handlers"
"medi-wol/internal/wol"
"github.com/gin-gonic/gin"
)
func main() {
// Datenbank initialisieren
db, err := database.InitDB()
if err != nil {
log.Fatal("Fehler beim Initialisieren der Datenbank:", err)
}
defer db.Close()
// Wake-on-LAN Service initialisieren
wolService := wol.NewService()
// Handler initialisieren
pcHandler := handlers.NewPCHandler(db, wolService)
// Gin Router konfigurieren
r := gin.Default()
// Statische Dateien bereitstellen
r.Static("/static", "./web/static")
r.LoadHTMLGlob("web/templates/*")
// Routen definieren
r.GET("/", pcHandler.Index)
r.GET("/api/pcs", pcHandler.GetAllPCs)
r.POST("/api/pcs", pcHandler.CreatePC)
r.PUT("/api/pcs/:id", pcHandler.UpdatePC)
r.DELETE("/api/pcs/:id", pcHandler.DeletePC)
r.POST("/api/pcs/:id/wake", pcHandler.WakePC)
// Server starten
log.Println("Server startet auf Port 8080...")
if err := r.Run(":8080"); err != nil {
log.Fatal("Fehler beim Starten des Servers:", err)
}
}