Add atomic circuit update commands

This commit is contained in:
2026-07-23 21:32:25 +02:00
parent b79faed320
commit 296cb0f1c4
17 changed files with 940 additions and 167 deletions
@@ -0,0 +1,25 @@
import type { CircuitUpdateProjectCommand } from "../models/circuit-project-command.model.js";
import type {
AppendedProjectRevision,
ProjectRevisionSource,
} from "./project-revision.store.js";
export interface ExecuteCircuitUpdateCommandInput {
projectId: string;
expectedRevision: number;
source: ProjectRevisionSource;
description?: string;
actorId?: string;
command: CircuitUpdateProjectCommand;
}
export interface ExecutedCircuitUpdateCommand {
revision: AppendedProjectRevision;
inverse: CircuitUpdateProjectCommand;
}
export interface CircuitProjectCommandStore {
executeUpdate(
input: ExecuteCircuitUpdateCommandInput
): ExecutedCircuitUpdateCommand;
}
+2 -2
View File
@@ -13,8 +13,8 @@ export interface AppendProjectRevisionInput {
source: ProjectRevisionSource;
description?: string;
actorId?: string;
forward: SerializedProjectCommand;
inverse: SerializedProjectCommand;
forward: SerializedProjectCommand<unknown>;
inverse: SerializedProjectCommand<unknown>;
}
export interface AppendedProjectRevision {