37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import {NextRequest, NextResponse} from "next/server";
|
|
import {serverCall} from "@/lib/api/serverCall";
|
|
import {projectRoutes} from "@/app/api/projects/projectRoutes";
|
|
|
|
export async function GET(request: NextRequest) {
|
|
try {
|
|
// Extract project ID from the URL
|
|
const segments = request.url.split("/");
|
|
const projectId = segments.pop();
|
|
|
|
if (!projectId) {
|
|
return NextResponse.json(
|
|
{error: "Project ID is required"},
|
|
{status: 400}
|
|
);
|
|
}
|
|
|
|
// Perform server call to fetch the project details
|
|
const response = await serverCall(projectRoutes.getById(projectId), "GET");
|
|
|
|
if (!response.ok) {
|
|
return NextResponse.json(
|
|
{error: "Project not found"},
|
|
{status: response.status}
|
|
);
|
|
}
|
|
|
|
const project = await response.json();
|
|
return NextResponse.json(project);
|
|
} catch (error) {
|
|
console.error("Error fetching project:", error);
|
|
return NextResponse.json(
|
|
{error: "Failed to fetch project"},
|
|
{status: 500}
|
|
);
|
|
}
|
|
} |