Files
leistungsbilanz-ts/src/domain/ports/distribution-board-subtree-project-command.store.ts
T

28 lines
954 B
TypeScript

import type { DistributionBoardSubtreeProjectCommand } from "../models/distribution-board-subtree-project-command.model.js";
import type { DistributionBoardSubtreeSnapshot } from "../models/distribution-board-subtree-snapshot.model.js";
import type {
AppendedProjectRevision,
ProjectRevisionSource,
} from "./project-revision.store.js";
export interface ExecuteDistributionBoardSubtreeCommandInput {
projectId: string;
expectedRevision: number;
source: ProjectRevisionSource;
description?: string;
actorId?: string;
historyTargetChangeSetId?: string;
command: DistributionBoardSubtreeProjectCommand;
}
export interface DistributionBoardSubtreeProjectCommandStore {
capture(
projectId: string,
distributionBoardId: string
): DistributionBoardSubtreeSnapshot;
execute(input: ExecuteDistributionBoardSubtreeCommandInput): {
revision: AppendedProjectRevision;
inverse: DistributionBoardSubtreeProjectCommand;
};
}