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

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))

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 {

View File

@ -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())

View File

@ -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 {

View File

@ -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

View File

@ -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 {

View File

@ -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

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 {

View File

@ -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

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)

View File

@ -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())

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)
} }

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
} }

View File

@ -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())