Autostart-Funktionalität implementiert: Crontab-Syntax, Scheduler und UI-Integration

This commit is contained in:
2025-08-22 07:49:45 +02:00
parent b6888ca5da
commit 5bfc380a37
9 changed files with 521 additions and 58 deletions

View File

@@ -6,26 +6,32 @@ import (
// PC repräsentiert einen Computer in der Datenbank
type PC struct {
ID int `json:"id" db:"id"`
Name string `json:"name" db:"name"`
MAC string `json:"mac" db:"mac"`
IP string `json:"ip" db:"ip"`
CreatedAt time.Time `json:"created_at" db:"updated_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
ID int `json:"id" db:"id"`
Name string `json:"name" db:"name"`
MAC string `json:"mac" db:"mac"`
IP string `json:"ip" db:"ip"`
AutostartCron string `json:"autostart_cron" db:"autostart_cron"`
AutostartEnabled bool `json:"autostart_enabled" db:"autostart_enabled"`
CreatedAt time.Time `json:"created_at" db:"updated_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
}
// CreatePCRequest repräsentiert die Anfrage zum Erstellen eines neuen PCs
type CreatePCRequest struct {
Name string `json:"name" binding:"required"`
MAC string `json:"mac" binding:"required"`
IP string `json:"ip" binding:"required"`
Name string `json:"name" binding:"required"`
MAC string `json:"mac" binding:"required"`
IP string `json:"ip" binding:"required"`
AutostartCron string `json:"autostart_cron"`
AutostartEnabled bool `json:"autostart_enabled"`
}
// UpdatePCRequest repräsentiert die Anfrage zum Aktualisieren eines PCs
type UpdatePCRequest struct {
Name string `json:"name" binding:"required"`
MAC string `json:"mac" binding:"required"`
IP string `json:"ip" binding:"required"`
Name string `json:"name" binding:"required"`
MAC string `json:"mac" binding:"required"`
IP string `json:"ip" binding:"required"`
AutostartCron string `json:"autostart_cron"`
AutostartEnabled bool `json:"autostart_enabled"`
}
// PCResponse repräsentiert die Antwort für PC-Operationen
@@ -38,9 +44,11 @@ type PCResponse struct {
// PCStatus repräsentiert den Online-Status eines PCs
type PCStatus struct {
ID int `json:"id"`
Name string `json:"name"`
MAC string `json:"mac"`
IP string `json:"ip"`
Online bool `json:"online"`
ID int `json:"id"`
Name string `json:"name"`
MAC string `json:"mac"`
IP string `json:"ip"`
Online bool `json:"online"`
AutostartCron string `json:"autostart_cron"`
AutostartEnabled bool `json:"autostart_enabled"`
}