test copy

This commit is contained in:
mr
2024-07-19 13:41:10 +02:00
parent 3f9814e649
commit e89b5aae84
14 changed files with 38 additions and 17 deletions
+6 -4
View File
@@ -30,10 +30,6 @@ type LibData struct {
Err string `bson:"error" json:"error"` Err string `bson:"error" json:"error"`
} }
func (lb LibData) BindID(id string) {
lb.DataResource.BindID(id)
}
func Init(appName string) { func Init(appName string) {
logs.SetAppName(appName) logs.SetAppName(appName)
logs.SetLogger(logs.CreateLogger("main", "")) logs.SetLogger(logs.CreateLogger("main", ""))
@@ -61,6 +57,12 @@ func DeleteOne(collection LibDataEnum, id string) LibData {
return LibData{DataResource: d, Code: code, Err: err.Error()} return LibData{DataResource: d, Code: code, Err: err.Error()}
} }
func CopyOne(collection LibDataEnum, object map[string]interface{}) LibData {
model := models.Model(collection.EnumIndex())
d, code, err := model.GetAccessor().CopyOne(model.Deserialize(object))
return LibData{DataResource: d, Code: code, Err: err.Error()}
}
func StoreOne(collection LibDataEnum, object map[string]interface{}) LibData { func StoreOne(collection LibDataEnum, object map[string]interface{}) LibData {
model := models.Model(collection.EnumIndex()) model := models.Model(collection.EnumIndex())
d, code, err := model.GetAccessor().StoreOne(model.Deserialize(object)) d, code, err := model.GetAccessor().StoreOne(model.Deserialize(object))
-2
View File
@@ -14,8 +14,6 @@ type DataResource struct {
Example string `json:"example" bson:"example" required:"true" validate:"required" description:"base64 encoded data"` Example string `json:"example" bson:"example" required:"true" validate:"required" description:"base64 encoded data"`
} }
func (d *DataResource) BindID(id string) {}
func (dma *DataResource) Deserialize(j map[string]interface{}) utils.DBObject { func (dma *DataResource) Deserialize(j map[string]interface{}) utils.DBObject {
b, err := json.Marshal(j) b, err := json.Marshal(j)
if err != nil { if err != nil {
@@ -21,6 +21,10 @@ func (dma *DataMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int
return dma.GenericStoreOne(data, dma) return dma.GenericStoreOne(data, dma)
} }
func (dma *DataMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
return dma.GenericStoreOne(data, dma)
}
func (dma *DataMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { func (dma *DataMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
var data DataResource var data DataResource
res_mongo, code, err := mongo.MONGOService.LoadOne(id, dma.GetType()) res_mongo, code, err := mongo.MONGOService.LoadOne(id, dma.GetType())
@@ -37,8 +37,6 @@ type DatacenterGpuModel struct {
TensorCores uint `bson:"tensor_cores,omitempty" json:"tensor_cores,omitempty"` TensorCores uint `bson:"tensor_cores,omitempty" json:"tensor_cores,omitempty"`
} }
func (d *DatacenterResource) BindID(id string) {}
func (dma *DatacenterResource) Deserialize(j map[string]interface{}) utils.DBObject { func (dma *DatacenterResource) Deserialize(j map[string]interface{}) utils.DBObject {
b, err := json.Marshal(j) b, err := json.Marshal(j)
if err != nil { if err != nil {
@@ -21,6 +21,10 @@ func (dca *DatacenterMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObjec
return dca.GenericStoreOne(data, dca) return dca.GenericStoreOne(data, dca)
} }
func (dca *DatacenterMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
return dca.GenericStoreOne(data, dca)
}
func (dca *DatacenterMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { func (dca *DatacenterMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
var datacenter DatacenterResource var datacenter DatacenterResource
@@ -31,8 +31,6 @@ type ExecutionRequirementsModel struct {
DiskIO string `bson:"disk_io,omitempty" json:"disk_io,omitempty"` DiskIO string `bson:"disk_io,omitempty" json:"disk_io,omitempty"`
} }
func (d *ProcessingResource) BindID(id string) {}
func (dma *ProcessingResource) Deserialize(j map[string]interface{}) utils.DBObject { func (dma *ProcessingResource) Deserialize(j map[string]interface{}) utils.DBObject {
b, err := json.Marshal(j) b, err := json.Marshal(j)
if err != nil { if err != nil {
@@ -21,6 +21,10 @@ func (pma *ProcessingMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObjec
return pma.GenericStoreOne(data, pma) return pma.GenericStoreOne(data, pma)
} }
func (pma *ProcessingMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
return pma.GenericStoreOne(data, pma)
}
func (pma *ProcessingMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { func (pma *ProcessingMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
var processing ProcessingResource var processing ProcessingResource
-2
View File
@@ -24,8 +24,6 @@ type StorageResource struct {
BookingPrice uint `bson:"booking_price,omitempty" json:"booking_price,omitempty"` BookingPrice uint `bson:"booking_price,omitempty" json:"booking_price,omitempty"`
} }
func (d *StorageResource) BindID(id string) {}
func (dma *StorageResource) Deserialize(j map[string]interface{}) utils.DBObject { func (dma *StorageResource) Deserialize(j map[string]interface{}) utils.DBObject {
b, err := json.Marshal(j) b, err := json.Marshal(j)
if err != nil { if err != nil {
@@ -21,6 +21,10 @@ func (sma *StorageMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject,
return sma.GenericStoreOne(data, sma) return sma.GenericStoreOne(data, sma)
} }
func (sma *StorageMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
return sma.GenericStoreOne(data, sma)
}
func (sma *StorageMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { func (sma *StorageMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
var storage StorageResource var storage StorageResource
-2
View File
@@ -57,8 +57,6 @@ type WorkflowResource struct {
WorkflowID string `bson:"workflow_id,omitempty" json:"workflow_id,omitempty"` WorkflowID string `bson:"workflow_id,omitempty" json:"workflow_id,omitempty"`
} }
func (d *WorkflowResource) BindID(id string) { d.WorkflowID = id }
func (d *WorkflowResource) GetAccessor() utils.Accessor { func (d *WorkflowResource) GetAccessor() utils.Accessor {
data := &WorkflowResourceMongoAccessor{} data := &WorkflowResourceMongoAccessor{}
data.SetLogger(utils.WORKFLOW_RESOURCE) data.SetLogger(utils.WORKFLOW_RESOURCE)
@@ -21,6 +21,17 @@ func (wfa *WorkflowResourceMongoAccessor) StoreOne(data utils.DBObject) (utils.D
return wfa.GenericStoreOne(data, wfa) return wfa.GenericStoreOne(data, wfa)
} }
func (wfa *WorkflowResourceMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
res, _, _ := wfa.LoadOne(data.GetID())
data.(*WorkflowResource).WorkflowID = data.GetID()
if res == nil {
return wfa.GenericStoreOne(data, wfa)
} else {
data.(*WorkflowResource).UUID = res.GetID()
return wfa.GenericUpdateOne(data.Serialize(), res.GetID(), wfa)
}
}
func (wfa *WorkflowResourceMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { func (wfa *WorkflowResourceMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
var workflow WorkflowResource var workflow WorkflowResource
res_mongo, code, err := mongo.MONGOService.LoadOne(id, wfa.GetType()) res_mongo, code, err := mongo.MONGOService.LoadOne(id, wfa.GetType())
+1 -1
View File
@@ -3,7 +3,6 @@ package utils
type DBObject interface { type DBObject interface {
GenerateID() GenerateID()
GetID() string GetID() string
BindID(id string)
GetName() string GetName() string
Deserialize(j map[string]interface{}) DBObject Deserialize(j map[string]interface{}) DBObject
Serialize() map[string]interface{} Serialize() map[string]interface{}
@@ -15,6 +14,7 @@ type Accessor interface {
GetType() string GetType() string
LoadOne(id string) (DBObject, int, error) LoadOne(id string) (DBObject, int, error)
DeleteOne(id string) (DBObject, int, error) DeleteOne(id string) (DBObject, int, error)
CopyOne(data DBObject) (DBObject, int, error)
StoreOne(data DBObject) (DBObject, int, error) StoreOne(data DBObject) (DBObject, int, error)
UpdateOne(set map[string]interface{}, id string) (DBObject, int, error) UpdateOne(set map[string]interface{}, id string) (DBObject, int, error)
} }
-2
View File
@@ -13,8 +13,6 @@ type Workflow struct {
w.AbstractWorkflow w.AbstractWorkflow
} }
func (d *Workflow) BindID(id string) {}
func (d *Workflow) GetName() string { func (d *Workflow) GetName() string {
return d.Name return d.Name
} }
@@ -21,6 +21,10 @@ func (wfa *WorkflowMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject,
return wfa.GenericStoreOne(data, wfa) return wfa.GenericStoreOne(data, wfa)
} }
func (wfa *WorkflowMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
return wfa.GenericStoreOne(data, wfa)
}
func (wfa *WorkflowMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { func (wfa *WorkflowMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
var workflow Workflow var workflow Workflow
res_mongo, code, err := mongo.MONGOService.LoadOne(id, wfa.GetType()) res_mongo, code, err := mongo.MONGOService.LoadOne(id, wfa.GetType())