From 2ad6fd9a9922a1107dd2fd5a2c4e1f00c7910920 Mon Sep 17 00:00:00 2001 From: Jonas Leder <jonas@jonasled.de> Date: Mon, 24 Mar 2025 20:50:49 +0100 Subject: [PATCH] add columns for alarm plugin and plugin config id --- database/tables/smokeDetector.go | 2 ++ docs/docs.go | 12 ++++++++++++ docs/swagger.json | 12 ++++++++++++ docs/swagger.yaml | 8 ++++++++ types/updateSmokeDetectorRequest.go | 4 +++- webserver/smokeDetectors/update.go | 7 +++++++ 6 files changed, 44 insertions(+), 1 deletion(-) diff --git a/database/tables/smokeDetector.go b/database/tables/smokeDetector.go index e0b0460..45de964 100644 --- a/database/tables/smokeDetector.go +++ b/database/tables/smokeDetector.go @@ -11,4 +11,6 @@ type SmokeDetector struct { ZigBeeName string `gorm:"unique"` Name string Battery int + AlarmPlugin string + AlarmPluginConfigId uint } diff --git a/docs/docs.go b/docs/docs.go index bd12248..d956009 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -291,6 +291,12 @@ const docTemplate = `{ "tables.SmokeDetector": { "type": "object", "properties": { + "alarmPlugin": { + "type": "string" + }, + "alarmPluginConfigId": { + "type": "integer" + }, "battery": { "type": "integer" }, @@ -344,6 +350,12 @@ const docTemplate = `{ "types.UpdateSmokeDetectorRequest": { "type": "object", "properties": { + "alarmPlugin": { + "type": "string" + }, + "alarmPluginConfigId": { + "type": "integer" + }, "name": { "type": "string" } diff --git a/docs/swagger.json b/docs/swagger.json index 266c475..939cf75 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -282,6 +282,12 @@ "tables.SmokeDetector": { "type": "object", "properties": { + "alarmPlugin": { + "type": "string" + }, + "alarmPluginConfigId": { + "type": "integer" + }, "battery": { "type": "integer" }, @@ -335,6 +341,12 @@ "types.UpdateSmokeDetectorRequest": { "type": "object", "properties": { + "alarmPlugin": { + "type": "string" + }, + "alarmPluginConfigId": { + "type": "integer" + }, "name": { "type": "string" } diff --git a/docs/swagger.yaml b/docs/swagger.yaml index f2141cd..adc51df 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1,6 +1,10 @@ definitions: tables.SmokeDetector: properties: + alarmPlugin: + type: string + alarmPluginConfigId: + type: integer battery: type: integer createdAt: @@ -35,6 +39,10 @@ definitions: type: object types.UpdateSmokeDetectorRequest: properties: + alarmPlugin: + type: string + alarmPluginConfigId: + type: integer name: type: string type: object diff --git a/types/updateSmokeDetectorRequest.go b/types/updateSmokeDetectorRequest.go index c7c96e4..286ce16 100644 --- a/types/updateSmokeDetectorRequest.go +++ b/types/updateSmokeDetectorRequest.go @@ -1,5 +1,7 @@ package types type UpdateSmokeDetectorRequest struct { - Name string `json:"name"` + Name string `json:"name"` + AlarmPlugin string `json:"alarmPlugin"` + AlarmPluginConfigId uint `json:"alarmPluginConfigId"` } diff --git a/webserver/smokeDetectors/update.go b/webserver/smokeDetectors/update.go index 4a529dc..ad695da 100644 --- a/webserver/smokeDetectors/update.go +++ b/webserver/smokeDetectors/update.go @@ -53,6 +53,13 @@ func update(ctx *gin.Context) { if requestBody.Name != "" { smokeDetectors.Name = requestBody.Name } + if requestBody.AlarmPlugin != "" { + smokeDetectors.AlarmPlugin = requestBody.AlarmPlugin + } + if requestBody.AlarmPluginConfigId != 0 { + smokeDetectors.AlarmPluginConfigId = requestBody.AlarmPluginConfigId + } + database.Db.Save(&smokeDetectors) ctx.JSON(http.StatusOK, &smokeDetectors) -- GitLab