From 4a90d3379c81199cee2f35ae965cb26310aeabbd Mon Sep 17 00:00:00 2001 From: mr Date: Mon, 22 Jul 2024 15:18:59 +0200 Subject: [PATCH] update fails --- entrypoint.go | 33 +++++++++++++++-------- models/resources/data/data.go | 4 +-- models/resources/datacenter/datacenter.go | 8 +++--- models/resources/storage/storage.go | 6 ++--- models/resources/storage/storage_test.go | 4 +-- models/resources/workflow/workflow.go | 2 +- 6 files changed, 34 insertions(+), 23 deletions(-) diff --git a/entrypoint.go b/entrypoint.go index b520e4a..14954f6 100644 --- a/entrypoint.go +++ b/entrypoint.go @@ -42,32 +42,43 @@ func GetLogger() zerolog.Logger { func LoadOne(collection LibDataEnum, id string) LibData { d, code, err := models.Model(collection.EnumIndex()).GetAccessor().LoadOne(id) - if err != nil { return LibData{Data: d, Code: code, Err: err.Error()} } - return LibData{Data: d, Code: code } + if err != nil { + return LibData{Data: d, Code: code, Err: err.Error()} + } + return LibData{Data: d, Code: code} } func UpdateOne(collection LibDataEnum, set map[string]interface{}, id string) LibData { - d, code, err := models.Model(collection.EnumIndex()).GetAccessor().UpdateOne(set, id) - if err != nil { return LibData{Data: d, Code: code, Err: err.Error()} } - return LibData{Data: d, Code: code } + model := models.Model(collection.EnumIndex()) + d, code, err := model.GetAccessor().UpdateOne(model.Deserialize(set).Serialize(), id) + if err != nil { + return LibData{Data: d, Code: code, Err: err.Error()} + } + return LibData{Data: d, Code: code} } func DeleteOne(collection LibDataEnum, id string) LibData { d, code, err := models.Model(collection.EnumIndex()).GetAccessor().DeleteOne(id) - if err != nil { return LibData{Data: d, Code: code, Err: err.Error()} } - return LibData{Data: d, Code: code } + if err != nil { + return LibData{Data: d, Code: code, Err: err.Error()} + } + return LibData{Data: d, Code: code} } func StoreOne(collection LibDataEnum, object map[string]interface{}) LibData { model := models.Model(collection.EnumIndex()) d, code, err := model.GetAccessor().StoreOne(model.Deserialize(object)) - if err != nil { return LibData{Data: d, Code: code, Err: err.Error()} } - return LibData{Data: d, Code: code } + if err != nil { + return LibData{Data: d, Code: code, Err: err.Error()} + } + return LibData{Data: d, Code: code} } func CopyOne(collection LibDataEnum, object map[string]interface{}) LibData { model := models.Model(collection.EnumIndex()) d, code, err := model.GetAccessor().CopyOne(model.Deserialize(object)) - if err != nil { return LibData{Data: d, Code: code, Err: err.Error()} } - return LibData{Data: d, Code: code } + if err != nil { + return LibData{Data: d, Code: code, Err: err.Error()} + } + return LibData{Data: d, Code: code} } diff --git a/models/resources/data/data.go b/models/resources/data/data.go index 9743e7c..72bf213 100644 --- a/models/resources/data/data.go +++ b/models/resources/data/data.go @@ -10,8 +10,8 @@ import ( type DataResource struct { resources.AbstractResource Protocols []string `json:"protocol,omitempty" bson:"protocol,omitempty"` //TODO Enum type - DataType string `json:"datatype" bson:"datatype"` - Example string `json:"example" bson:"example" description:"base64 encoded data"` + DataType string `json:"datatype,omitempty" bson:"datatype"` + Example string `json:"example,omitempty" bson:"example" description:"base64 encoded data"` } func (dma *DataResource) Deserialize(j map[string]interface{}) utils.DBObject { diff --git a/models/resources/datacenter/datacenter.go b/models/resources/datacenter/datacenter.go index 0c9e518..0419bca 100644 --- a/models/resources/datacenter/datacenter.go +++ b/models/resources/datacenter/datacenter.go @@ -9,11 +9,11 @@ import ( type DatacenterResource struct { resources.AbstractResource - BookingPrice int `bson:"booking_price" json:"booking_price"` + BookingPrice int `bson:"booking_price" json:"booking_price,omitempty"` - CPU DatacenterCpuModel `bson:"cpu,omitempty" json:"cpu,omitempty"` - RAM DatacenterMemoryModel `bson:"ram,omitempty" json:"ram,omitempty"` - GPU []DatacenterGpuModel `bson:"gpu,omitempty" json:"gpu,omitempty"` + CPU *DatacenterCpuModel `bson:"cpu,omitempty" json:"cpu,omitempty"` + RAM *DatacenterMemoryModel `bson:"ram,omitempty" json:"ram,omitempty"` + GPU []DatacenterGpuModel `bson:"gpu,omitempty" json:"gpu,omitempty"` } type DatacenterCpuModel struct { diff --git a/models/resources/storage/storage.go b/models/resources/storage/storage.go index baf5f24..e1428f3 100644 --- a/models/resources/storage/storage.go +++ b/models/resources/storage/storage.go @@ -8,15 +8,15 @@ import ( ) type URL struct { - Protocol string `bson:"protocol" json:"protocol"` - Path string `bson:"path" json:"path"` + Protocol string `bson:"protocol,omitempty" json:"protocol"` + Path string `bson:"path,omitempty" json:"path"` } type StorageResource struct { resources.AbstractResource Capacity uint `bson:"capacity,omitempty" json:"capacity,omitempty"` - Url URL `bson:"url,omitempty" json:"url,omitempty"` // Will allow to select between several protocols + Url *URL `bson:"url,omitempty" json:"url,omitempty"` // Will allow to select between several protocols Encryption bool `bson:"encryption,omitempty" json:"encryption,omitempty"` Redundancy string `bson:"redundancy,omitempty" json:"redundancy,omitempty"` diff --git a/models/resources/storage/storage_test.go b/models/resources/storage/storage_test.go index e9b07f8..d289009 100644 --- a/models/resources/storage/storage_test.go +++ b/models/resources/storage/storage_test.go @@ -10,7 +10,7 @@ import ( ) func TestStoreOneStorage(t *testing.T) { - s := StorageResource{Capacity: 123, Url: URL{Protocol: "http", Path: "azerty.fr"}, + s := StorageResource{Capacity: 123, Url: &URL{Protocol: "http", Path: "azerty.fr"}, AbstractResource: resources.AbstractResource{ AbstractObject: utils.AbstractObject{Name: "testData"}, Description: "Lorem Ipsum", @@ -28,7 +28,7 @@ func TestStoreOneStorage(t *testing.T) { } func TestLoadOneStorage(t *testing.T) { - s := StorageResource{Capacity: 123, Url: URL{Protocol: "http", Path: "azerty.fr"}, + s := StorageResource{Capacity: 123, Url: &URL{Protocol: "http", Path: "azerty.fr"}, AbstractResource: resources.AbstractResource{ AbstractObject: utils.AbstractObject{Name: "testData"}, Description: "Lorem Ipsum", diff --git a/models/resources/workflow/workflow.go b/models/resources/workflow/workflow.go index 24e1e7a..87baffe 100644 --- a/models/resources/workflow/workflow.go +++ b/models/resources/workflow/workflow.go @@ -19,7 +19,7 @@ type AbstractWorkflow struct { ProcessingResource map[string]processing.ProcessingResource `bson:"processing,omitempty" json:"processing,omitempty"` Datacenters map[string]datacenter.DatacenterResource `bson:"datacenters,omitempty" json:"datacenters,omitempty"` Workflows map[string]WorkflowResource `bson:"workflows,omitempty" json:"workflows,omitempty"` - Schedule WorkflowSchedule `bson:"schedule,omitempty" json:"schedule,omitempty"` + Schedule *WorkflowSchedule `bson:"schedule,omitempty" json:"schedule,omitempty"` } func (w *AbstractWorkflow) isDCLink(link graph.GraphLink) bool {