From e646cfef0b46200b70ade73c4d31bd568a9944ce Mon Sep 17 00:00:00 2001 From: mr Date: Thu, 6 Feb 2025 09:08:35 +0100 Subject: [PATCH] workflow execution evolved --- models/booking/booking_mongo_accessor.go | 7 +++++++ models/workflow_execution/workflow_execution.go | 5 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/models/booking/booking_mongo_accessor.go b/models/booking/booking_mongo_accessor.go index d1523af..ed78780 100644 --- a/models/booking/booking_mongo_accessor.go +++ b/models/booking/booking_mongo_accessor.go @@ -46,6 +46,9 @@ func (a *bookingMongoAccessor) CopyOne(data utils.DBObject) (utils.DBObject, int func (a *bookingMongoAccessor) LoadOne(id string) (utils.DBObject, int, error) { return utils.GenericLoadOne[*Booking](id, func(d utils.DBObject) (utils.DBObject, int, error) { + if d.(*Booking).State == enum.DRAFT && time.Now().UTC().After(d.(*Booking).ExpectedStartDate) { + return utils.GenericDeleteOne(d.GetID(), a) + } if (d.(*Booking).ExpectedEndDate) == nil { d.(*Booking).State = enum.FORGOTTEN utils.GenericRawUpdateOne(d, id, a) @@ -67,6 +70,10 @@ func (a *bookingMongoAccessor) Search(filters *dbs.Filters, search string, isDra func (a *bookingMongoAccessor) getExec() func(utils.DBObject) utils.ShallowDBObject { return func(d utils.DBObject) utils.ShallowDBObject { + if d.(*Booking).State == enum.DRAFT && time.Now().UTC().After(d.(*Booking).ExpectedStartDate) { + utils.GenericDeleteOne(d.GetID(), a) + return nil + } if d.(*Booking).State == enum.SCHEDULED && time.Now().UTC().After(*&d.(*Booking).ExpectedStartDate) { d.(*Booking).State = enum.DELAYED utils.GenericRawUpdateOne(d, d.GetID(), a) diff --git a/models/workflow_execution/workflow_execution.go b/models/workflow_execution/workflow_execution.go index d7fcace..41726c3 100644 --- a/models/workflow_execution/workflow_execution.go +++ b/models/workflow_execution/workflow_execution.go @@ -28,9 +28,8 @@ type WorkflowExecutions struct { } func (r *WorkflowExecutions) StoreDraftDefault() { - // r.IsDraft = true - r.IsDraft = false // TODO: TEMPORARY - r.State = enum.SCHEDULED + r.IsDraft = true // TODO: TEMPORARY + r.State = enum.DRAFT } func (r *WorkflowExecutions) CanUpdate(set utils.DBObject) (bool, utils.DBObject) {