state execution

This commit is contained in:
mr 2024-11-12 15:10:26 +01:00
parent 8a21a7c803
commit 06c3af5d4d
2 changed files with 18 additions and 2 deletions

View File

@ -52,7 +52,7 @@ func (wfa *bookingMongoAccessor) LoadOne(id string) (utils.DBObject, int, error)
return &workflow, 200, nil return &workflow, 200, nil
} }
func (wfa bookingMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) { func (wfa *bookingMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) {
objs := []utils.ShallowDBObject{} objs := []utils.ShallowDBObject{}
res_mongo, code, err := mongo.MONGOService.LoadAll(wfa.GetType()) res_mongo, code, err := mongo.MONGOService.LoadAll(wfa.GetType())
if err != nil { if err != nil {
@ -64,6 +64,10 @@ func (wfa bookingMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error)
return nil, 404, err return nil, 404, err
} }
for _, r := range results { for _, r := range results {
if r.State == workflow_execution.SCHEDULED && time.Now().UTC().After(*r.ExecDate) {
r.State = workflow_execution.FORGOTTEN
wfa.GenericRawUpdateOne(&r, r.UUID, wfa)
}
objs = append(objs, &r.AbstractObject) // Warning only AbstractObject is returned objs = append(objs, &r.AbstractObject) // Warning only AbstractObject is returned
} }
return objs, 200, nil return objs, 200, nil
@ -89,6 +93,10 @@ func (wfa *bookingMongoAccessor) Search(filters *dbs.Filters, search string) ([]
return nil, 404, err return nil, 404, err
} }
for _, r := range results { for _, r := range results {
if r.State == workflow_execution.SCHEDULED && time.Now().UTC().After(*r.ExecDate) {
r.State = workflow_execution.FORGOTTEN
wfa.GenericRawUpdateOne(&r, r.UUID, wfa)
}
objs = append(objs, &r) objs = append(objs, &r)
} }
return objs, 200, nil return objs, 200, nil

View File

@ -47,7 +47,7 @@ func (wfa *workflowExecutionMongoAccessor) LoadOne(id string) (utils.DBObject, i
return &workflow, 200, nil return &workflow, 200, nil
} }
func (wfa workflowExecutionMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) { func (wfa *workflowExecutionMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) {
objs := []utils.ShallowDBObject{} objs := []utils.ShallowDBObject{}
res_mongo, code, err := mongo.MONGOService.LoadAll(wfa.GetType()) res_mongo, code, err := mongo.MONGOService.LoadAll(wfa.GetType())
if err != nil { if err != nil {
@ -59,6 +59,10 @@ func (wfa workflowExecutionMongoAccessor) LoadAll() ([]utils.ShallowDBObject, in
return nil, 404, err return nil, 404, err
} }
for _, r := range results { for _, r := range results {
if r.State == SCHEDULED && time.Now().UTC().After(*r.ExecDate) {
r.State = FORGOTTEN
wfa.GenericRawUpdateOne(&r, r.UUID, wfa)
}
objs = append(objs, &r.AbstractObject) objs = append(objs, &r.AbstractObject)
} }
return objs, 200, nil return objs, 200, nil
@ -84,6 +88,10 @@ func (wfa *workflowExecutionMongoAccessor) Search(filters *dbs.Filters, search s
return nil, 404, err return nil, 404, err
} }
for _, r := range results { for _, r := range results {
if r.State == SCHEDULED && time.Now().UTC().After(*r.ExecDate) {
r.State = FORGOTTEN
wfa.GenericRawUpdateOne(&r, r.UUID, wfa)
}
objs = append(objs, &r) objs = append(objs, &r)
} }
return objs, 200, nil return objs, 200, nil