41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
import { supabaseAdmin } from '../../lib/supabase';
|
|
|
|
export default async function handler(req, res) {
|
|
if (req.method !== 'DELETE') {
|
|
return res.status(405).json({ error: 'Method not allowed' });
|
|
}
|
|
|
|
// Get user from supabase session
|
|
const { data: sessionData, error: authError } = await supabaseAdmin.auth.getUser(req.cookies['sb-access-token']);
|
|
|
|
if (authError || !sessionData?.user) {
|
|
return res.status(401).json({ error: 'Unauthorized' });
|
|
}
|
|
|
|
const user = sessionData.user;
|
|
|
|
const { id } = req.body;
|
|
|
|
if (!id) {
|
|
return res.status(400).json({ error: 'ID ist erforderlich' });
|
|
}
|
|
|
|
try {
|
|
const { error } = await supabaseAdmin
|
|
.from('blog_entries')
|
|
.delete()
|
|
.eq('id', id)
|
|
.eq('author_id', user.id);
|
|
|
|
if (error) {
|
|
console.error('Supabase Lösch-Fehler:', error);
|
|
return res.status(500).json({ error: 'Fehler beim Löschen des Beitrags' });
|
|
}
|
|
|
|
return res.status(200).json({ message: 'Beitrag erfolgreich gelöscht' });
|
|
} catch (error) {
|
|
console.error('Server-Fehler:', error);
|
|
return res.status(500).json({ error: 'Interner Server-Fehler' });
|
|
}
|
|
}
|