| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- "use strict";
- const DEFAULT_BASE_URL = process.env.TASK_BOARD_API_BASE || "http://127.0.0.1:3001";
- const DEFAULT_TOKEN = process.env.TASK_BOARD_ADMIN_TOKEN || "dev-task-board-token";
- async function getTaskDetails(taskId, options = {}) {
- const baseUrl = options.baseUrl || DEFAULT_BASE_URL;
- const token = options.token || DEFAULT_TOKEN;
- const response = await fetch(`${baseUrl.replace(/\/+$/, "")}/api/admin/nodes/${encodeURIComponent(taskId)}`, {
- headers: {
- "Content-Type": "application/json",
- Authorization: `Bearer ${token}`,
- },
- });
- const payload = await response.json().catch(() => ({}));
- if (!response.ok) {
- const message = payload.error || `Request failed: ${response.status}`;
- throw new Error(message);
- }
- return payload;
- }
- async function main() {
- const taskId = String(process.argv[2] || "").trim();
- if (!taskId) {
- console.error("Usage: node get_task_details.js <taskId>");
- process.exit(1);
- }
- try {
- const details = await getTaskDetails(taskId);
- process.stdout.write(`${JSON.stringify(details, null, 2)}\n`);
- } catch (error) {
- console.error(String(error.message || error));
- process.exit(1);
- }
- }
- if (require.main === module) {
- void main();
- }
- module.exports = {
- getTaskDetails,
- };
|