feat(colors): Add a route which lists all available controllers with their metadata

This commit is contained in:
Siesta
2025-07-28 21:36:06 +02:00
parent 9453fab912
commit b50a62a52d
3 changed files with 35 additions and 6 deletions
+20 -1
View File
@@ -15,7 +15,7 @@ func CreateController() (int64, error) {
logger.DBLogger.Printf("Error creating controller: %v", err)
return 0, err
}
id, err := result.LastInsertId()
if err != nil {
logger.DBLogger.Printf("Error fetching controller ID: %v", err)
@@ -70,6 +70,25 @@ func ControllerExists(id int) bool {
return count > 0
}
func GetAllColors() ([]models.LampState, error) {
rows, err := DB.Query("SELECT id, color, updated_at FROM controllers WHERE id > 0")
if err != nil {
return nil, err
}
defer rows.Close()
var controllers []models.LampState
for rows.Next() {
var state models.LampState
if err := rows.Scan(&state.ID, &state.Color, &state.UpdatedAt); err != nil {
return nil, err
}
controllers = append(controllers, state)
}
return controllers, nil
}
func ViewColor(id int) (*models.LampState, error) {
row := DB.QueryRow("SELECT id, color, updated_at FROM controllers WHERE id = ?", id)