feat: migrate clients module to patients + add docs

This commit is contained in:
colinislit
2025-11-23 10:13:00 +01:00
parent 8e3925ea09
commit 6fcb9a0e7b
277 changed files with 9131 additions and 458 deletions

View File

@@ -0,0 +1,69 @@
import { NextRequest, NextResponse } from 'next/server';
import { createClient } from '@/lib/auth/server';
import { supabaseAdmin } from '@/lib/supabase/server';
const BUCKET = 'screening-documents';
export async function DELETE(
request: NextRequest,
{ params }: { params: Promise<{ screeningId: string; documentId: string }> }
) {
try {
const { documentId } = await params;
const supabase = await createClient();
const {
data: { user },
} = await supabase.auth.getUser();
if (!user) {
return NextResponse.json({ error: 'Niet geautoriseerd' }, { status: 401 });
}
const { data: document, error } = await supabase
.from('screening_documents')
.select('*')
.eq('id', documentId)
.maybeSingle();
if (error) {
console.error('Fetch document error:', error);
return NextResponse.json(
{ error: 'Document niet gevonden', details: error.message },
{ status: 500 }
);
}
if (!document) {
return NextResponse.json({ error: 'Document niet gevonden' }, { status: 404 });
}
const { error: deleteError } = await supabaseAdmin.storage
.from(BUCKET)
.remove([document.file_path]);
if (deleteError) {
console.error('Storage delete error:', deleteError);
// Don't stop here; attempt DB delete even if storage failed
}
const { error: dbError } = await supabase
.from('screening_documents')
.delete()
.eq('id', documentId);
if (dbError) {
console.error('DB delete error:', dbError);
return NextResponse.json(
{ error: 'Verwijderen mislukt', details: dbError.message },
{ status: 500 }
);
}
return NextResponse.json({ success: true });
} catch (error) {
console.error('Unexpected error in DELETE /documents/[documentId]:', error);
const message = error instanceof Error ? error.message : 'Unknown error';
return NextResponse.json({ error: message }, { status: 500 });
}
}