diff --git a/ui/src/app/api/datasets/create/route.tsx b/ui/src/app/api/datasets/create/route.tsx index ac4d290ad..7afb07eb0 100644 --- a/ui/src/app/api/datasets/create/route.tsx +++ b/ui/src/app/api/datasets/create/route.tsx @@ -13,10 +13,11 @@ export async function POST(request: Request) { let datasetsPath = await getDatasetsRoot(); let datasetPath = path.join(datasetsPath, name); - // if folder doesnt exist, create it - if (!fs.existsSync(datasetPath)) { - fs.mkdirSync(datasetPath); + if (fs.existsSync(datasetPath)) { + return NextResponse.json({ error: 'Dataset already exists' }, { status: 500 }); } + // if folder doesnt exist, create it + fs.mkdirSync(datasetPath); return NextResponse.json({ success: true, name: name }); } catch (error) { diff --git a/ui/src/app/api/jobs/route.ts b/ui/src/app/api/jobs/route.ts index c489088d7..d5324be87 100644 --- a/ui/src/app/api/jobs/route.ts +++ b/ui/src/app/api/jobs/route.ts @@ -1,11 +1,15 @@ import { NextResponse } from 'next/server'; import { PrismaClient } from '@prisma/client'; +interface JobWhereClause { + status?: string; +} const prisma = new PrismaClient(); export async function GET(request: Request) { const { searchParams } = new URL(request.url); const id = searchParams.get('id'); + const status = searchParams.get('status'); try { if (id) { @@ -14,8 +18,13 @@ export async function GET(request: Request) { }); return NextResponse.json(job); } + let where: JobWhereClause = {}; + if (status) { + where.status = status; + } const jobs = await prisma.job.findMany({ + where: where, orderBy: { created_at: 'desc' }, }); return NextResponse.json({ jobs: jobs });