Добавьте файлы проекта.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Messages
|
||||
{
|
||||
public class YYnisonErrorMessage : Exception
|
||||
{
|
||||
public YYnisonError Error { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/Messages/YYnisonMessage.cs
Normal file
7
YandexMusic.API/Models/Ynison/Messages/YYnisonMessage.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Messages
|
||||
{
|
||||
public class YYnisonMessage
|
||||
{
|
||||
public string Rid { get; set; } = Guid.NewGuid().ToString();
|
||||
}
|
||||
}
|
||||
12
YandexMusic.API/Models/Ynison/Messages/YYnisonMessageType.cs
Normal file
12
YandexMusic.API/Models/Ynison/Messages/YYnisonMessageType.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Типы сообщений Ynison
|
||||
/// </summary>
|
||||
public enum YYnisonMessageType
|
||||
{
|
||||
Redirect,
|
||||
State,
|
||||
Error
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Messages
|
||||
{
|
||||
public class YYnisonUpdateFullStateMessage : YYnisonUpdateMessage
|
||||
{
|
||||
public YYnisonFullState UpdateFullState { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Messages
|
||||
{
|
||||
public class YYnisonUpdateMessage : YYnisonMessage
|
||||
{
|
||||
#warning нужен enum
|
||||
public string ActivityInterceptionType { get; set; } = "DO_NOT_INTERCEPT_BY_DEFAULT";
|
||||
|
||||
public decimal PlayerActionTimestampMs { get; set; } = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Messages
|
||||
{
|
||||
public class YYnisonUpdatePlayerStateMessage : YYnisonUpdateMessage
|
||||
{
|
||||
public YYnisonPlayerState UpdatePlayerState { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public class YYnisonEntityOptions
|
||||
{
|
||||
public List<YYnisonTrackSource> TrackSources { get; set; }
|
||||
public YYnisonWaveEntityOptional WaveEntityOptional { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public class YYnisonPhonotekaSource
|
||||
{
|
||||
public YYnisonEntityContext EntityContext { get; set; }
|
||||
public YYnisonId AlbumId { get; set; }
|
||||
public YYnisonId PlaylistId { get; set; }
|
||||
}
|
||||
}
|
||||
9
YandexMusic.API/Models/Ynison/Wave/YYnisonTrackSource.cs
Normal file
9
YandexMusic.API/Models/Ynison/Wave/YYnisonTrackSource.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public class YYnisonTrackSource
|
||||
{
|
||||
public decimal Key { get; set; }
|
||||
public YYnisonWaveSource WaveSource { get; set; }
|
||||
public YYnisonPhonotekaSource PhonotekaSource { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public class YYnisonWaveEntityOptional
|
||||
{
|
||||
public string SessionId { get; set; }
|
||||
}
|
||||
}
|
||||
9
YandexMusic.API/Models/Ynison/Wave/YYnisonWaveQueue.cs
Normal file
9
YandexMusic.API/Models/Ynison/Wave/YYnisonWaveQueue.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public class YYnisonWaveQueue
|
||||
{
|
||||
public List<YYnisonPlayableItem> RecommendedPlayableList { get; set; }
|
||||
public int LivePlayableIndex { get; set; }
|
||||
public YYnisonEntityOptions EntityOptions { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/Wave/YYnisonWaveSource.cs
Normal file
7
YandexMusic.API/Models/Ynison/Wave/YYnisonWaveSource.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public class YYnisonWaveSource
|
||||
{
|
||||
public YYnisonWaveSourceType SourceType { get; set; }
|
||||
}
|
||||
}
|
||||
10
YandexMusic.API/Models/Ynison/Wave/YYnisonWaveSourceType.cs
Normal file
10
YandexMusic.API/Models/Ynison/Wave/YYnisonWaveSourceType.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace YandexMusic.API.Models.Ynison.Wave
|
||||
{
|
||||
public enum YYnisonWaveSourceType
|
||||
{
|
||||
[EnumMember(Value = "ONLINE_BY_DEFAULT")]
|
||||
OnlineByDefault
|
||||
}
|
||||
}
|
||||
10
YandexMusic.API/Models/Ynison/YYnisonDevice.cs
Normal file
10
YandexMusic.API/Models/Ynison/YYnisonDevice.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonDevice
|
||||
{
|
||||
public YYnisonDeviceInfo Info { get; set; }
|
||||
public YYnisonDeviceCapabilities Capabilities { get; set; } = new();
|
||||
public YYnisonDeviceVolumeInfo VolumeInfo { get; set; } = new();
|
||||
public bool IsShadow { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonDeviceCapabilities
|
||||
{
|
||||
public bool CanBePlayer { get; set; }
|
||||
public bool CanBeRemoteController { get; set; }
|
||||
public decimal VolumeGranularity { get; set; }
|
||||
}
|
||||
}
|
||||
10
YandexMusic.API/Models/Ynison/YYnisonDeviceFull.cs
Normal file
10
YandexMusic.API/Models/Ynison/YYnisonDeviceFull.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonDeviceFull : YYnisonDevice
|
||||
{
|
||||
public YYnisonSession Session { get; set; }
|
||||
public decimal Volume { get; set; }
|
||||
// Эта опция даёт ошибку 500 при попытке отправки на инициализации
|
||||
public bool IsOffline { get; set; }
|
||||
}
|
||||
}
|
||||
11
YandexMusic.API/Models/Ynison/YYnisonDeviceInfo.cs
Normal file
11
YandexMusic.API/Models/Ynison/YYnisonDeviceInfo.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonDeviceInfo
|
||||
{
|
||||
public string DeviceId { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Title { get; set; }
|
||||
public string AppName { get; set; }
|
||||
public string AppVersion { get; set; }
|
||||
}
|
||||
}
|
||||
8
YandexMusic.API/Models/Ynison/YYnisonDeviceVolumeInfo.cs
Normal file
8
YandexMusic.API/Models/Ynison/YYnisonDeviceVolumeInfo.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonDeviceVolumeInfo
|
||||
{
|
||||
public decimal Volume { get; set; }
|
||||
public YYnisonVersion Version { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/YYnisonEntityContext.cs
Normal file
7
YandexMusic.API/Models/Ynison/YYnisonEntityContext.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public enum YYnisonEntityContext
|
||||
{
|
||||
BasedOnEntityByDefault
|
||||
}
|
||||
}
|
||||
16
YandexMusic.API/Models/Ynison/YYnisonEntityType.cs
Normal file
16
YandexMusic.API/Models/Ynison/YYnisonEntityType.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public enum YYnisonEntityType
|
||||
{
|
||||
Unspecified,
|
||||
Album,
|
||||
Artist,
|
||||
Various,
|
||||
Radio,
|
||||
Generative,
|
||||
FmRadio,
|
||||
VideoWave,
|
||||
LocalTracks,
|
||||
Playlist
|
||||
}
|
||||
}
|
||||
11
YandexMusic.API/Models/Ynison/YYnisonError.cs
Normal file
11
YandexMusic.API/Models/Ynison/YYnisonError.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonError
|
||||
{
|
||||
public YYnisonErrorDetails Details { get; set; }
|
||||
public int GrpcCode { get; set; }
|
||||
public int HttpCode { get; set; }
|
||||
public string HttpStatus { get; set; }
|
||||
public string Message { get; set; }
|
||||
}
|
||||
}
|
||||
8
YandexMusic.API/Models/Ynison/YYnisonErrorDetails.cs
Normal file
8
YandexMusic.API/Models/Ynison/YYnisonErrorDetails.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonErrorDetails
|
||||
{
|
||||
public string YnisonErrorCode { get; set; }
|
||||
public string YnisonBackoffMillis { get; set; }
|
||||
}
|
||||
}
|
||||
9
YandexMusic.API/Models/Ynison/YYnisonFullState.cs
Normal file
9
YandexMusic.API/Models/Ynison/YYnisonFullState.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonFullState
|
||||
{
|
||||
public YYnisonPlayerState PlayerState { get; set; }
|
||||
public YYnisonDevice Device { get; set; }
|
||||
public bool IsCurrentlyActive { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/YYnisonId.cs
Normal file
7
YandexMusic.API/Models/Ynison/YYnisonId.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonId
|
||||
{
|
||||
public string Id { get; set; }
|
||||
}
|
||||
}
|
||||
8
YandexMusic.API/Models/Ynison/YYnisonKeepAliveParams.cs
Normal file
8
YandexMusic.API/Models/Ynison/YYnisonKeepAliveParams.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonKeepAliveParams
|
||||
{
|
||||
public int KeepAliveTimeSeconds { get; set; }
|
||||
public int KeepAliveTimeoutSeconds { get; set; }
|
||||
}
|
||||
}
|
||||
20
YandexMusic.API/Models/Ynison/YYnisonPlayableItem.cs
Normal file
20
YandexMusic.API/Models/Ynison/YYnisonPlayableItem.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonPlayableItem
|
||||
{
|
||||
public string AlbumIdOptional { get; set; }
|
||||
|
||||
public string CoverUrlOptional { get; set; }
|
||||
|
||||
#warning нужен enum
|
||||
public string From { get; set; }
|
||||
|
||||
public string PlayableId { get; set; }
|
||||
|
||||
public YYnisonPlayableItemType PlayableType { get; set; }
|
||||
|
||||
public string Title { get; set; }
|
||||
|
||||
public YYnisonTrackInfo TrackInfo { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/YYnisonPlayableItemType.cs
Normal file
7
YandexMusic.API/Models/Ynison/YYnisonPlayableItemType.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public enum YYnisonPlayableItemType
|
||||
{
|
||||
Track
|
||||
}
|
||||
}
|
||||
22
YandexMusic.API/Models/Ynison/YYnisonPlayerQueue.cs
Normal file
22
YandexMusic.API/Models/Ynison/YYnisonPlayerQueue.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonPlayerQueue
|
||||
{
|
||||
public int CurrentPlayableIndex { get; set; } = -1;
|
||||
|
||||
public string EntityId { get; set; }
|
||||
|
||||
public YYnisonEntityType EntityType { get; set; } = YYnisonEntityType.Various;
|
||||
|
||||
public YYnisonEntityContext EntityContext { get; set; } = YYnisonEntityContext.BasedOnEntityByDefault;
|
||||
|
||||
public YYnisonQueueOptions Options { get; set; } = new();
|
||||
|
||||
public List<YYnisonPlayableItem> PlayableList { get; set; } = new();
|
||||
public YYnisonQueue Queue { get; set; }
|
||||
|
||||
public string FromOptional { get; set; }
|
||||
|
||||
public YYnisonVersion Version { get; set; }
|
||||
}
|
||||
}
|
||||
9
YandexMusic.API/Models/Ynison/YYnisonPlayerState.cs
Normal file
9
YandexMusic.API/Models/Ynison/YYnisonPlayerState.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonPlayerState
|
||||
{
|
||||
public YYnisonPlayerQueue PlayerQueue { get; set; }
|
||||
|
||||
public YYnisonPlayerStateStatus Status { get; set; }
|
||||
}
|
||||
}
|
||||
11
YandexMusic.API/Models/Ynison/YYnisonPlayerStateStatus.cs
Normal file
11
YandexMusic.API/Models/Ynison/YYnisonPlayerStateStatus.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonPlayerStateStatus
|
||||
{
|
||||
public decimal DurationMs { get; set; }
|
||||
public bool Paused { get; set; } = true;
|
||||
public decimal PlaybackSpeed { get; set; } = 1;
|
||||
public decimal ProgressMs { get; set; }
|
||||
public YYnisonVersion Version { get; set; }
|
||||
}
|
||||
}
|
||||
9
YandexMusic.API/Models/Ynison/YYnisonQueue.cs
Normal file
9
YandexMusic.API/Models/Ynison/YYnisonQueue.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using YandexMusic.API.Models.Ynison.Wave;
|
||||
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonQueue
|
||||
{
|
||||
public YYnisonWaveQueue WaveQueue { get; set; }
|
||||
}
|
||||
}
|
||||
8
YandexMusic.API/Models/Ynison/YYnisonQueueOptions.cs
Normal file
8
YandexMusic.API/Models/Ynison/YYnisonQueueOptions.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonQueueOptions
|
||||
{
|
||||
#warning нужен enum
|
||||
public string RepeatMode { get; set; } = "NONE";
|
||||
}
|
||||
}
|
||||
10
YandexMusic.API/Models/Ynison/YYnisonRedirect.cs
Normal file
10
YandexMusic.API/Models/Ynison/YYnisonRedirect.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonRedirect
|
||||
{
|
||||
public string Host { get; set; }
|
||||
public string RedirectTicket { get; set; }
|
||||
public string SessionId { get; set; }
|
||||
public YYnisonKeepAliveParams KeepAliveParams { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/YYnisonSession.cs
Normal file
7
YandexMusic.API/Models/Ynison/YYnisonSession.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonSession : YYnisonId
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
11
YandexMusic.API/Models/Ynison/YYnisonState.cs
Normal file
11
YandexMusic.API/Models/Ynison/YYnisonState.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using YandexMusic.API.Models.Ynison.Messages;
|
||||
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonState : YYnisonMessage
|
||||
{
|
||||
public List<YYnisonDeviceFull> Devices { get; set; }
|
||||
public YYnisonPlayerState PlayerState { get; set; }
|
||||
public decimal TimestampMs { get; set; }
|
||||
}
|
||||
}
|
||||
7
YandexMusic.API/Models/Ynison/YYnisonTrackInfo.cs
Normal file
7
YandexMusic.API/Models/Ynison/YYnisonTrackInfo.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonTrackInfo
|
||||
{
|
||||
public decimal TrackSourceKey { get; set; }
|
||||
}
|
||||
}
|
||||
9
YandexMusic.API/Models/Ynison/YYnisonVersion.cs
Normal file
9
YandexMusic.API/Models/Ynison/YYnisonVersion.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace YandexMusic.API.Models.Ynison
|
||||
{
|
||||
public class YYnisonVersion
|
||||
{
|
||||
public string DeviceId { get; set; }
|
||||
public string Version { get; set; } = Math.Floor(0x8000000000000000 * new Random().NextDouble()).ToString("##############################") + "0";
|
||||
public decimal TimestampMs { get; set; } = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user