using SIGCM2.Application.Common;
using SIGCM2.Domain.Entities;

namespace SIGCM2.Application.Abstractions.Persistence;

public interface IMedioRepository
{
    Task<int> AddAsync(Medio m, CancellationToken ct = default);
    Task<Medio?> GetByIdAsync(int id, CancellationToken ct = default);
    Task<bool> ExistsByCodigoAsync(string codigo, CancellationToken ct = default);
    Task UpdateAsync(Medio m, CancellationToken ct = default);
    Task<PagedResult<Medio>> GetPagedAsync(MediosQuery q, CancellationToken ct = default);
}
