29 lines
835 B
JavaScript
29 lines
835 B
JavaScript
#!/usr/bin/env node
|
|
|
|
const { spawnSync } = require("node:child_process");
|
|
const path = require("node:path");
|
|
|
|
const taskId = process.env.TASK_ID || process.argv[2];
|
|
const status = process.env.TASK_STATUS || process.argv[3] || "review";
|
|
const ganttBoardDir =
|
|
process.env.GANTT_BOARD_DIR ||
|
|
path.resolve(__dirname, "..", "..", "..", "gantt-board");
|
|
const taskCliPath = path.join(ganttBoardDir, "scripts", "task.sh");
|
|
|
|
if (!taskId) {
|
|
console.error("Usage: TASK_ID=<uuid> node scripts/update-task-status.js [taskId] [status]");
|
|
process.exit(1);
|
|
}
|
|
|
|
const result = spawnSync(taskCliPath, ["update", taskId, "--status", status], {
|
|
stdio: "inherit",
|
|
env: process.env,
|
|
});
|
|
|
|
if (result.error) {
|
|
console.error("Failed to execute gantt-board task CLI:", result.error.message);
|
|
process.exit(1);
|
|
}
|
|
|
|
process.exit(result.status ?? 1);
|