import express from 'express'; import bcrypt from 'bcryptjs'; import jwt from 'jsonwebtoken'; import { PrismaClient } from '@prisma/client'; const router = express.Router(); const prisma = new PrismaClient(); // Login router.post('/login', async (req, res) => { try { const { email, password } = req.body; const user = await prisma.user.findUnique({ where: { email } }); if (!user || !await bcrypt.compare(password, user.password)) { return res.status(401).json({ error: 'Invalid credentials' }); } const token = jwt.sign({ id: user.id }, process.env.JWT_SECRET); res.json({ token, user: { id: user.id, email: user.email, displayName: user.displayName, permissions: user.permissions } }); } catch (error) { res.status(500).json({ error: 'Server error' }); } }); export default router;