<?php
declare(strict_types=1);

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

$data = input_json();
require_fields($data, ['email', 'senha']);

try {
    $stmt = db()->prepare('SELECT id, nome, email, tipo, senha_hash, status_verificacao, cnh_status, documento_veiculo_status, selfie_status, COALESCE(NULLIF(foto_url, ""), selfie_url) AS foto_url FROM usuarios WHERE email = ? LIMIT 1');
    $stmt->execute([strtolower(trim((string) $data['email']))]);
    $user = $stmt->fetch();

    if (!$user || !password_verify((string) $data['senha'], $user['senha_hash'])) {
        json_fail('E-mail ou senha invalidos.', 401);
    }

    unset($user['senha_hash']);
    $user['id'] = (int) $user['id'];
    json_ok(['user' => $user]);
} catch (Throwable $e) {
    json_fail('Erro ao fazer login.', 500, ['error' => $e->getMessage()]);
}
