feat: toggle controller state on/off

This commit is contained in:
Kaaninchen
2026-08-03 18:50:22 +02:00
parent 67162359ed
commit 3f470096ce
7 changed files with 86 additions and 11 deletions
+2 -1
View File
@@ -34,6 +34,7 @@ func InitDB() {
id INTEGER PRIMARY KEY,
token_hash TEXT,
color TEXT,
active INTEGER DEFAULT 0,
updated_at DATETIME
);
`)
@@ -42,4 +43,4 @@ func InitDB() {
logger.DBLogger.Fatalf("An error occured while initializing the database: %v", err)
}
}
}
+26 -3
View File
@@ -71,7 +71,7 @@ func ControllerExists(id int) bool {
}
func GetAllColors() ([]models.LampState, error) {
rows, err := DB.Query("SELECT id, color, updated_at FROM controllers WHERE id > 0")
rows, err := DB.Query("SELECT id, color, active, updated_at FROM controllers WHERE id > 0")
if err != nil {
return nil, err
}
@@ -81,7 +81,7 @@ func GetAllColors() ([]models.LampState, error) {
for rows.Next() {
var state models.LampState
if err := rows.Scan(&state.ID, &state.Color, &state.UpdatedAt); err != nil {
if err := rows.Scan(&state.ID, &state.Color, &state.Active, &state.UpdatedAt); err != nil {
return nil, err
}
controllers = append(controllers, state)
@@ -90,7 +90,6 @@ func GetAllColors() ([]models.LampState, error) {
if err := rows.Err(); err != nil {
return nil, err
}
return controllers, nil
}
@@ -129,3 +128,27 @@ func SetColor(id int, color string) error {
logger.DBLogger.Printf("Lamp %d color updated to %s", id, color)
return nil
}
func GetControllerState(id int) (bool, error) {
row := DB.QueryRow("SELECT active FROM controllers WHERE id = ?", id)
var state bool
err := row.Scan(&state)
if err != nil {
logger.DBLogger.Print(err)
return false, err
}
return state, nil
}
func SetControllerstate(active bool, id int) error {
_, err := DB.Exec("UPDATE controllers SET active = ? WHERE id = ?", active, id)
if err != nil {
logger.DBLogger.Printf("Failed to update active state for controller %d: %v", id, err)
return err
}
logger.DBLogger.Printf("Set active state for %d to %t", id, active)
return nil
}