37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
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);
|
||
|
||
/// <summary>
|
||
/// Удалить из кэша пользователя
|
||
/// </summary>
|
||
/// <param name="ipAddress"></param>
|
||
/// <returns></returns>
|
||
Task RemoveCacheUserAsync(string ipAddress);
|
||
|
||
/// <summary>
|
||
/// Разблокировать пользователя
|
||
/// </summary>
|
||
/// <param name="ipAddress"></param>
|
||
/// <returns></returns>
|
||
Task UnlockUserAsync(string ipAddress);
|
||
}
|
||
}
|