<?php

declare(strict_types=1);

class WhatsAppLog extends Model
{
    public function add(array $data): int
    {
        $sql = "INSERT INTO whatsapp_logs (
                    direction, evento, telefone, protocolo, payload_json, response_json,
                    status_code, sucesso, mensagem, criado_em
                ) VALUES (
                    :direction, :evento, :telefone, :protocolo, :payload_json, :response_json,
                    :status_code, :sucesso, :mensagem, NOW()
                )";
        $stmt = $this->db->prepare($sql);
        $stmt->execute([
            'direction' => $data['direction'],
            'evento' => $data['evento'],
            'telefone' => $data['telefone'],
            'protocolo' => $data['protocolo'],
            'payload_json' => $data['payload_json'],
            'response_json' => $data['response_json'],
            'status_code' => $data['status_code'],
            'sucesso' => (int) $data['sucesso'],
            'mensagem' => $data['mensagem'],
        ]);

        return (int) $this->db->lastInsertId();
    }

    public function latest(int $limit = 30): array
    {
        $limit = max(1, $limit);
        return $this->db->query("SELECT * FROM whatsapp_logs ORDER BY id DESC LIMIT {$limit}")->fetchAll();
    }
}
