const express = require("express");
const router = express.Router();

const { requireArztOrMitarbeiter } = require("../middleware/auth.middleware");
const { createInvoicePdf } = require("../controllers/invoicePdf.controller");
const {
  openInvoices,
  markAsPaid,
  cancelInvoice,
  cancelledInvoices,
  paidInvoices,
  createCreditNote,
  creditOverview,
} = require("../controllers/invoice.controller");

// ✅ NEU: Offene Rechnungen anzeigen
router.get("/open", requireArztOrMitarbeiter, openInvoices);

// Bezahlt
router.post("/:id/pay", requireArztOrMitarbeiter, markAsPaid);

// Storno
router.post("/:id/cancel", requireArztOrMitarbeiter, cancelInvoice);

// Bestehend
router.post("/patients/:id/create-invoice", requireArztOrMitarbeiter, createInvoicePdf);

// Stornierte Rechnungen mit Jahr
router.get("/cancelled", requireArztOrMitarbeiter, cancelledInvoices);

// Bezahlte Rechnungen
router.get("/paid", requireArztOrMitarbeiter, paidInvoices);

// Gutschrift erstellen
router.post("/:id/credit", requireArztOrMitarbeiter, createCreditNote);

// Gutschriften-Übersicht
router.get("/credit-overview", requireArztOrMitarbeiter, creditOverview);

module.exports = router;
