23 lines
867 B
TypeScript
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);
|
|
}
|
|
}
|
|
};
|