Keep a flow's runs when the flow goes

A run record is a record of what ran, so deleting a flow no longer sweeps its
history: `_forget_runs` is gone from the flow-delete path, and `DELETE /runs/{id}`
is the only thing that removes a run one at a time. The in-flight guard stays —
that is about work, not history.

`DELETE /runs?flow=` is the counterpart to the list's flow filter and what a
reseed needs, sharing the four statements with the single-run delete and
refusing the same way while a run of that flow is still going.

A run whose flow is gone reads as one: `useFlowInputs` reports the 404 rather
than an empty declaration set, so the run page says "flow deleted", explains it,
and disables Retry, which the route would refuse anyway.
This commit is contained in:
2026-09-06 14:53:23 +02:00
parent 6ad249bfb3
commit c9172adfaa
12 changed files with 276 additions and 80 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ export const OpenAPI: OpenAPIConfig = {
PASSWORD: undefined,
TOKEN: undefined,
USERNAME: undefined,
VERSION: '0.1.4+dev',
VERSION: '0.1.5+dev',
WITH_CREDENTIALS: false,
interceptors: {
request: new Interceptors(),
File diff suppressed because one or more lines are too long
+17
View File
@@ -1830,6 +1830,12 @@ export type RunsReadRunsData = {
export type RunsReadRunsResponse = (Array<fluksio__api__routes__runs__RunRow>);
export type RunsDeleteRunsData = {
flow: string;
};
export type RunsDeleteRunsResponse = (Message);
export type RunsReadOverviewResponse = (Array<FlowRunsRow>);
export type RunsExportMetricsData = {
@@ -1860,6 +1866,17 @@ export type RunsExportRunsData = {
export type RunsExportRunsResponse = (unknown);
export type RunsReadMetricNamesData = {
flow?: (string | null);
group?: (string | null);
ids?: string;
since?: (string | null);
status?: (string | null);
until?: (string | null);
};
export type RunsReadMetricNamesResponse = (Array<(string)>);
export type RunsReadRunData = {
runId: string;
};