Create a Verification on manual check

This commit is contained in:
mr
2026-03-12 11:48:11 +01:00
parent df7ecacb75
commit 3d8e36436c
3 changed files with 26 additions and 11 deletions

View File

@@ -9,6 +9,7 @@ import (
oclib "cloud.o-forge.io/core/oc-lib" oclib "cloud.o-forge.io/core/oc-lib"
"cloud.o-forge.io/core/oc-lib/dbs" "cloud.o-forge.io/core/oc-lib/dbs"
"cloud.o-forge.io/core/oc-lib/models/common/enum" "cloud.o-forge.io/core/oc-lib/models/common/enum"
"cloud.o-forge.io/core/oc-lib/models/execution_verification"
"cloud.o-forge.io/core/oc-lib/models/resources/native_tools" "cloud.o-forge.io/core/oc-lib/models/resources/native_tools"
"cloud.o-forge.io/core/oc-lib/models/workflow_execution" "cloud.o-forge.io/core/oc-lib/models/workflow_execution"
"cloud.o-forge.io/core/oc-lib/tools" "cloud.o-forge.io/core/oc-lib/tools"
@@ -94,19 +95,29 @@ func (s *ScheduleManager) getExecution(from time.Time, to time.Time) (exec_list
func (s *ScheduleManager) ExecuteWorkflow(resp tools.NATSResponse) { func (s *ScheduleManager) ExecuteWorkflow(resp tools.NATSResponse) {
var event native_tools.WorkflowEventParams var event native_tools.WorkflowEventParams
json.Unmarshal(resp.Payload, &event) json.Unmarshal(resp.Payload, &event)
access := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), nil) if event.ManualCheck {
if d := access.LoadOne(fmt.Sprintf("%v", event.WorkflowResourceID)); d.Err == "" { access := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.EXECUTION_VERIFICATION), nil)
eventExec := &workflow_execution.WorkflowExecution{ exec := &execution_verification.ExecutionVerification{
WorkflowID: d.Data.GetID(), WorkflowID: event.WorkflowResourceID,
ExecDate: time.Now(), Payload: event.Payload,
ExecutionsID: uuid.New().String(),
State: enum.SCHEDULED,
} }
exec := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW_EXECUTION), nil).StoreOne(eventExec.Serialize(eventExec)) access.StoreOne(exec.Serialize(exec))
if execc := exec.ToWorkflowExecution(); execc != nil { } else {
Executions.AddSchedules([]*workflow_execution.WorkflowExecution{execc}, s.Logger) access := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), nil)
if d := access.LoadOne(fmt.Sprintf("%v", event.WorkflowResourceID)); d.Err == "" {
eventExec := &workflow_execution.WorkflowExecution{
WorkflowID: d.Data.GetID(),
ExecDate: time.Now(),
ExecutionsID: uuid.New().String(),
State: enum.SCHEDULED,
}
exec := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW_EXECUTION), nil).StoreOne(eventExec.Serialize(eventExec))
if execc := exec.ToWorkflowExecution(); execc != nil {
Executions.AddSchedules([]*workflow_execution.WorkflowExecution{execc}, s.Logger)
}
} }
} }
} }
func (s *ScheduleManager) GetNextScheduledWorkflows(_ tools.NATSResponse) { func (s *ScheduleManager) GetNextScheduledWorkflows(_ tools.NATSResponse) {

2
go.mod
View File

@@ -3,7 +3,7 @@ module oc-schedulerd
go 1.25.0 go 1.25.0
require ( require (
cloud.o-forge.io/core/oc-lib v0.0.0-20260312083310-f5e199132416 cloud.o-forge.io/core/oc-lib v0.0.0-20260312104524-e28b79ac0d62
github.com/beego/beego v1.12.12 github.com/beego/beego v1.12.12
github.com/google/uuid v1.6.0 github.com/google/uuid v1.6.0
github.com/goraz/onion v0.1.3 github.com/goraz/onion v0.1.3

4
go.sum
View File

@@ -2,6 +2,10 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20260212123952-403913d8cf13 h1:DNIPQ7C+7wjbj
cloud.o-forge.io/core/oc-lib v0.0.0-20260212123952-403913d8cf13/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo= cloud.o-forge.io/core/oc-lib v0.0.0-20260212123952-403913d8cf13/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
cloud.o-forge.io/core/oc-lib v0.0.0-20260312083310-f5e199132416 h1:QHR5pzCI/HUawu8pst5Ggio6WPCUUf8XYjNMVk8kSqo= cloud.o-forge.io/core/oc-lib v0.0.0-20260312083310-f5e199132416 h1:QHR5pzCI/HUawu8pst5Ggio6WPCUUf8XYjNMVk8kSqo=
cloud.o-forge.io/core/oc-lib v0.0.0-20260312083310-f5e199132416/go.mod h1:+ENuvBfZdESSvecoqGY/wSvRlT3vinEolxKgwbOhUpA= cloud.o-forge.io/core/oc-lib v0.0.0-20260312083310-f5e199132416/go.mod h1:+ENuvBfZdESSvecoqGY/wSvRlT3vinEolxKgwbOhUpA=
cloud.o-forge.io/core/oc-lib v0.0.0-20260312104017-9645e71b540b h1:f7ATkNQhf6Mzt98aTNaRcQ+B/QMKcAtwVHsHjt7Ju5I=
cloud.o-forge.io/core/oc-lib v0.0.0-20260312104017-9645e71b540b/go.mod h1:+ENuvBfZdESSvecoqGY/wSvRlT3vinEolxKgwbOhUpA=
cloud.o-forge.io/core/oc-lib v0.0.0-20260312104524-e28b79ac0d62 h1:sHzacZxPIKHyjL4EkgG/c7MI8gM1xmLdhaoUx2ZsH+M=
cloud.o-forge.io/core/oc-lib v0.0.0-20260312104524-e28b79ac0d62/go.mod h1:+ENuvBfZdESSvecoqGY/wSvRlT3vinEolxKgwbOhUpA=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=