From 357d79e68b86413fda2beac1bedfa6c595e38ff8 Mon Sep 17 00:00:00 2001 From: mr Date: Wed, 24 Jul 2024 14:49:04 +0200 Subject: [PATCH] Update Resource --- models/resources/data/data_mongo_accessor.go | 2 +- .../datacenter/datacenter_mongo_accessor.go | 2 +- .../processing/processing_mongo_accessor.go | 2 +- models/resources/storage/storage_mongo_accessor.go | 2 +- .../resources/workflow/workflow_mongo_accessor.go | 4 ++-- models/utils/abstracts.go | 13 ++++++++----- models/workflow/workflow_mongo_accessor.go | 2 +- .../workflow_execution_mongo_accessor.go | 2 +- 8 files changed, 16 insertions(+), 13 deletions(-) diff --git a/models/resources/data/data_mongo_accessor.go b/models/resources/data/data_mongo_accessor.go index b670bdb..6b8d65c 100644 --- a/models/resources/data/data_mongo_accessor.go +++ b/models/resources/data/data_mongo_accessor.go @@ -14,7 +14,7 @@ func (dma *DataMongoAccessor) DeleteOne(id string) (utils.DBObject, int, error) } func (dma *DataMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - return dma.GenericUpdateOne(set, id, dma) + return dma.GenericUpdateOne(set, id, dma, &DataResource{}) } func (dma *DataMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) { diff --git a/models/resources/datacenter/datacenter_mongo_accessor.go b/models/resources/datacenter/datacenter_mongo_accessor.go index f500e0b..a408955 100644 --- a/models/resources/datacenter/datacenter_mongo_accessor.go +++ b/models/resources/datacenter/datacenter_mongo_accessor.go @@ -14,7 +14,7 @@ func (dca *DatacenterMongoAccessor) DeleteOne(id string) (utils.DBObject, int, e } func (dca *DatacenterMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - return dca.GenericUpdateOne(set, id, dca) + return dca.GenericUpdateOne(set, id, dca, &DatacenterResource{}) } func (dca *DatacenterMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) { diff --git a/models/resources/processing/processing_mongo_accessor.go b/models/resources/processing/processing_mongo_accessor.go index c0efa0a..7ab114c 100644 --- a/models/resources/processing/processing_mongo_accessor.go +++ b/models/resources/processing/processing_mongo_accessor.go @@ -14,7 +14,7 @@ func (pma *ProcessingMongoAccessor) DeleteOne(id string) (utils.DBObject, int, e } func (pma *ProcessingMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - return pma.GenericUpdateOne(set, id, pma) + return pma.GenericUpdateOne(set, id, pma, &ProcessingResource{}) } func (pma *ProcessingMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) { diff --git a/models/resources/storage/storage_mongo_accessor.go b/models/resources/storage/storage_mongo_accessor.go index 7cbe404..05adf28 100644 --- a/models/resources/storage/storage_mongo_accessor.go +++ b/models/resources/storage/storage_mongo_accessor.go @@ -14,7 +14,7 @@ func (sma *StorageMongoAccessor) DeleteOne(id string) (utils.DBObject, int, erro } func (sma *StorageMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - return sma.GenericUpdateOne(set, id, sma) + return sma.GenericUpdateOne(set, id, sma, &StorageResource{}) } func (sma *StorageMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) { diff --git a/models/resources/workflow/workflow_mongo_accessor.go b/models/resources/workflow/workflow_mongo_accessor.go index 3b5239f..8eb43a5 100644 --- a/models/resources/workflow/workflow_mongo_accessor.go +++ b/models/resources/workflow/workflow_mongo_accessor.go @@ -14,7 +14,7 @@ func (wfa *WorkflowResourceMongoAccessor) DeleteOne(id string) (utils.DBObject, } func (wfa *WorkflowResourceMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - return wfa.GenericUpdateOne(set, id, wfa) + return wfa.GenericUpdateOne(set, id, wfa, &WorkflowResource{}) } func (wfa *WorkflowResourceMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) { @@ -28,7 +28,7 @@ func (wfa *WorkflowResourceMongoAccessor) CopyOne(data utils.DBObject) (utils.DB return wfa.GenericStoreOne(data, wfa) } else { data.(*WorkflowResource).UUID = res.GetID() - return wfa.GenericUpdateOne(data, res.GetID(), wfa) + return wfa.GenericUpdateOne(data, res.GetID(), wfa, &WorkflowResource{}) } } diff --git a/models/utils/abstracts.go b/models/utils/abstracts.go index 0c087c5..d886e3c 100644 --- a/models/utils/abstracts.go +++ b/models/utils/abstracts.go @@ -1,8 +1,6 @@ package utils import ( - "fmt" - "cloud.o-forge.io/core/oc-lib/dbs/mongo" "cloud.o-forge.io/core/oc-lib/logs" "github.com/go-playground/validator/v10" @@ -71,13 +69,18 @@ func (dma *AbstractAccessor) GenericDeleteOne(id string, accessor Accessor) (DBO return res, 200, nil } -func (dma *AbstractAccessor) GenericUpdateOne(set DBObject, id string, accessor Accessor) (DBObject, int, error) { +func (dma *AbstractAccessor) GenericUpdateOne(set DBObject, id string, accessor Accessor, new DBObject) (DBObject, int, error) { r, c, err := accessor.LoadOne(id) if err != nil { return nil, c, err } - fmt.Println(set.Serialize(), r.Deserialize(set.Serialize()).Serialize()) - id, code, err := mongo.MONGOService.UpdateOne(r.Deserialize(set.Serialize()), id, accessor.GetType()) + change := set.Serialize() + loaded := r.Serialize() + + for k, v := range change { + loaded[k] = v + } + id, code, err := mongo.MONGOService.UpdateOne(new.Deserialize(loaded), id, accessor.GetType()) if err != nil { dma.Logger.Error().Msg("Could not update " + id + " to db. Error: " + err.Error()) return nil, code, err diff --git a/models/workflow/workflow_mongo_accessor.go b/models/workflow/workflow_mongo_accessor.go index 8ca39aa..aea8ee5 100644 --- a/models/workflow/workflow_mongo_accessor.go +++ b/models/workflow/workflow_mongo_accessor.go @@ -63,7 +63,7 @@ func (wfa *WorkflowMongoAccessor) UpdateOne(set utils.DBObject, id string) (util if code, err := wfa.execution(set.(*Workflow), true); err != nil { return nil, code, err } - return wfa.GenericUpdateOne(set, id, wfa) + return wfa.GenericUpdateOne(set, id, wfa, &Workflow{}) } func (wfa *WorkflowMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) { diff --git a/models/workflow_execution/workflow_execution_mongo_accessor.go b/models/workflow_execution/workflow_execution_mongo_accessor.go index 09fc142..b74e819 100644 --- a/models/workflow_execution/workflow_execution_mongo_accessor.go +++ b/models/workflow_execution/workflow_execution_mongo_accessor.go @@ -14,7 +14,7 @@ func (wfa *WorkflowExecutionMongoAccessor) DeleteOne(id string) (utils.DBObject, } func (wfa *WorkflowExecutionMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - return wfa.GenericUpdateOne(set, id, wfa) + return wfa.GenericUpdateOne(set, id, wfa, &WorkflowExecution{}) } func (wfa *WorkflowExecutionMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) {