using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.Playlist;
/// Запрос на создание нового шеринг-плейлиста.
public class SharePlaylistDto
{
/// Идентификатор плейлиста в Яндекс.Музыке (kind).
[JsonPropertyName("yandexPlaylistKind")]
public string YandexPlaylistKind { get; set; } = null!;
/// Идентификатор владельца плейлиста в Яндекс.Музыке (uid).
[JsonPropertyName("yandexPlaylistOwnerUid")]
public string YandexPlaylistOwnerUid { get; set; } = null!;
/// Название плейлиста.
[JsonPropertyName("title")]
public string Title { get; set; } = null!;
/// Описание плейлиста.
[JsonPropertyName("description")]
public string? Description { get; set; }
/// Ссылка на обложку.
[JsonPropertyName("coverUrl")]
public string? CoverUrl { get; set; }
/// Дата создания плейлиста.
[JsonPropertyName("createdAt")]
public DateTime CreatedAt { get; set; }
/// Токен для расшаривания плейлиста.
[JsonPropertyName("shareToken")]
public string ShareToken { get; set; }
/// Права на просмотр.
[JsonPropertyName("viewPermission")]
public ViewPermission ViewPermission { get; set; }
/// Права на воспроизведение.
[JsonPropertyName("playPermission")]
public ViewPermission PlayPermission { get; set; }
/// Права на добавление треков.
[JsonPropertyName("addPermission")]
public EditPermission AddPermission { get; set; }
/// Права на удаление треков.
[JsonPropertyName("removePermission")]
public EditPermission RemovePermission { get; set; }
}