import express, { Request, Response } from 'express';
import { query, validationResult } from 'express-validator';
import { PrismaClient } from '@prisma/client';
const router = express.Router()

//const prisma = new PrismaClient()

// router.get('/all', async (req: Request, res: Response) => {
//     try {
//         const nodes = await prisma.nodes.findMany()

//         res.json(nodes)
//     } catch (error) {
//         console.error('Error getting node:', error);
//         res.status(500).json({ error: 'Failed to get node' });
//     }
// })

// router.get('/', query('id').isString().isUUID(), async (req: Request, res: Response) => {
//     try {
//         const result = validationResult(req)
//         if (!result.isEmpty()) {
//             return res.send({ errors: result.array() })
//         }

//         const { id } = req.params

//         const node = await prisma.nodes.findFirst({
//             where: {
//                 id: id
//             }
//         })

//         res.json(node)

//     } catch (error) {
//         console.error('Error getting node:', error);
//         res.status(500).json({ error: 'Failed to get node' });
//     }
// })

// router.post('/', async (req: Request, res: Response) => {
//     try {
//         const { coordinates, object_id, type } = req.body;

//         // Convert the incoming array of coordinates into the shape structure
//         const shape = coordinates.map((point: number[]) => ({
//             object_id: object_id || null,
//             x: point[0],
//             y: point[1]
//         }));

//         console.log(shape)

//         // Create a new node in the database
//         const node = await prisma.nodes.create({
//             data: {
//                 object_id: object_id || null,  // Nullable if object_id is not provided
//                 shape_type: type,         // You can adjust this dynamically
//                 shape: shape,                   // Store the shape array as Json[]
//                 label: 'Default'
//             }
//         });

//         res.status(201).json(node);
//     } catch (error) {
//         console.error('Error creating node:', error);
//         res.status(500).json({ error: 'Failed to create node' });
//     }
// })

export default router