using Modules.Library.Domain.Entities.Genre;

namespace Modules.Library.Application.Gateways;

public interface IGenreGateway
{
    public Task<List<Models.Genre>> GetList();
    public Task<Genre> GetGenreById(Guid id);
    public Task<IEnumerable<Genre>> GetGenreByIds(IEnumerable<Guid> genreIds);
    public Task<Genre> GetGenre(string name);
    public Task<bool> IsGenreExists(Guid id);
    public Task<bool> IsGenreExists(string name, Guid? selfId = null);
    public Task<Guid> Create(string name);
    public Task SetName(Guid id, string name);
    public Task<bool> Delete(Guid id);
}