70 lines
1.6 KiB
C#
70 lines
1.6 KiB
C#
using System.Net;
|
|
using YandexMusic.API.Common.Providers;
|
|
using YandexMusic.API.Models.Account;
|
|
using YandexMusic.API.Requests.Common;
|
|
|
|
namespace YandexMusic.API.Common;
|
|
|
|
/// <summary>
|
|
/// Хранилище данных пользователя
|
|
/// </summary>
|
|
public class AuthStorage
|
|
{
|
|
/// <summary>
|
|
/// Http-контекст
|
|
/// </summary>
|
|
public HttpContext Context { get; }
|
|
|
|
/// <summary>
|
|
/// Флаг авторизации
|
|
/// </summary>
|
|
public bool IsAuthorized { get; internal set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор устройства
|
|
/// </summary>
|
|
public string DeviceId { get; set; } = "csharp";
|
|
|
|
/// <summary>
|
|
/// Токен авторизации
|
|
/// </summary>
|
|
public string Token { get; internal set; }
|
|
|
|
/// <summary>
|
|
/// Аккаунт
|
|
/// </summary>
|
|
public YAccount User { get; set; }
|
|
|
|
/// <summary>
|
|
/// Провайдер запросов
|
|
/// </summary>
|
|
public IRequestProvider Provider { get; }
|
|
|
|
/// <summary>
|
|
/// Токен доступа
|
|
/// </summary>
|
|
public YAccessToken AccessToken { get; set; }
|
|
|
|
internal YAuthToken AuthToken { get; set; }
|
|
|
|
/// <summary>
|
|
/// Конструктор
|
|
/// </summary>
|
|
public AuthStorage(IRequestProvider provider)
|
|
{
|
|
User = new YAccount();
|
|
Context = new HttpContext();
|
|
Provider = provider;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Установка прокси для пользователия
|
|
/// </summary>
|
|
/// <param name="proxy">Прокси</param>
|
|
public void SetProxy(IWebProxy proxy)
|
|
{
|
|
Context.WebProxy = proxy;
|
|
}
|
|
|
|
|
|
} |