package models import ( "time" ) // 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"` 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"` 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"` AutostartCron string `json:"autostart_cron"` AutostartEnabled bool `json:"autostart_enabled"` } // PCResponse repräsentiert die Antwort für PC-Operationen type PCResponse struct { Success bool `json:"success"` Message string `json:"message,omitempty"` PC *PC `json:"pc,omitempty"` PCs []PC `json:"pcs,omitempty"` } // 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"` AutostartCron string `json:"autostart_cron"` AutostartEnabled bool `json:"autostart_enabled"` }