From 562720089f892246da0117392f9426d97b43c651 Mon Sep 17 00:00:00 2001 From: pb Date: Wed, 17 Jul 2024 17:18:27 +0200 Subject: [PATCH] Accessor for each ressource to access DB --- data_mongo_accessor.go | 33 +++++++++++++++++++++++++++++++++ datacenter_mongo_accessor.go | 28 ++++++++++++++++++++++++++++ processing_mongo_accessor.go | 33 +++++++++++++++++++++++++++++++++ storage_mongo_accessor.go | 33 +++++++++++++++++++++++++++++++++ workflow_mongo_accessor.go | 29 +++++++++++++++++++++++++++++ 5 files changed, 156 insertions(+) create mode 100644 data_mongo_accessor.go create mode 100644 datacenter_mongo_accessor.go create mode 100644 processing_mongo_accessor.go create mode 100644 storage_mongo_accessor.go create mode 100644 workflow_mongo_accessor.go diff --git a/data_mongo_accessor.go b/data_mongo_accessor.go new file mode 100644 index 0000000..4970147 --- /dev/null +++ b/data_mongo_accessor.go @@ -0,0 +1,33 @@ +package oclib + + type DataMongoAccessor struct{ + + } + + +func (dma *DataMongoAccessor) StoreOne(data Data) string { + + id, err := StoreOne(data,"data") + if err != nil{ + l := CreateLogger("oclib","") + l.Error().Msg("Could not store " + data.Name + " to db. Error: " + err.Error()) + return "" + } + return id +} + +func (dma *DataMongoAccessor) LoadOne(id string) Data { + + var data Data + + res_mongo, err := LoadOne(id,"data") + if err != nil{ + l := CreateLogger("oclib","") + l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error()) + return Data{} + } + + res_mongo.Decode(&data) + + return data +} \ No newline at end of file diff --git a/datacenter_mongo_accessor.go b/datacenter_mongo_accessor.go new file mode 100644 index 0000000..daae29b --- /dev/null +++ b/datacenter_mongo_accessor.go @@ -0,0 +1,28 @@ +package oclib + +type DatacenterMongoAccessor struct{} + +func (dca *DatacenterMongoAccessor) StoreOne(datacenter Datacenter) string { + id, err := StoreOne(datacenter, "datacenter") + if err != nil { + l := CreateLogger("oclib", "") + l.Error().Msg("Could not store " + datacenter.Name + " to db. Error: " + err.Error()) + return "" + } + return id +} + +func (dca *DatacenterMongoAccessor) LoadOne(id string) Datacenter { + var datacenter Datacenter + + res_mongo, err := LoadOne(id, "datacenter") + if err != nil { + l := CreateLogger("oclib", "") + l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error()) + return Datacenter{} + } + + res_mongo.Decode(&datacenter) + + return datacenter +} diff --git a/processing_mongo_accessor.go b/processing_mongo_accessor.go new file mode 100644 index 0000000..12224b8 --- /dev/null +++ b/processing_mongo_accessor.go @@ -0,0 +1,33 @@ +package oclib + + type ProcessingMongoAccessor struct{ + + } + + +func (pma *ProcessingMongoAccessor) StoreOne(processing Processing) string { + + id, err := StoreOne(processing,"processing") + if err != nil{ + l := CreateLogger("oclib","") + l.Error().Msg("Could not store " + processing.Name + " to db. Error: " + err.Error()) + return "" + } + return id +} + +func (pma *ProcessingMongoAccessor) LoadOne(id string) Processing { + + var processing Processing + + res_mongo, err := LoadOne(id,"processing") + if err != nil{ + l := CreateLogger("oclib","") + l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error()) + return Processing{} + } + + res_mongo.Decode(&processing) + + return processing +} \ No newline at end of file diff --git a/storage_mongo_accessor.go b/storage_mongo_accessor.go new file mode 100644 index 0000000..5207897 --- /dev/null +++ b/storage_mongo_accessor.go @@ -0,0 +1,33 @@ +package oclib + + type StorageMongoAccessor struct{ + + } + + +func (schedulema *StorageMongoAccessor) StoreOne(storage Storage) string { + + id, err := StoreOne(storage,"storage") + if err != nil{ + l := CreateLogger("oclib","") + l.Error().Msg("Could not store " + storage.Name + " to db. Error: " + err.Error()) + return "" + } + return id +} + +func (schedulema *StorageMongoAccessor) LoadOne(id string) Storage { + + var storage Storage + + res_mongo, err := LoadOne(id,"storage") + if err != nil{ + l := CreateLogger("oclib","") + l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error()) + return Storage{} + } + + res_mongo.Decode(&storage) + + return storage +} \ No newline at end of file diff --git a/workflow_mongo_accessor.go b/workflow_mongo_accessor.go new file mode 100644 index 0000000..dae64b1 --- /dev/null +++ b/workflow_mongo_accessor.go @@ -0,0 +1,29 @@ +package oclib + + +type WorkflowMongoAccessor struct{} + +func (wfa *WorkflowMongoAccessor) StoreOne(workflow Workflow) string { + id, err := StoreOne(workflow, "workflow") + if err != nil { + l := CreateLogger("oclib", "") + l.Error().Msg("Could not store " + workflow.Name + " to db. Error: " + err.Error()) + return "" + } + return id +} + +func (wfa *WorkflowMongoAccessor) LoadOne(id string) Workflow { + var workflow Workflow + + res_mongo, err := LoadOne(id, "workflow") + if err != nil { + l := CreateLogger("oclib", "") + l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error()) + return Workflow{} + } + + res_mongo.Decode(&workflow) + + return workflow +} \ No newline at end of file