Aug 16, 2024

Coding resource!

A coding resource test blahblah
import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

export default async function handler(req, res) {
    if (req.method === 'PUT') {
        try {
            const { slug } = req.query;
            const { courseDraftId, courseId } = req.body;

            console.log('Received data:', { slug, courseDraftId, courseId });

            const updateData = {};
            if (courseDraftId !== undefined) {
                updateData.courseDraftId = courseDraftId;
            }
            if (courseId !== undefined) {
                updateData.courseId = courseId;
            }

            const updatedResource = await prisma.resource.update({
                where: { id: slug },
                data: updateData,
            });

            res.status(200).json(updatedResource);
        } catch (error) {
            console.error('Error updating resource:', error);
            res.status(500).json({ error: 'Failed to update resource', details: error.message });
        }
    } else if (req.method === 'DELETE') {
        try {
            const { slug } = req.query;
            await prisma.resource.delete({
                where: { slug },
            });
            res.status(204).end();
        } catch (error) {
            console.error('Error deleting resource:', error);
            res.status(500).json({ error: 'Failed to delete resource' });
        }
    } else {
        res.setHeader('Allow', ['PUT', 'DELETE']);
        res.status(405).end(`Method ${req.method} Not Allowed`);
    }
}