* feat: add restore agent RPC foundation * chore: temp event handlers * refactor: export restore progress from dto file
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import type { ControllerMessage } from "@zerobyte/contracts/agent-protocol";
|
|
import { handleBackupCancelCommand } from "./backup-cancel";
|
|
import { handleBackupRunCommand } from "./backup-run";
|
|
import type { ControllerCommandContext } from "../context";
|
|
import { handleHeartbeatPingCommand } from "./heartbeat-ping";
|
|
import { handleRestoreCancelCommand } from "./restore-cancel";
|
|
import { handleRestoreRunCommand } from "./restore";
|
|
import { handleVolumeCommand } from "./volume";
|
|
|
|
export const handleControllerCommand = (context: ControllerCommandContext, message: ControllerMessage) => {
|
|
switch (message.type) {
|
|
case "backup.run": {
|
|
return handleBackupRunCommand(context, message.payload);
|
|
}
|
|
case "backup.cancel": {
|
|
return handleBackupCancelCommand(context, message.payload);
|
|
}
|
|
case "volume.command": {
|
|
return handleVolumeCommand(context, message.payload);
|
|
}
|
|
case "restore.run": {
|
|
return handleRestoreRunCommand(context, message.payload);
|
|
}
|
|
case "restore.cancel": {
|
|
return handleRestoreCancelCommand(context, message.payload);
|
|
}
|
|
case "heartbeat.ping": {
|
|
return handleHeartbeatPingCommand(context, message.payload);
|
|
}
|
|
}
|
|
};
|