Initial commit: Wake-on-LAN Manager mit Go und Web-Oberfläche

This commit is contained in:
2025-08-21 13:36:43 +02:00
commit f015e845a9
13 changed files with 1407 additions and 0 deletions

46
cmd/server/main.go Normal file
View File

@ -0,0 +1,46 @@
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)
}
}