Class BowireFlowDataEndpoints

Namespace
Kuestenlogik.Bowire.Flows
Assembly
Kuestenlogik.Bowire.Flows.dll

Row expansion for a data-driven Flow step (#174), so the in-browser runner gets the same rows bowire test would.

public sealed class BowireFlowDataEndpoints : IBowireEndpointContribution
Inheritance
BowireFlowDataEndpoints
Implements
Inherited Members

Remarks

The step's data block is authored in the workbench and was consumed only by the CLI: the in-browser runner ignored it, so a parameterised step ran once with its placeholders unresolved and looked like it had passed. Expanding here rather than in JavaScript keeps one implementation of what a row is — the generator's arithmetic, the CSV dialect, the label column, the 100k ceiling — instead of a second one that drifts.

A CSV source resolves relative to the flow file, and a workbench flow has none: it lives inside the workspace's flows.json. Rather than invent a base directory, a CSV row source is refused here with that reason; inline rows and generators, which are self-contained, work everywhere.

This used to cite #97 as what CSV was waiting for. That was wrong -- #97 closed in August and was about a migration dialog. A workspace flow now has a resolvable file (#365), so a base directory for CSV is available and the refusal is a decision waiting to be revisited rather than a wall.

Constructors

BowireFlowDataEndpoints()

public BowireFlowDataEndpoints()

Methods

MapEndpoints(IEndpointRouteBuilder, string)

Map this contribution's endpoints. Called once per host startup from BowireApiEndpoints.MapBowire.

public void MapEndpoints(IEndpointRouteBuilder endpoints, string basePath)

Parameters

endpoints IEndpointRouteBuilder

The auth-gated IEndpointRouteBuilder group every workbench feature endpoint lives under.

basePath string

The URL fragment every route is anchored under (e.g. /bowire for embedded hosts, empty for the standalone CLI).