correct share infinite loop

This commit is contained in:
mr
2024-10-02 12:23:22 +02:00
parent 93903b4938
commit c309d97623
14 changed files with 35 additions and 23 deletions

View File

@@ -7,13 +7,13 @@ import (
"cloud.o-forge.io/core/oc-lib/dbs"
"cloud.o-forge.io/core/oc-lib/dbs/mongo"
"cloud.o-forge.io/core/oc-lib/models/collaborative_area/shallow_collaborative_area"
"cloud.o-forge.io/core/oc-lib/models/peer"
"cloud.o-forge.io/core/oc-lib/models/resources"
"cloud.o-forge.io/core/oc-lib/models/resources/datacenter"
"cloud.o-forge.io/core/oc-lib/models/utils"
"cloud.o-forge.io/core/oc-lib/models/workflow_execution"
"cloud.o-forge.io/core/oc-lib/models/workspace"
"cloud.o-forge.io/core/oc-lib/models/workspace/shared/shallow_collaborative_area"
"cloud.o-forge.io/core/oc-lib/tools"
cron "github.com/robfig/cron/v3"
)
@@ -158,7 +158,7 @@ func (wfa *workflowMongoAccessor) book(id string, realData *Workflow, execs []*w
* share is a function that shares a workflow to the peers if the workflow is shared
*/
func (wfa *workflowMongoAccessor) share(realData *Workflow, delete bool, caller *tools.HTTPCaller) {
if realData.Shared == nil || len(realData.Shared) == 0 { // no shared no sharing
if realData.Shared == nil || len(realData.Shared) == 0 || caller.Disabled { // no shared no sharing
return
}
for _, sharedID := range realData.Shared { // loop through the shared ids
@@ -280,7 +280,6 @@ func (wfa *workflowMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject,
func (wfa *workflowMongoAccessor) execute(workflow *Workflow, delete bool, active bool) {
accessor := (&workspace.Workspace{}).GetAccessor(nil)
fmt.Println("DEL", workflow.Name+"_workspace", delete)
filters := &dbs.Filters{
Or: map[string][]dbs.Filter{ // filter by standard workspace name attached to a workflow
"abstractobject.name": {{dbs.LIKE.String(), workflow.Name + "_workspace"}},
@@ -289,8 +288,7 @@ func (wfa *workflowMongoAccessor) execute(workflow *Workflow, delete bool, activ
resource, _, err := accessor.Search(filters, "")
if delete { // if delete is set to true, delete the workspace
for _, r := range resource {
rr, c, err := accessor.DeleteOne(r.GetID())
fmt.Println("DEL", rr, c, err)
accessor.DeleteOne(r.GetID())
}
return
}