snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
This commit is contained in:
68
server/pkg/wfexec/prompt.go
Normal file
68
server/pkg/wfexec/prompt.go
Normal file
@@ -0,0 +1,68 @@
|
||||
package wfexec
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/cortezaproject/corteza/server/pkg/expr"
|
||||
)
|
||||
|
||||
type (
|
||||
prompted struct {
|
||||
// when !nul, assuming waiting for input we're waiting for input
|
||||
payload *expr.Vars
|
||||
|
||||
// user to be prompted
|
||||
ownerId uint64
|
||||
|
||||
// state to be resumed
|
||||
state *State
|
||||
|
||||
sent bool
|
||||
|
||||
// prompt reference; something client can use
|
||||
// for orientation, what kind of prompt is expected
|
||||
ref string
|
||||
}
|
||||
|
||||
PendingPrompt struct {
|
||||
Ref string `json:"ref"`
|
||||
SessionID uint64 `json:"sessionID,string"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
StateID uint64 `json:"stateID,string"`
|
||||
Payload *expr.Vars `json:"payload"`
|
||||
OwnerId uint64 `json:"-"`
|
||||
|
||||
Original *prompted `json:"-"`
|
||||
}
|
||||
|
||||
ResumedPrompt struct {
|
||||
StateID uint64 `json:"stateID,string"`
|
||||
OwnerId uint64 `json:"-"`
|
||||
}
|
||||
)
|
||||
|
||||
func Prompt(ownerId uint64, ref string, payload *expr.Vars) *prompted {
|
||||
return &prompted{payload: payload, ref: ref, ownerId: ownerId}
|
||||
}
|
||||
|
||||
func (p *prompted) toPending() *PendingPrompt {
|
||||
return &PendingPrompt{
|
||||
Ref: p.ref,
|
||||
CreatedAt: p.state.created,
|
||||
StateID: p.state.stateId,
|
||||
Payload: p.payload,
|
||||
OwnerId: p.ownerId,
|
||||
Original: p,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *prompted) toResumed() *ResumedPrompt {
|
||||
return &ResumedPrompt{
|
||||
StateID: p.state.stateId,
|
||||
OwnerId: p.ownerId,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *prompted) MarkSent() {
|
||||
p.sent = true
|
||||
}
|
||||
Reference in New Issue
Block a user