private accessor
This commit is contained in:
@@ -27,7 +27,7 @@ func (d *Workspace) GetName() string {
|
||||
}
|
||||
|
||||
func (d *Workspace) GetAccessor() utils.Accessor {
|
||||
data := &WorkspaceMongoAccessor{}
|
||||
data := New()
|
||||
data.SetLogger(utils.WORKSPACE)
|
||||
return data
|
||||
}
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package workspace
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"cloud.o-forge.io/core/oc-lib/dbs/mongo"
|
||||
"cloud.o-forge.io/core/oc-lib/models/resources/data"
|
||||
"cloud.o-forge.io/core/oc-lib/models/resources/datacenter"
|
||||
@@ -10,15 +12,19 @@ import (
|
||||
"cloud.o-forge.io/core/oc-lib/models/utils"
|
||||
)
|
||||
|
||||
type WorkspaceMongoAccessor struct {
|
||||
type workspaceMongoAccessor struct {
|
||||
utils.AbstractAccessor
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) DeleteOne(id string) (utils.DBObject, int, error) {
|
||||
func New() *workspaceMongoAccessor {
|
||||
return &workspaceMongoAccessor{}
|
||||
}
|
||||
|
||||
func (wfa *workspaceMongoAccessor) DeleteOne(id string) (utils.DBObject, int, error) {
|
||||
return wfa.GenericDeleteOne(id, wfa)
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) {
|
||||
func (wfa *workspaceMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) {
|
||||
d := set.(*Workspace)
|
||||
d.DataResources = nil
|
||||
d.DatacenterResources = nil
|
||||
@@ -39,21 +45,24 @@ func (wfa *WorkspaceMongoAccessor) UpdateOne(set utils.DBObject, id string) (uti
|
||||
return wfa.GenericUpdateOne(set, id, wfa, &Workspace{})
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) {
|
||||
func (wfa *workspaceMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, int, error) {
|
||||
d := data.(*Workspace)
|
||||
d.DataResources = nil
|
||||
d.DatacenterResources = nil
|
||||
d.StorageResources = nil
|
||||
d.ProcessingResources = nil
|
||||
d.WorkflowResources = nil
|
||||
if res, _, _ := wfa.Search(d.Name); len(res) > 0 {
|
||||
return nil, 409, errors.New("Workspace with name " + d.Name + " already exists")
|
||||
}
|
||||
return wfa.GenericStoreOne(d, wfa)
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
|
||||
func (wfa *workspaceMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int, error) {
|
||||
return wfa.GenericStoreOne(data, wfa)
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) fill(workflow *Workspace) *Workspace {
|
||||
func (wfa *workspaceMongoAccessor) fill(workflow *Workspace) *Workspace {
|
||||
if workflow.Datas != nil && len(workflow.Datas) > 0 {
|
||||
dataAccessor := (&data.DataResource{}).GetAccessor()
|
||||
for _, id := range workflow.Datas {
|
||||
@@ -102,7 +111,7 @@ func (wfa *WorkspaceMongoAccessor) fill(workflow *Workspace) *Workspace {
|
||||
return workflow
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
|
||||
func (wfa *workspaceMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) {
|
||||
var workflow Workspace
|
||||
res_mongo, code, err := mongo.MONGOService.LoadOne(id, wfa.GetType())
|
||||
if err != nil {
|
||||
@@ -114,7 +123,7 @@ func (wfa *WorkspaceMongoAccessor) LoadOne(id string) (utils.DBObject, int, erro
|
||||
return wfa.fill(&workflow), 200, nil
|
||||
}
|
||||
|
||||
func (wfa WorkspaceMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) {
|
||||
func (wfa workspaceMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) {
|
||||
objs := []utils.ShallowDBObject{}
|
||||
res_mongo, code, err := mongo.MONGOService.LoadAll(wfa.GetType())
|
||||
if err != nil {
|
||||
@@ -131,7 +140,7 @@ func (wfa WorkspaceMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error
|
||||
return objs, 200, nil
|
||||
}
|
||||
|
||||
func (wfa *WorkspaceMongoAccessor) Search(word string) ([]utils.ShallowDBObject, int, error) {
|
||||
func (wfa *workspaceMongoAccessor) Search(word string) ([]utils.ShallowDBObject, int, error) {
|
||||
objs := []utils.ShallowDBObject{}
|
||||
res_mongo, code, err := mongo.MONGOService.Search(word, []string{"abstractobject.name"}, wfa.GetType())
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user