Compare commits

..

No commits in common. "b0fc52ade46ca3ba8ce7e473b02d3038597c192a" and "f24b23070390b83bbcb0349adc5fd9e04376cf7b" have entirely different histories.

4 changed files with 0 additions and 114 deletions

View File

@ -70,9 +70,6 @@ A unified CLI that covers all API operations.
# List all projects # List all projects
./scripts/gantt.sh project list ./scripts/gantt.sh project list
# Get specific project
./scripts/gantt.sh project get <project-id>
# Create project # Create project
./scripts/gantt.sh project create "Project Name" "Description" "#color" ./scripts/gantt.sh project create "Project Name" "Description" "#color"
@ -92,9 +89,6 @@ A unified CLI that covers all API operations.
# List all sprints # List all sprints
./scripts/gantt.sh sprint list ./scripts/gantt.sh sprint list
# Get specific sprint
./scripts/gantt.sh sprint get <sprint-id>
# Create sprint # Create sprint
./scripts/gantt.sh sprint create "Sprint 2" <project-id> "2026-02-23" "2026-03-01" "Sprint goal" ./scripts/gantt.sh sprint create "Sprint 2" <project-id> "2026-02-23" "2026-03-01" "Sprint goal"
@ -224,12 +218,10 @@ Displays text files in terminal, saves binary files to `/tmp/`.
| Add comment | ✅ | ✅ | ❌ | | Add comment | ✅ | ✅ | ❌ |
| Attach file | ✅ | ✅ | ✅ | | Attach file | ✅ | ✅ | ✅ |
| List projects | ✅ | ✅ | ❌ | | List projects | ✅ | ✅ | ❌ |
| Get project | ✅ | ✅ | ❌ |
| Create project | ✅ | ✅ | ❌ | | Create project | ✅ | ✅ | ❌ |
| Update project | ✅ | ✅ | ❌ | | Update project | ✅ | ✅ | ❌ |
| Delete project | ✅ | ✅ | ❌ | | Delete project | ✅ | ✅ | ❌ |
| List sprints | ✅ | ✅ | ❌ | | List sprints | ✅ | ✅ | ❌ |
| Get sprint | ✅ | ✅ | ❌ |
| Create sprint | ✅ | ✅ | ❌ | | Create sprint | ✅ | ✅ | ❌ |
| Update sprint | ✅ | ✅ | ❌ | | Update sprint | ✅ | ✅ | ❌ |
| Delete sprint | ✅ | ✅ | ❌ | | Delete sprint | ✅ | ✅ | ❌ |

View File

@ -295,18 +295,6 @@ cmd_project_list() {
api_call GET "/projects" | jq '.projects' api_call GET "/projects" | jq '.projects'
} }
cmd_project_get() {
local project_id="$1"
if [ -z "$project_id" ]; then
log_error "Usage: project get <project-id>"
exit 1
fi
log_info "Fetching project $project_id..."
api_call GET "/projects/$project_id" | jq '.project'
}
cmd_project_create() { cmd_project_create() {
local name="$1" local name="$1"
local description="${2:-}" local description="${2:-}"
@ -363,18 +351,6 @@ cmd_sprint_list() {
api_call GET "/sprints" | jq '.sprints' api_call GET "/sprints" | jq '.sprints'
} }
cmd_sprint_get() {
local sprint_id="$1"
if [ -z "$sprint_id" ]; then
log_error "Usage: sprint get <sprint-id>"
exit 1
fi
log_info "Fetching sprint $sprint_id..."
api_call GET "/sprints/$sprint_id" | jq '.sprint'
}
cmd_sprint_create() { cmd_sprint_create() {
local name="$1" local name="$1"
local project_id="$2" local project_id="$2"
@ -654,7 +630,6 @@ TASK COMMANDS:
PROJECT COMMANDS: PROJECT COMMANDS:
project list List all projects project list List all projects
project get <id> Get specific project
project create <name> [desc] [color] project create <name> [desc] [color]
Create new project Create new project
project update <id> <field> <val> project update <id> <field> <val>
@ -664,7 +639,6 @@ PROJECT COMMANDS:
SPRINT COMMANDS: SPRINT COMMANDS:
sprint list List all sprints sprint list List all sprints
sprint get <id> Get specific sprint
sprint create <name> <project-id> [start] [end] [goal] sprint create <name> <project-id> [start] [end] [goal]
Create new sprint Create new sprint
sprint update <id> <field> <val> sprint update <id> <field> <val>
@ -753,7 +727,6 @@ main() {
shift || true shift || true
case "$subcmd" in case "$subcmd" in
list|ls) cmd_project_list "$@" ;; list|ls) cmd_project_list "$@" ;;
get|show) cmd_project_get "$@" ;;
create|new|add) cmd_project_create "$@" ;; create|new|add) cmd_project_create "$@" ;;
update|set|edit) cmd_project_update "$@" ;; update|set|edit) cmd_project_update "$@" ;;
delete|rm|remove) cmd_project_delete "$@" ;; delete|rm|remove) cmd_project_delete "$@" ;;
@ -765,7 +738,6 @@ main() {
shift || true shift || true
case "$subcmd" in case "$subcmd" in
list|ls) cmd_sprint_list "$@" ;; list|ls) cmd_sprint_list "$@" ;;
get|show) cmd_sprint_get "$@" ;;
create|new|add) cmd_sprint_create "$@" ;; create|new|add) cmd_sprint_create "$@" ;;
update|set|edit) cmd_sprint_update "$@" ;; update|set|edit) cmd_sprint_update "$@" ;;
delete|rm|remove) cmd_sprint_delete "$@" ;; delete|rm|remove) cmd_sprint_delete "$@" ;;

View File

@ -1,39 +0,0 @@
import { NextResponse } from "next/server";
import { getServiceSupabase } from "@/lib/supabase/client";
import { getAuthenticatedUser } from "@/lib/server/auth";
export const runtime = "nodejs";
// GET - fetch single project by ID
export async function GET(
request: Request,
{ params }: { params: Promise<{ id: string }> }
) {
try {
const user = await getAuthenticatedUser();
if (!user) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
const { id } = await params;
const supabase = getServiceSupabase();
const { data, error } = await supabase
.from("projects")
.select("*")
.eq("id", id)
.single();
if (error) {
if (error.code === "PGRST116") {
return NextResponse.json({ error: "Project not found" }, { status: 404 });
}
throw error;
}
return NextResponse.json({ project: data });
} catch (error) {
console.error(">>> API GET /projects/[id] error:", error);
return NextResponse.json({ error: "Failed to fetch project" }, { status: 500 });
}
}

View File

@ -1,39 +0,0 @@
import { NextResponse } from "next/server";
import { getServiceSupabase } from "@/lib/supabase/client";
import { getAuthenticatedUser } from "@/lib/server/auth";
export const runtime = "nodejs";
// GET - fetch single sprint by ID
export async function GET(
request: Request,
{ params }: { params: Promise<{ id: string }> }
) {
try {
const user = await getAuthenticatedUser();
if (!user) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
const { id } = await params;
const supabase = getServiceSupabase();
const { data, error } = await supabase
.from("sprints")
.select("*")
.eq("id", id)
.single();
if (error) {
if (error.code === "PGRST116") {
return NextResponse.json({ error: "Sprint not found" }, { status: 404 });
}
throw error;
}
return NextResponse.json({ sprint: data });
} catch (error) {
console.error(">>> API GET /sprints/[id] error:", error);
return NextResponse.json({ error: "Failed to fetch sprint" }, { status: 500 });
}
}