Чистка кода

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

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

View File

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

View File

@@ -1,32 +0,0 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Универсальный контейнер ответа API.</summary>
/// <typeparam name="T">Тип данных ответа.</typeparam>
public class ApiResponse<T>
{
/// <summary>Успешен ли запрос.</summary>
[JsonPropertyName("success")]
public bool Success { get; set; }
/// <summary>Данные ответа (при успехе).</summary>
[JsonPropertyName("data")]
public T? Data { get; set; }
/// <summary>Сообщение (опционально).</summary>
[JsonPropertyName("message")]
public string? Message { get; set; }
/// <summary>Ошибка (при неудаче).</summary>
[JsonPropertyName("error")]
public ErrorResponse? Error { get; set; }
/// <summary>Создаёт успешный ответ.</summary>
public static ApiResponse<T> Ok(T data, string? message = null) =>
new() { Success = true, Data = data, Message = message };
/// <summary>Создаёт ответ с ошибкой.</summary>
public static ApiResponse<T> Fail(ErrorResponse error) =>
new() { Success = false, Error = error };
}

View File

@@ -1,19 +0,0 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Стандартный ответ сервера при ошибке.</summary>
public class ErrorResponse
{
/// <summary>HTTP статус-код.</summary>
[JsonPropertyName("statusCode")]
public int StatusCode { get; set; }
/// <summary>Сообщение об ошибке.</summary>
[JsonPropertyName("message")]
public string Message { get; set; } = null!;
/// <summary>Дополнительные детали (опционально).</summary>
[JsonPropertyName("details")]
public string? Details { get; set; }
}

View File

@@ -1,19 +0,0 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Запрос на вход по паролю.</summary>
public class LoginRequest
{
/// <summary>Имя пользователя (логин).</summary>
[JsonPropertyName("username")]
public string Username { get; set; } = null!;
/// <summary>Пароль.</summary>
[JsonPropertyName("password")]
public string Password { get; set; } = null!;
/// <summary>Запомнить пользователя (продлить сессию).</summary>
[JsonPropertyName("rememberMe")]
public bool RememberMe { get; set; }
}

View File

@@ -1,19 +0,0 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Ответ после успешного входа.</summary>
public class LoginResponse
{
/// <summary>JWT токен доступа.</summary>
[JsonPropertyName("token")]
public string Token { get; set; } = null!;
/// <summary>Refresh токен для обновления сессии.</summary>
[JsonPropertyName("refreshToken")]
public string RefreshToken { get; set; } = null!;
/// <summary>Время истечения токена (UTC).</summary>
[JsonPropertyName("expiration")]
public DateTime Expiration { get; set; }
}

View File

@@ -1,19 +0,0 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Запрос на регистрацию нового пользователя.</summary>
public class RegisterRequest
{
/// <summary>Имя пользователя (логин).</summary>
[JsonPropertyName("username")]
public string Username { get; set; } = null!;
/// <summary>Email пользователя.</summary>
[JsonPropertyName("email")]
public string Email { get; set; } = null!;
/// <summary>Пароль.</summary>
[JsonPropertyName("password")]
public string Password { get; set; } = null!;
}

View File

@@ -1,6 +0,0 @@
namespace PlaylistShared.Shared.DTO;
public class SetYandexTokenRequest
{
public string Token { get; set; }
}

View File

@@ -1,48 +0,0 @@
using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Запрос на создание нового шеринг-плейлиста.</summary>
public class SharePlaylistDto
{
/// <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("addPermission")]
public EditPermission AddPermission { get; set; }
/// <summary>Права на удаление треков.</summary>
[JsonPropertyName("removePermission")]
public EditPermission RemovePermission { get; set; }
}

View File

@@ -1,20 +0,0 @@
using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <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

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

View File

@@ -1,45 +0,0 @@
using System.Text.Json.Serialization;
namespace PlaylistShared.Shared.DTO;
/// <summary>Информация о плейлисте из Яндекс.Музыки (для импорта).</summary>
public class YandexPlaylistInfo
{
/// <summary>Идентификатор плейлиста (kind).</summary>
[JsonPropertyName("kind")]
public string Kind { get; set; } = null!;
/// <summary>Идентификатор владельца плейлиста (uid).</summary>
[JsonPropertyName("ownerUid")]
public string OwnerUid { 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("trackCount")]
public int TrackCount { get; set; }
/// <summary>Расшаренный</summary>
[JsonPropertyName("isShared")]
public bool IsShared { get; set; }
/// <summary>Расшаренная ссылка</summary>
[JsonPropertyName("shareToken")]
public string? ShareToken { get; set; }
}
public class SharePlaylistRequest
{
public string Kind { get; set; }
public string OwnerUid { get; set; }
}

View File

@@ -1,8 +0,0 @@
namespace PlaylistShared.Shared.DTO;
public class YandexTokenStatus
{
public bool HasToken { get; set; }
public bool IsValid { get; set; }
public DateTime ExpiryUtc { get; set; }
}