From 9e4f7dc34d470a34272ab3f7eb89a8b18d5f8d3e Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Tue, 19 Mar 2024 22:45:50 +0100
Subject: [PATCH] fix: save data

---
 database.go | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/database.go b/database.go
index b6373d8..a34c633 100644
--- a/database.go
+++ b/database.go
@@ -104,9 +104,17 @@ func createOrUpdateJob(job GenericJob, db *gorm.DB) error {
 			}
 		} else {
 
-			tx.Unscoped().Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").Omit("deleted_at", "created_at", "job_id").Update("deleted_at", nil)
+			// remove deleted from
+			r := tx.Unscoped().Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").
+				Omit("deleted_at", "created_at", "job_id").Update("deleted_at", nil)
+			if r.Error != nil {
+				Trace("Error while deleting job", "error", r.Error)
+				return r.Error
+			}
 
-			tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").Omit("deleted_at", "created_at", "job_id").UpdateColumns(SchedulerPersistence{
+			// update scheduler
+			resultStats := tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").
+				Omit("deleted_at", "created_at", "job_id").UpdateColumns(SchedulerPersistence{
 				Type:     "",
 				Interval: 0,
 				Spec:     "",
@@ -116,9 +124,15 @@ func createOrUpdateJob(job GenericJob, db *gorm.DB) error {
 				Executed: false,
 			})
 
-			err := tx.Model(&existingJob).Updates(permJob).Error
-			if err != nil {
-				return err
+			if resultStats.Error != nil {
+				Trace("Error while updating job stats", "error", resultStats.Error)
+				return resultStats.Error
+			}
+
+			r2 := tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").
+				Omit("deleted_at", "created_at", "job_id").Updates(permJob)
+			if r2.Error != nil {
+				return r2.Error
 			}
 		}
 
-- 
GitLab