From caf0c1afcb9d10117a7271e9346aa8ffb90fe1ac Mon Sep 17 00:00:00 2001 From: mr Date: Fri, 2 Aug 2024 16:45:45 +0200 Subject: [PATCH] mongo and or --- models/workflow/workflow_mongo_accessor.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/models/workflow/workflow_mongo_accessor.go b/models/workflow/workflow_mongo_accessor.go index 500cfb8..801bda1 100644 --- a/models/workflow/workflow_mongo_accessor.go +++ b/models/workflow/workflow_mongo_accessor.go @@ -25,7 +25,15 @@ func (wfa *workflowMongoAccessor) DeleteOne(id string) (utils.DBObject, int, err return wfa.GenericDeleteOne(id, wfa) } -func (wfa *workflowMongoAccessor) execution(realData *Workflow, delete bool) (int, error) { +func (wfa *workflowMongoAccessor) execution(id string, realData *Workflow, delete bool) (int, error) { + if realData.Schedule == nil { + return 200, nil + } + res, _, _ := wfa.LoadOne(id) + r := res.(*Workflow) + if r.Schedule.Start == realData.Schedule.Start && r.Schedule.End == realData.Schedule.End && r.Schedule.Cron == realData.Schedule.Cron { + return 200, nil + } if delete { mongo.MONGOService.DeleteMultiple(map[string]interface{}{ "workflow_id": realData.UUID, @@ -71,7 +79,7 @@ func (wfa *workflowMongoAccessor) execution(realData *Workflow, delete bool) (in } func (wfa *workflowMongoAccessor) UpdateOne(set utils.DBObject, id string) (utils.DBObject, int, error) { - if code, err := wfa.execution(set.(*Workflow), true); err != nil { + if code, err := wfa.execution(id, set.(*Workflow), true); err != nil { return nil, code, err } res, code, err := wfa.GenericUpdateOne(set, id, wfa, &Workflow{}) @@ -87,7 +95,7 @@ func (wfa *workflowMongoAccessor) StoreOne(data utils.DBObject) (utils.DBObject, if err != nil { return nil, code, err } - if code, err := wfa.execution(res.(*Workflow), false); err != nil { + if code, err := wfa.execution(res.GetID(), res.(*Workflow), false); err != nil { return nil, code, err } wfa.execute(res.(*Workflow))