From 8edea9ddac2ef7df7691ad4958ac48eaf4b5aaab Mon Sep 17 00:00:00 2001
From: Jonas Leder <jonas@jonasled.de>
Date: Mon, 24 Mar 2025 21:58:11 +0100
Subject: [PATCH] implement SetConfig

---
 go.mod  |  2 +-
 go.sum  |  4 ++--
 main.go | 10 ++++++++++
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/go.mod b/go.mod
index 0152de5..ef1b28f 100644
--- a/go.mod
+++ b/go.mod
@@ -4,7 +4,7 @@ go 1.23.4
 
 require (
 	gorm.io/gorm v1.25.12
-	jonasled.dev/firehouse-smokedetection/plugin-interface v0.0.6
+	jonasled.dev/firehouse-smokedetection/plugin-interface v0.0.7
 )
 
 require (
diff --git a/go.sum b/go.sum
index 53f661f..9f762fd 100644
--- a/go.sum
+++ b/go.sum
@@ -6,5 +6,5 @@ golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
 golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
 gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=
 gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=
-jonasled.dev/firehouse-smokedetection/plugin-interface v0.0.6 h1:ywcIP76K6G14hJdW1Q06lJvGzxZtpkG9zISqrnsMUxg=
-jonasled.dev/firehouse-smokedetection/plugin-interface v0.0.6/go.mod h1:7OmpERugGg+B1OKE5R2glhdbbF2XmYP0OTfbdNNBm40=
+jonasled.dev/firehouse-smokedetection/plugin-interface v0.0.7 h1:IDB7KhYctpsOz9EXSOwKc+xp+nrRHD0F/rqXG2sZmF4=
+jonasled.dev/firehouse-smokedetection/plugin-interface v0.0.7/go.mod h1:7OmpERugGg+B1OKE5R2glhdbbF2XmYP0OTfbdNNBm40=
diff --git a/main.go b/main.go
index 57278d9..741b008 100644
--- a/main.go
+++ b/main.go
@@ -83,6 +83,16 @@ func (g *GotifyPlugin) GetConfigType() interface{} {
 	return GotifyPluginConfig{}
 }
 
+func (g *GotifyPlugin) SetConfig(jsonConfig string) error {
+	config := GotifyPluginConfig{}
+	err := json.Unmarshal([]byte(jsonConfig), &config)
+	if err != nil {
+		return err
+	}
+	g.db.Save(&jsonConfig)
+	return nil
+}
+
 var Plugin = GotifyPlugin{
 	metadata: plugininterface.PluginMetadata{
 		Name:    "Gotify",
-- 
GitLab