2023-12-01 16:41:37 +10:00
|
|
|
|
using PARR.API.Authentication.Models;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PARR.API.Services.Interfaces
|
|
|
|
|
|
{
|
|
|
|
|
|
public interface IAuthService
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Получить пользователя с ролями по ip адресу.
|
|
|
|
|
|
/// Смотрим в кэше, затем в БД. При необходимости блокирует или добавлет в кэш.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ipAddress"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
Task<UserCache?> GetUserAsync(string ipAddress);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Проверяет, блокировку пользователя
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ipAddress"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
Task<bool> UserIsBlockedAsync(string ipAddress);
|
2023-12-06 10:20:20 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Удалить из кэша пользователя
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ipAddress"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
Task RemoveCacheUserAsync(string ipAddress);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Разблокировать пользователя
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ipAddress"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
Task UnlockUserAsync(string ipAddress);
|
2023-12-06 11:53:36 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Получить текущего пользователя
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
Task<UserCache?> GetCurrentUserAsync();
|
2023-12-01 16:41:37 +10:00
|
|
|
|
}
|
|
|
|
|
|
}
|