namespace TaxBaik.Domain.Interfaces;

using TaxBaik.Domain.Entities;

public interface IPortalUserRepository
{
    Task<PortalUser?> GetByIdAsync(int id, CancellationToken ct = default);
    Task<PortalUser?> GetByEmailAsync(string email, CancellationToken ct = default);
    Task<PortalUser?> GetByProviderAsync(string provider, string providerId, CancellationToken ct = default);
    Task<int> CreateAsync(PortalUser user, CancellationToken ct = default);
    Task UpdateAsync(PortalUser user, CancellationToken ct = default);
}
