Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProductionFlowPresenter ¶
func ProductionFlowPresenter(ctx context.Context, steps []*pb.ProductionFlowStepInfo) *apiresource.ProductionFlow
Types ¶
type ConnectStepsEndpoint ¶
type ConnectStepsEndpoint struct{}
Connects two production steps so that work flows from the source step into the target step.
The source step becomes an upstream dependency of the target step, and connecting a pair that is already connected has no effect.
Connections are otherwise derived from item relationships: changing which items a step produces or consumes recomputes every connection on that step, which discards connections made here.
func (*ConnectStepsEndpoint) Materialize ¶
func (e *ConnectStepsEndpoint) Materialize() *apiendpoint.APIEndpoint[*ConnectStepsRequest, *apiresource.EmptyResource]
type ConnectStepsRequest ¶
type ConnectStepsRequest struct {
// Source (upstream) production step ID.
SourceProductionStepID string `json:"source_production_step_id" validate:"required"`
// Target (downstream) production step ID.
TargetProductionStepID string `json:"target_production_step_id" validate:"required"`
}
Request to connect two production steps.
func (*ConnectStepsRequest) SchemaExample ¶
func (*ConnectStepsRequest) SchemaExample() any
type GetProductionFlowEndpoint ¶
type GetProductionFlowEndpoint struct{}
Returns the production flow graph for the given item.
The graph contains the step(s) that produce the item, every upstream step that feeds them, and any connected downstream steps, with each step's production output, consumptions, and connections. The list of steps is empty if no production step produces the item.
func (*GetProductionFlowEndpoint) Materialize ¶
func (e *GetProductionFlowEndpoint) Materialize() *apiendpoint.APIEndpoint[*GetProductionFlowRequest, *apiresource.ProductionFlow]
type GetProductionFlowRequest ¶
type GetProductionFlowRequest struct {
// ID of the item whose production flow to retrieve.
ItemID string `path:"item_id" validate:"required"`
}
Request to retrieve the production flow graph for an item.
type ProductionFlowSvc ¶
type ProductionFlowSvc interface {
GetProductionFlow(ctx context.Context, req *GetProductionFlowRequest) (*apiresource.ProductionFlow, *apierror.APIError)
ConnectSteps(ctx context.Context, req *ConnectStepsRequest) (*apiresource.EmptyResource, *apierror.APIError)
}
func NewProductionFlowSvc ¶
func NewProductionFlowSvc(config *ProductionFlowSvcConfig) ProductionFlowSvc
type ProductionFlowSvcConfig ¶
type ProductionFlowSvcConfig struct {
// CoreClient (required) is the core-service gRPC client.
CoreClient pb.CoreServiceClient
}