using CalledIt.Domain.Dtos;

namespace CalledIt.Domain.Services;

public interface ICompetitionService
{
    Task<CompetitionResponseDto> CreateAsync(CreateCompetitionDto dto);
    Task<IReadOnlyList<CompetitionResponseDto>> GetAllAsync();
    Task<CompetitionResponseDto> GetByIdAsync(int id);
    Task<CompetitionResponseDto> UpdateAsync(int id, UpdateCompetitionDto dto);
    Task DeleteAsync(int id);
    Task<CompetitionResponseDto> UploadLogoAsync(int id, Stream imageStream, string contentType, long length);
}
