const express = require("express"); const FamilyMember = require("../models/FamilyMember"); const router = express.Router(); router.get("/", async (req, res) => { try { const members = await FamilyMember.find().sort({ order: 1, createdAt: 1 }); res.json(members); } catch (error) { res.status(500).json({ message: "Failed to fetch family members" }); } }); router.post("/", async (req, res) => { try { const member = await FamilyMember.create(req.body); res.status(201).json(member); } catch (error) { res.status(400).json({ message: "Failed to create family member" }); } }); router.get("/:id", async (req, res) => { try { const member = await FamilyMember.findById(req.params.id); if (!member) { return res.status(404).json({ message: "Family member not found" }); } res.json(member); } catch (error) { res.status(400).json({ message: "Failed to fetch family member" }); } }); router.put("/:id", async (req, res) => { try { const member = await FamilyMember.findByIdAndUpdate(req.params.id, req.body, { new: true, }); if (!member) { return res.status(404).json({ message: "Family member not found" }); } res.json(member); } catch (error) { res.status(400).json({ message: "Failed to update family member" }); } }); router.delete("/:id", async (req, res) => { try { const member = await FamilyMember.findByIdAndDelete(req.params.id); if (!member) { return res.status(404).json({ message: "Family member not found" }); } res.json({ ok: true }); } catch (error) { res.status(400).json({ message: "Failed to delete family member" }); } }); module.exports = router;