From b13408912d9c6949a6fae9f9cbcc3c1b400e4bd3 Mon Sep 17 00:00:00 2001
From: Jonas Leder <jonas@jonasled.de>
Date: Sun, 26 Jan 2025 14:00:03 +0100
Subject: [PATCH] move createInstance to a seperate file

---
 database/createInstance.go | 42 ++++++++++++++++++++++++++++++++++++++
 database/main.go           | 33 ------------------------------
 2 files changed, 42 insertions(+), 33 deletions(-)
 create mode 100644 database/createInstance.go

diff --git a/database/createInstance.go b/database/createInstance.go
new file mode 100644
index 0000000..509ac93
--- /dev/null
+++ b/database/createInstance.go
@@ -0,0 +1,42 @@
+package database
+
+import (
+	"os"
+
+	"gorm.io/gorm"
+	"jonasled.dev/jonasled/ems-esp-logger/database/tables"
+	"jonasled.dev/jonasled/ems-esp-logger/log"
+)
+
+func CreateInstance() {
+	instanceName := os.Getenv("INSTANCE_NAME")
+	instanceDescription := os.Getenv("INSTANCE_DESCRIPTION")
+	if instanceName == "" || instanceDescription == "" {
+		log.Log.Fatal("INSTANCE_NAME and INSTANCE_DESCRIPTION must be set")
+	}
+	var instance tables.Instance
+	err := Db.Where("name = ?", instanceName).First(&instance).Error
+
+	if err != nil {
+		if err == gorm.ErrRecordNotFound {
+			// Create a new instance if it doesn't exist
+			instance = tables.Instance{
+				Name:        instanceName,
+				Description: instanceDescription,
+			}
+			if err := Db.Create(&instance).Error; err != nil {
+				log.Log.Fatalf("Failed to create instance: %v", err)
+			}
+			log.Log.Infof("Created new instance: %+v\n", instance)
+		} else {
+			log.Log.Fatalf("Failed to query database: %v", err)
+		}
+	} else {
+		// Update the description if the instance exists
+		instance.Description = instanceDescription
+		if err := Db.Save(&instance).Error; err != nil {
+			log.Log.Fatalf("Failed to update instance description: %v", err)
+		}
+		log.Log.Infof("Updated instance description: %+v\n", instance)
+	}
+}
diff --git a/database/main.go b/database/main.go
index 2b62e9d..93b6959 100644
--- a/database/main.go
+++ b/database/main.go
@@ -53,36 +53,3 @@ func Init() {
 		Db.AutoMigrate(&tables.Instance{}, &tables.ValueType{}, &tables.Value{})
 	}
 }
-
-func CreateInstance() {
-	instanceName := os.Getenv("INSTANCE_NAME")
-	instanceDescription := os.Getenv("INSTANCE_DESCRIPTION")
-	if instanceName == "" || instanceDescription == "" {
-		log.Log.Fatal("INSTANCE_NAME and INSTANCE_DESCRIPTION must be set")
-	}
-	var instance tables.Instance
-	err := Db.Where("name = ?", instanceName).First(&instance).Error
-
-	if err != nil {
-		if err == gorm.ErrRecordNotFound {
-			// Create a new instance if it doesn't exist
-			instance = tables.Instance{
-				Name:        instanceName,
-				Description: instanceDescription,
-			}
-			if err := Db.Create(&instance).Error; err != nil {
-				log.Log.Fatalf("Failed to create instance: %v", err)
-			}
-			log.Log.Infof("Created new instance: %+v\n", instance)
-		} else {
-			log.Log.Fatalf("Failed to query database: %v", err)
-		}
-	} else {
-		// Update the description if the instance exists
-		instance.Description = instanceDescription
-		if err := Db.Save(&instance).Error; err != nil {
-			log.Log.Fatalf("Failed to update instance description: %v", err)
-		}
-		log.Log.Infof("Updated instance description: %+v\n", instance)
-	}
-}
-- 
GitLab