diff --git a/database/tables/smokeDetector.go b/database/tables/smokeDetector.go index e0b04603dee2ae4f713ba5b706bf523e38b5fd85..45de9640b7ddca8251f6cc9c4b118b498b3f4cfa 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 bd122488b16e15281a99029311cbe95f6c6caf88..d95600971e740ea25ddd53c35b3558c255c817a6 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 266c47510140916b77892fbcf4dc94bb5216ca3e..939cf75605c3ed085c8684890c09bb0dffb5e085 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 f2141cdae725c3dc1f7ae489307b85120e2f3507..adc51df2b33b679750693931914fed1e4c421c9b 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 c7c96e41da771c8f17060b79d3d26d1fd82c069f..286ce16855c358b98896d361ffe6766cdd0529c5 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 4a529dc53737995ff4f296372d463bfb16d25be8..ad695da0ebb6bc658c56866f7ad0e78cdede2d36 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)