Restore named project snapshots
This commit is contained in:
@@ -24,6 +24,9 @@ export interface ProjectCommandExecutor {
|
||||
executeUser(
|
||||
input: ExecuteUserProjectCommandInput
|
||||
): ExecutedProjectCommand;
|
||||
executeRestore(
|
||||
input: ExecuteUserProjectCommandInput
|
||||
): ExecutedProjectCommand;
|
||||
undo(
|
||||
input: ExecuteProjectHistoryCommandInput
|
||||
): ExecutedProjectCommand;
|
||||
|
||||
@@ -18,9 +18,19 @@ export interface CreateNamedProjectSnapshotInput {
|
||||
actorId?: string;
|
||||
}
|
||||
|
||||
export interface PreparedProjectSnapshotRestore {
|
||||
snapshot: ProjectSnapshotMetadata;
|
||||
command: ProjectStateRestoreCommand;
|
||||
}
|
||||
|
||||
export interface ProjectSnapshotStore {
|
||||
createNamed(
|
||||
input: CreateNamedProjectSnapshotInput
|
||||
): ProjectSnapshotMetadata | null;
|
||||
listByProject(projectId: string): ProjectSnapshotMetadata[] | null;
|
||||
prepareRestore(
|
||||
projectId: string,
|
||||
snapshotId: string
|
||||
): PreparedProjectSnapshotRestore | null;
|
||||
}
|
||||
import type { ProjectStateRestoreCommand } from "../models/project-state-restore-command.model.js";
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import type { ProjectStateRestoreCommand } from "../models/project-state-restore-command.model.js";
|
||||
import type {
|
||||
AppendedProjectRevision,
|
||||
ProjectRevisionSource,
|
||||
} from "./project-revision.store.js";
|
||||
|
||||
export interface ExecuteProjectStateRestoreCommandInput {
|
||||
projectId: string;
|
||||
expectedRevision: number;
|
||||
source: ProjectRevisionSource;
|
||||
description?: string;
|
||||
actorId?: string;
|
||||
historyTargetChangeSetId?: string;
|
||||
command: ProjectStateRestoreCommand;
|
||||
}
|
||||
|
||||
export interface ExecutedProjectStateRestoreCommand {
|
||||
revision: AppendedProjectRevision;
|
||||
inverse: ProjectStateRestoreCommand;
|
||||
}
|
||||
|
||||
export interface ProjectStateRestoreCommandStore {
|
||||
execute(
|
||||
input: ExecuteProjectStateRestoreCommandInput
|
||||
): ExecutedProjectStateRestoreCommand;
|
||||
}
|
||||
Reference in New Issue
Block a user