47 lines
1.0 KiB
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)
|
|
}
|
|
}
|