leistungsbilanz-ts/src/domain/ports/circuit-project-command.store.ts

26 lines
730 B
TypeScript

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;
historyTargetChangeSetId?: string;
command: CircuitUpdateProjectCommand;
}
export interface ExecutedCircuitUpdateCommand {
revision: AppendedProjectRevision;
inverse: CircuitUpdateProjectCommand;
}
export interface CircuitProjectCommandStore {
executeUpdate(
input: ExecuteCircuitUpdateCommandInput
): ExecutedCircuitUpdateCommand;
}