<?php



require_once __DIR__ . '/../../config.php';

// POST /admin/avisos/save.php
// Body: { id (optional), titulo, descripcion, link, fechaInicio, fechaFin, status }

requireAdmin();

$data = body();

if (empty($data['titulo']) || empty($data['descripcion'])) {
    jsonErr(400, 'Título y descripción requeridos.');
}

$db = getDB();

if (!empty($data['id'])) {
    // Update
    $stmt = $db->prepare('
        UPDATE mensaje 
        SET titulo = ?, descripcion = ?, link = ?, fechaInicio = ?, fechaFin = ?, status = ?
        WHERE id = ?
    ');
    $stmt->execute([
        $data['titulo'],
        $data['descripcion'],
        $data['link'] ?? '',
        $data['fechaInicio'] ?? null,
        $data['fechaFin'] ?? null,
        $data['status'] ?? 1,
        $data['id']
    ]);
    
    if ($stmt->rowCount() === 0) {
        jsonErr(404, 'Aviso no encontrado.');
    }
    
    jsonOk(['message' => 'Aviso actualizado.', 'id' => $data['id']]);
} else {
    // Create
    $stmt = $db->prepare('
        INSERT INTO mensaje (titulo, descripcion, link, fechaInicio, fechaFin, status)
        VALUES (?, ?, ?, ?, ?, ?)
    ');
    $stmt->execute([
        $data['titulo'],
        $data['descripcion'],
        $data['link'] ?? '',
        $data['fechaInicio'] ?? null,
        $data['fechaFin'] ?? null,
        $data['status'] ?? 1
    ]);
    
    jsonOk(['message' => 'Aviso creado.', 'id' => $db->lastInsertId()]);
}
