private accessor

This commit is contained in:
mr
2024-07-31 10:07:55 +02:00
parent d6a2a416c1
commit 7ae1399a9a
21 changed files with 121 additions and 87 deletions

View File

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

View File

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