using Ease.NetCore.DataAccess;
using OnlineSalesAutoCrop.CoreAPI.Models.Requests.Integrations;
using OnlineSalesAutoCrop.CoreAPI.Models.Responses.Integrations;
using System.Threading.Tasks;

namespace OnlineSalesAutoCrop.CoreAPI.Services.Contracts.Auth;

public interface IRefreshTokenService
{
    Task<GenerateRefreshTokenResponse> GenerateRefreshTokenByUserAsync(GenerateRefreshTokenRequest request);
    Task<string> GenerateRefreshTokenAsync(string refreshToken, string ipAddress);
    Task<UserByRefreshTokenResponse> GetUserByRefreshTokenAsync(string  refreshToken);
    Task<bool> InvalidRefreshTokenAsync(TransactionContext tc, int userId);
}
