zerobyte/apps/agent/src/commands/index.ts

23 lines
867 B
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 { 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 "heartbeat.ping": {
return handleHeartbeatPingCommand(context, message.payload);
}
}
};