доработка api поиска треков

This commit is contained in:
FrigaT
2026-04-16 16:58:06 +03:00
parent 974fb0f538
commit 68d7c7fc12
20 changed files with 191 additions and 56 deletions

View File

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