pixelbrew-webseite/pages/api/delete-blog.js
2025-09-11 00:00:17 +02:00

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' });
}
}