using Modules.Library.Domain.Entities.Language;

namespace Modules.Library.Application.Gateways;

public interface ILanguageGateway
{
    public Task<List<Models.Language>> GetList();
    public Task<Language> GetLanguageById(Guid id);
    public Task<IEnumerable<Language>> GetLanguageByIds(IEnumerable<Guid> languageIds);
    public Task<Language> GetLanguage(string code);
    public Task<bool> IsLanguageExists(Guid id);
    public Task<bool> IsLanguageExists(string code, string name, Guid? selfId = null);
    public Task<Guid> Create(string code, string name);
    public Task Edit(Guid id, string? code, string? name);
    public Task<bool> Delete(Guid id);
}