import prisma from '../prisma/client.js'; export const createInsurancePartner = async (req, res) => { try { const { name, logo, websiteUrl, sortOrder, isActive } = req.body; if (!name || !logo) { return res.status(400).json({ success: false, message: 'Name and logo are required', }); } const partner = await prisma.insurancePartner.create({ data: { name, logo, websiteUrl, sortOrder, isActive, }, }); res.status(201).json({ success: true, data: partner, message: 'Insurance partner created successfully', }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to create insurance partner', }); } }; export const getInsurancePartners = async (req, res) => { try { const partners = await prisma.insurancePartner.findMany({ orderBy: { sortOrder: 'asc', }, }); res.json({ success: true, data: partners, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to fetch insurance partners', }); } }; export const getActiveInsurancePartners = async (req, res) => { try { const partners = await prisma.insurancePartner.findMany({ where: { isActive: true, }, orderBy: { sortOrder: 'asc', }, }); res.json({ success: true, data: partners, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to fetch insurance partners', }); } }; export const getInsurancePartner = async (req, res) => { try { const { id } = req.params; const partner = await prisma.insurancePartner.findUnique({ where: { id: Number(id), }, }); if (!partner) { return res.status(404).json({ success: false, message: 'Insurance partner not found', }); } res.json({ success: true, data: partner, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to fetch insurance partner', }); } }; export const updateInsurancePartner = async (req, res) => { try { const { id } = req.params; const { name, logo, websiteUrl, sortOrder, isActive } = req.body; const partner = await prisma.insurancePartner.update({ where: { id: Number(id), }, data: { name, logo, websiteUrl, sortOrder, isActive, }, }); res.json({ success: true, data: partner, message: 'Insurance partner updated successfully', }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to update insurance partner', }); } }; export const deleteInsurancePartner = async (req, res) => { try { const { id } = req.params; await prisma.insurancePartner.delete({ where: { id: Number(id), }, }); res.json({ success: true, message: 'Insurance partner deleted successfully', }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to delete insurance partner', }); } };