33 lines
604 B
Go
33 lines
604 B
Go
package contracts
|
|
|
|
import (
|
|
"git.fsdpf.net/go/reflux"
|
|
"git.fsdpf.net/go/req"
|
|
"github.com/samber/do/v2"
|
|
)
|
|
|
|
type CondflowService interface {
|
|
Run(name string, input reflux.R, u req.User) error
|
|
}
|
|
|
|
type FlowDecision interface {
|
|
Controller
|
|
Res() req.Resource
|
|
}
|
|
|
|
type BaseFlowDecision struct {
|
|
Controller
|
|
res string
|
|
}
|
|
|
|
func (be BaseFlowDecision) Res() req.Resource {
|
|
return do.MustInvoke[MustResource](be.Container())(be.res)
|
|
}
|
|
|
|
func NewBaseFlowDecision(container do.Injector, res string) *BaseFlowDecision {
|
|
return &BaseFlowDecision{
|
|
Controller: &BaseController{container},
|
|
res: res,
|
|
}
|
|
}
|