<?php

namespace App\Services;

use App\Models\Ecoponto;
use App\Repositories\EcopontoRepository;
use Illuminate\Pagination\LengthAwarePaginator;

class EcopontoService
{
    public function __construct(private readonly EcopontoRepository $repository) {}

    public function listar(array $filtros): LengthAwarePaginator
    {
        return $this->repository->listar($filtros);
    }

    public function proximos(float $lat, float $lng, float $raioKm, array $filtros): LengthAwarePaginator
    {
        return $this->repository->proximos($lat, $lng, $raioKm, $filtros);
    }

    public function buscarPorId(int $id): Ecoponto
    {
        return $this->repository->buscarPorId($id);
    }

    public function criar(array $dados): Ecoponto
    {
        return $this->repository->criar($dados);
    }

    public function atualizar(Ecoponto $ecoponto, array $dados): Ecoponto
    {
        return $this->repository->atualizar($ecoponto, $dados);
    }

    public function deletar(Ecoponto $ecoponto): void
    {
        $this->repository->deletar($ecoponto);
    }
}
