<?php
require_once '../config/database.php';
require_once '../models/Report.php';

class ReportController {
    private $db;

    public function __construct($db) {
        $this->db = $db;
    }

    public function getReport($id) {
        $report = new Report($this->db);
        $reportData = $report->find($id);
        if ($reportData) {
            echo json_encode($reportData);
        } else {
            http_response_code(404);
            echo json_encode(["message" => "Reporte no encontrado."]);
        }
    }

    public function getReports() {
        $report = new Report($this->db);
        $reports = $report->all();
        echo json_encode($reports);
    }

    public function createReport() {
        $data = json_decode(file_get_contents("php://input"));
        $report = new Report($this->db);
        $report->amount = $data->amount;
        $report->date = $data->date;
        $report->status = $data->status;

        if ($report->save()) {
            echo json_encode(["message" => "Reporte creado con éxito."]);
        } else {
            http_response_code(400);
            echo json_encode(["message" => "Error al crear el reporte."]);
        }
    }

    public function deleteReport($id) {
        $report = new Report($this->db);
        if ($report->delete($id)) {
            echo json_encode(["message" => "Reporte eliminado con éxito."]);
        } else {
            http_response_code(404);
            echo json_encode(["message" => "Reporte no encontrado."]);
        }
    }
}
?>