Чистка кода

This commit is contained in:
FrigaT
2026-04-14 01:05:06 +03:00
parent 5717b1ec0c
commit 40ea9166d2
29 changed files with 48 additions and 34 deletions

View File

@@ -0,0 +1,6 @@
namespace PlaylistShared.Shared.Shared;
public class AddTrackByLinkRequest
{
public string Link { get; set; }
}

View File

@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.Shared;
public class AddTracksRequest
{
[JsonPropertyName("trackIds")]
public List<string> TrackIds { get; set; } = new();
}

View File

@@ -0,0 +1,69 @@
using PlaylistShared.Shared.Auth;
using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.Shared;
/// <summary>DTO шеринг-плейлиста (без навигационных свойств).</summary>
public class SharedPlaylistDto
{
/// <summary>Уникальный идентификатор записи.</summary>
[JsonPropertyName("id")]
public Guid Id { get; set; }
/// <summary>Идентификатор пользователя-создателя (владельца).</summary>
[JsonPropertyName("creatorUserId")]
public Guid CreatorUserId { get; set; }
/// <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>URL обложки плейлиста.</summary>
[JsonPropertyName("coverUrl")]
public string? CoverUrl { get; set; }
/// <summary>Дата создания записи.</summary>
[JsonPropertyName("createdAt")]
public DateTime CreatedAt { get; set; }
/// <summary>Дата последнего обновления.</summary>
[JsonPropertyName("updatedAt")]
public DateTime UpdatedAt { get; set; }
/// <summary>Признак мягкого удаления.</summary>
[JsonPropertyName("isDeleted")]
public bool IsDeleted { get; set; }
/// <summary>Уникальный токен для публичной ссылки.</summary>
[JsonPropertyName("shareToken")]
public string ShareToken { get; set; } = null!;
/// <summary>Права на просмотр.</summary>
[JsonPropertyName("viewPermission")]
public ViewPermission ViewPermission { get; set; }
/// <summary>Права на добавление треков.</summary>
[JsonPropertyName("addPermission")]
public EditPermission AddPermission { get; set; }
/// <summary>Права на удаление треков.</summary>
[JsonPropertyName("removePermission")]
public EditPermission RemovePermission { get; set; }
/// <summary>Информация о создателе (опционально, подгружается отдельно).</summary>
[JsonPropertyName("creator")]
public ApplicationUserDto? Creator { get; set; }
}

View File

@@ -0,0 +1,20 @@
using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.Shared;
/// <summary>Запрос на обновление прав доступа шеринг-плейлиста.</summary>
public class UpdatePermissionsDto
{
/// <summary>Новые права на просмотр.</summary>
[JsonPropertyName("viewPermission")]
public ViewPermission ViewPermission { get; set; }
/// <summary>Новые права на добавление треков.</summary>
[JsonPropertyName("addPermission")]
public EditPermission AddPermission { get; set; }
/// <summary>Новые права на удаление треков.</summary>
[JsonPropertyName("removePermission")]
public EditPermission RemovePermission { get; set; }
}

View File

@@ -0,0 +1,10 @@
using PlaylistShared.Shared.DTO;
namespace PlaylistShared.Shared.Shared;
public class YandexPlaylistData
{
public string Title { get; set; } = "";
public string Description { get; set; } = "";
public List<YandexTrack> Tracks { get; set; } = new();
}