func()

in api/workflow.go [37:52]


func (s *workflowImpl) Execute(ctx context.Context, req *proto.ExecuteRequest) (*proto.ExecuteResponse, error) {
	var rsp proto.ExecuteResponse
	var param flow.WorkflowParam
	if err := gconv.Struct(req, &param); err != nil {
		return nil, err
	}
	if len(req.InstanceId) != 0 {
		return &rsp, s.engine.Transition(ctx, &param)
	}
	r, err := s.engine.Start(ctx, &param)
	if err != nil {
		return nil, err
	}
	rsp.InstanceId = r
	return &rsp, nil
}