<?php

declare(strict_types=1);

namespace ApiModel\Service;

use PDO;

final class CertificadoTipoService
{
    public function __construct(private readonly PDO $pdo) {}

    /** @return list<array<string, mixed>> */
    public function listTipos(): array
    {
        $st = $this->pdo->query(
            'SELECT id, codigo, nombre, monto, color, fondo_archivo
             FROM public.certificado_tipos
             WHERE is_active = TRUE
             ORDER BY monto ASC, codigo ASC'
        );

        return array_map(static fn (array $row): array => [
            'id' => $row['id'],
            'codigo' => $row['codigo'],
            'nombre' => $row['nombre'],
            'monto' => (float) $row['monto'],
            'color' => $row['color'],
            'fondo_archivo' => $row['fondo_archivo'],
        ], $st->fetchAll());
    }
}
