Files
parr_api/PARR.API/Services/Interfaces/IAuthService.cs

43 lines
1.5 KiB
C#
Raw Normal View History

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);
2023-12-06 11:53:36 +10:00
/// <summary>
/// Получить текущего пользователя
/// </summary>
/// <returns></returns>
Task<UserCache?> GetCurrentUserAsync();
}
}