diff --git a/PlaylistShared.Api/Controllers/AccountController.cs b/PlaylistShared.Api/Controllers/AccountController.cs
index 0a6be70..da68f1b 100644
--- a/PlaylistShared.Api/Controllers/AccountController.cs
+++ b/PlaylistShared.Api/Controllers/AccountController.cs
@@ -2,6 +2,8 @@
using Microsoft.AspNetCore.Mvc;
using PlaylistShared.Api.Entities;
using PlaylistShared.Api.Services;
+using PlaylistShared.Shared;
+using PlaylistShared.Shared.Auth;
using PlaylistShared.Shared.DTO;
[ApiController]
diff --git a/PlaylistShared.Api/Controllers/PlaylistsController.cs b/PlaylistShared.Api/Controllers/PlaylistsController.cs
index 81df83c..39aa7ce 100644
--- a/PlaylistShared.Api/Controllers/PlaylistsController.cs
+++ b/PlaylistShared.Api/Controllers/PlaylistsController.cs
@@ -4,9 +4,10 @@ using Microsoft.AspNetCore.Mvc;
using PlaylistShared.Api.Entities;
using PlaylistShared.Api.Extensions;
using PlaylistShared.Api.Services;
-using PlaylistShared.Shared.DTO;
+using PlaylistShared.Shared;
using PlaylistShared.Shared.Enums;
-using PlaylistShared.Shared.Models;
+using PlaylistShared.Shared.Playlist;
+using PlaylistShared.Shared.Shared;
using YandexMusic;
namespace PlaylistShared.Api.Controllers;
diff --git a/PlaylistShared.Api/Controllers/SharedPlaylistController.cs b/PlaylistShared.Api/Controllers/SharedPlaylistController.cs
index 8eab622..b16493a 100644
--- a/PlaylistShared.Api/Controllers/SharedPlaylistController.cs
+++ b/PlaylistShared.Api/Controllers/SharedPlaylistController.cs
@@ -4,8 +4,9 @@ using Microsoft.AspNetCore.Mvc;
using PlaylistShared.Api.Entities;
using PlaylistShared.Api.Extensions;
using PlaylistShared.Api.Services;
+using PlaylistShared.Shared;
using PlaylistShared.Shared.DTO;
-using PlaylistShared.Shared.Models;
+using PlaylistShared.Shared.Shared;
using YandexMusic.API.Models.Playlist;
[ApiController]
diff --git a/PlaylistShared.Api/Controllers/YandexTokenController.cs b/PlaylistShared.Api/Controllers/YandexTokenController.cs
index 25b3079..96aecf4 100644
--- a/PlaylistShared.Api/Controllers/YandexTokenController.cs
+++ b/PlaylistShared.Api/Controllers/YandexTokenController.cs
@@ -4,7 +4,8 @@ using Microsoft.AspNetCore.Mvc;
using PlaylistShared.Api.Entities;
using PlaylistShared.Api.Extensions;
using PlaylistShared.Api.Services;
-using PlaylistShared.Shared.DTO;
+using PlaylistShared.Shared;
+using PlaylistShared.Shared.Profile;
namespace PlaylistShared.Api.Controllers;
diff --git a/PlaylistShared.Api/Data/Migrations/20260412171234_InitialCreate.cs b/PlaylistShared.Api/Data/Migrations/20260412171234_InitialCreate.cs
index 5e1ccd2..63d1444 100644
--- a/PlaylistShared.Api/Data/Migrations/20260412171234_InitialCreate.cs
+++ b/PlaylistShared.Api/Data/Migrations/20260412171234_InitialCreate.cs
@@ -1,5 +1,4 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
diff --git a/PlaylistShared.Api/Mapping/AppMappingProfile.cs b/PlaylistShared.Api/Mapping/AppMappingProfile.cs
index b948216..a18f814 100644
--- a/PlaylistShared.Api/Mapping/AppMappingProfile.cs
+++ b/PlaylistShared.Api/Mapping/AppMappingProfile.cs
@@ -1,6 +1,7 @@
using AutoMapper;
using PlaylistShared.Api.Entities;
-using PlaylistShared.Shared.Models;
+using PlaylistShared.Shared.Auth;
+using PlaylistShared.Shared.Shared;
namespace PlaylistShared.Api.Mapping;
diff --git a/PlaylistShared.Api/Services/SharedPlaylistService.cs b/PlaylistShared.Api/Services/SharedPlaylistService.cs
index ae48aaf..932b63c 100644
--- a/PlaylistShared.Api/Services/SharedPlaylistService.cs
+++ b/PlaylistShared.Api/Services/SharedPlaylistService.cs
@@ -2,9 +2,9 @@
using Microsoft.EntityFrameworkCore;
using PlaylistShared.Api.Data;
using PlaylistShared.Api.Entities;
-using PlaylistShared.Shared.DTO;
using PlaylistShared.Shared.Enums;
-using PlaylistShared.Shared.Models;
+using PlaylistShared.Shared.Playlist;
+using PlaylistShared.Shared.Shared;
namespace PlaylistShared.Api.Services;
diff --git a/PlaylistShared.Pwa/Pages/Login.razor b/PlaylistShared.Pwa/Pages/Login.razor
index e8adad3..86f30ea 100644
--- a/PlaylistShared.Pwa/Pages/Login.razor
+++ b/PlaylistShared.Pwa/Pages/Login.razor
@@ -1,4 +1,5 @@
@page "/login"
+@using PlaylistShared.Shared.Auth
@using PlaylistShared.Shared.DTO
@using PlaylistShared.Pwa.Services
@inject HttpClient Http
diff --git a/PlaylistShared.Pwa/Pages/MyPlaylists.razor b/PlaylistShared.Pwa/Pages/MyPlaylists.razor
index 3f0c94f..b7fff4a 100644
--- a/PlaylistShared.Pwa/Pages/MyPlaylists.razor
+++ b/PlaylistShared.Pwa/Pages/MyPlaylists.razor
@@ -1,6 +1,7 @@
@page "/my-playlists"
@attribute [Authorize]
@using PlaylistShared.Shared.DTO
+@using PlaylistShared.Shared.Playlist
@inject HttpClient Http
@inject ISnackbar Snackbar
@inject NavigationManager Navigation
diff --git a/PlaylistShared.Pwa/Pages/Register.razor b/PlaylistShared.Pwa/Pages/Register.razor
index 33dab5c..cc1d90b 100644
--- a/PlaylistShared.Pwa/Pages/Register.razor
+++ b/PlaylistShared.Pwa/Pages/Register.razor
@@ -1,4 +1,5 @@
@page "/register"
+@using PlaylistShared.Shared.Auth
@inject HttpClient Http
@inject AuthStateProvider AuthProvider
@inject NavigationManager Navigation
diff --git a/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor b/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor
index 7881f6f..e8f8744 100644
--- a/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor
+++ b/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor
@@ -2,7 +2,7 @@
@using PlaylistShared.Shared.DTO
@using PlaylistShared.Shared.Enums
@using PlaylistShared.Pwa.Services
-@using PlaylistShared.Shared.Models
+@using PlaylistShared.Shared.Shared
@inject HttpClient Http
@inject ISnackbar Snackbar
@inject NavigationManager Navigation
diff --git a/PlaylistShared.Pwa/Services/ApiClient.cs b/PlaylistShared.Pwa/Services/ApiClient.cs
index 3e2fa37..53eafee 100644
--- a/PlaylistShared.Pwa/Services/ApiClient.cs
+++ b/PlaylistShared.Pwa/Services/ApiClient.cs
@@ -1,4 +1,6 @@
-using PlaylistShared.Shared.DTO;
+using PlaylistShared.Shared;
+using PlaylistShared.Shared.Auth;
+using PlaylistShared.Shared.DTO;
using System.Net.Http.Json;
namespace PlaylistShared.Pwa.Services;
diff --git a/PlaylistShared.Pwa/_Imports.razor b/PlaylistShared.Pwa/_Imports.razor
index 1303155..509ffb6 100644
--- a/PlaylistShared.Pwa/_Imports.razor
+++ b/PlaylistShared.Pwa/_Imports.razor
@@ -12,4 +12,4 @@
@using PlaylistShared.Pwa.Services
@using MudBlazor
@using Microsoft.AspNetCore.Authorization
-@using PlaylistShared.Shared.DTO
\ No newline at end of file
+@using PlaylistShared.Shared
\ No newline at end of file
diff --git a/PlaylistShared.Shared/DTO/ApiResponse.cs b/PlaylistShared.Shared/ApiResponse.cs
similarity index 96%
rename from PlaylistShared.Shared/DTO/ApiResponse.cs
rename to PlaylistShared.Shared/ApiResponse.cs
index d08db33..8a1f07f 100644
--- a/PlaylistShared.Shared/DTO/ApiResponse.cs
+++ b/PlaylistShared.Shared/ApiResponse.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared;
/// Универсальный контейнер ответа API.
/// Тип данных ответа.
diff --git a/PlaylistShared.Shared/Models/ApplicationUserDto.cs b/PlaylistShared.Shared/Auth/ApplicationUserDto.cs
similarity index 96%
rename from PlaylistShared.Shared/Models/ApplicationUserDto.cs
rename to PlaylistShared.Shared/Auth/ApplicationUserDto.cs
index db1160c..939004b 100644
--- a/PlaylistShared.Shared/Models/ApplicationUserDto.cs
+++ b/PlaylistShared.Shared/Auth/ApplicationUserDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.Models;
+namespace PlaylistShared.Shared.Auth;
/// DTO пользователя (без конфиденциальных данных).
public class ApplicationUserDto
diff --git a/PlaylistShared.Shared/DTO/LoginRequest.cs b/PlaylistShared.Shared/Auth/LoginRequest.cs
similarity index 94%
rename from PlaylistShared.Shared/DTO/LoginRequest.cs
rename to PlaylistShared.Shared/Auth/LoginRequest.cs
index 85e3b01..5049c56 100644
--- a/PlaylistShared.Shared/DTO/LoginRequest.cs
+++ b/PlaylistShared.Shared/Auth/LoginRequest.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Auth;
/// Запрос на вход по паролю.
public class LoginRequest
diff --git a/PlaylistShared.Shared/DTO/LoginResponse.cs b/PlaylistShared.Shared/Auth/LoginResponse.cs
similarity index 94%
rename from PlaylistShared.Shared/DTO/LoginResponse.cs
rename to PlaylistShared.Shared/Auth/LoginResponse.cs
index 49ff3fc..553b9af 100644
--- a/PlaylistShared.Shared/DTO/LoginResponse.cs
+++ b/PlaylistShared.Shared/Auth/LoginResponse.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Auth;
/// Ответ после успешного входа.
public class LoginResponse
diff --git a/PlaylistShared.Shared/DTO/RegisterRequest.cs b/PlaylistShared.Shared/Auth/RegisterRequest.cs
similarity index 94%
rename from PlaylistShared.Shared/DTO/RegisterRequest.cs
rename to PlaylistShared.Shared/Auth/RegisterRequest.cs
index fb4e099..1e153fe 100644
--- a/PlaylistShared.Shared/DTO/RegisterRequest.cs
+++ b/PlaylistShared.Shared/Auth/RegisterRequest.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Auth;
/// Запрос на регистрацию нового пользователя.
public class RegisterRequest
diff --git a/PlaylistShared.Shared/DTO/ErrorResponse.cs b/PlaylistShared.Shared/ErrorResponse.cs
similarity index 94%
rename from PlaylistShared.Shared/DTO/ErrorResponse.cs
rename to PlaylistShared.Shared/ErrorResponse.cs
index a7f6e11..de6beb8 100644
--- a/PlaylistShared.Shared/DTO/ErrorResponse.cs
+++ b/PlaylistShared.Shared/ErrorResponse.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared;
/// Стандартный ответ сервера при ошибке.
public class ErrorResponse
diff --git a/PlaylistShared.Shared/DTO/SharePlaylistDto.cs b/PlaylistShared.Shared/Playlist/SharePlaylistDto.cs
similarity index 97%
rename from PlaylistShared.Shared/DTO/SharePlaylistDto.cs
rename to PlaylistShared.Shared/Playlist/SharePlaylistDto.cs
index f4041d8..7fd80af 100644
--- a/PlaylistShared.Shared/DTO/SharePlaylistDto.cs
+++ b/PlaylistShared.Shared/Playlist/SharePlaylistDto.cs
@@ -1,7 +1,7 @@
using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Playlist;
/// Запрос на создание нового шеринг-плейлиста.
public class SharePlaylistDto
diff --git a/PlaylistShared.Shared/Playlist/SharePlaylistRequest.cs b/PlaylistShared.Shared/Playlist/SharePlaylistRequest.cs
new file mode 100644
index 0000000..edd1607
--- /dev/null
+++ b/PlaylistShared.Shared/Playlist/SharePlaylistRequest.cs
@@ -0,0 +1,7 @@
+namespace PlaylistShared.Shared.Playlist;
+
+public class SharePlaylistRequest
+{
+ public string Kind { get; set; }
+ public string OwnerUid { get; set; }
+}
\ No newline at end of file
diff --git a/PlaylistShared.Shared/DTO/YandexPlaylistInfo.cs b/PlaylistShared.Shared/Playlist/YandexPlaylistInfo.cs
similarity index 89%
rename from PlaylistShared.Shared/DTO/YandexPlaylistInfo.cs
rename to PlaylistShared.Shared/Playlist/YandexPlaylistInfo.cs
index c766cb7..223fca1 100644
--- a/PlaylistShared.Shared/DTO/YandexPlaylistInfo.cs
+++ b/PlaylistShared.Shared/Playlist/YandexPlaylistInfo.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Playlist;
/// Информация о плейлисте из Яндекс.Музыки (для импорта).
public class YandexPlaylistInfo
@@ -37,9 +37,3 @@ public class YandexPlaylistInfo
[JsonPropertyName("shareToken")]
public string? ShareToken { get; set; }
}
-
-public class SharePlaylistRequest
-{
- public string Kind { get; set; }
- public string OwnerUid { get; set; }
-}
\ No newline at end of file
diff --git a/PlaylistShared.Shared/DTO/SetYandexTokenRequest.cs b/PlaylistShared.Shared/Profile/SetYandexTokenRequest.cs
similarity index 63%
rename from PlaylistShared.Shared/DTO/SetYandexTokenRequest.cs
rename to PlaylistShared.Shared/Profile/SetYandexTokenRequest.cs
index 7bcc741..8e0facb 100644
--- a/PlaylistShared.Shared/DTO/SetYandexTokenRequest.cs
+++ b/PlaylistShared.Shared/Profile/SetYandexTokenRequest.cs
@@ -1,4 +1,4 @@
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Profile;
public class SetYandexTokenRequest
{
diff --git a/PlaylistShared.Shared/DTO/YandexTokenStatus.cs b/PlaylistShared.Shared/Profile/YandexTokenStatus.cs
similarity index 78%
rename from PlaylistShared.Shared/DTO/YandexTokenStatus.cs
rename to PlaylistShared.Shared/Profile/YandexTokenStatus.cs
index 7eb6a1f..49a8a47 100644
--- a/PlaylistShared.Shared/DTO/YandexTokenStatus.cs
+++ b/PlaylistShared.Shared/Profile/YandexTokenStatus.cs
@@ -1,4 +1,4 @@
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Profile;
public class YandexTokenStatus
{
diff --git a/PlaylistShared.Shared/DTO/AddTrackByLinkRequest.cs b/PlaylistShared.Shared/Shared/AddTrackByLinkRequest.cs
similarity index 63%
rename from PlaylistShared.Shared/DTO/AddTrackByLinkRequest.cs
rename to PlaylistShared.Shared/Shared/AddTrackByLinkRequest.cs
index c139501..a468262 100644
--- a/PlaylistShared.Shared/DTO/AddTrackByLinkRequest.cs
+++ b/PlaylistShared.Shared/Shared/AddTrackByLinkRequest.cs
@@ -1,4 +1,4 @@
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Shared;
public class AddTrackByLinkRequest
{
diff --git a/PlaylistShared.Shared/DTO/AddTracksRequest.cs b/PlaylistShared.Shared/Shared/AddTracksRequest.cs
similarity index 80%
rename from PlaylistShared.Shared/DTO/AddTracksRequest.cs
rename to PlaylistShared.Shared/Shared/AddTracksRequest.cs
index a0de29a..49402ff 100644
--- a/PlaylistShared.Shared/DTO/AddTracksRequest.cs
+++ b/PlaylistShared.Shared/Shared/AddTracksRequest.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Shared;
public class AddTracksRequest
{
diff --git a/PlaylistShared.Shared/Models/SharedPlaylistDto.cs b/PlaylistShared.Shared/Shared/SharedPlaylistDto.cs
similarity index 96%
rename from PlaylistShared.Shared/Models/SharedPlaylistDto.cs
rename to PlaylistShared.Shared/Shared/SharedPlaylistDto.cs
index d270c28..5c510ca 100644
--- a/PlaylistShared.Shared/Models/SharedPlaylistDto.cs
+++ b/PlaylistShared.Shared/Shared/SharedPlaylistDto.cs
@@ -1,7 +1,8 @@
-using PlaylistShared.Shared.Enums;
+using PlaylistShared.Shared.Auth;
+using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.Models;
+namespace PlaylistShared.Shared.Shared;
/// DTO шеринг-плейлиста (без навигационных свойств).
public class SharedPlaylistDto
diff --git a/PlaylistShared.Shared/DTO/UpdatePermissionsDto.cs b/PlaylistShared.Shared/Shared/UpdatePermissionsDto.cs
similarity index 95%
rename from PlaylistShared.Shared/DTO/UpdatePermissionsDto.cs
rename to PlaylistShared.Shared/Shared/UpdatePermissionsDto.cs
index 15477a1..96aa2ea 100644
--- a/PlaylistShared.Shared/DTO/UpdatePermissionsDto.cs
+++ b/PlaylistShared.Shared/Shared/UpdatePermissionsDto.cs
@@ -1,7 +1,7 @@
using PlaylistShared.Shared.Enums;
using System.Text.Json.Serialization;
-namespace PlaylistShared.Shared.DTO;
+namespace PlaylistShared.Shared.Shared;
/// Запрос на обновление прав доступа шеринг-плейлиста.
public class UpdatePermissionsDto
diff --git a/PlaylistShared.Shared/DTO/YandexPlaylistData.cs b/PlaylistShared.Shared/Shared/YandexPlaylistData.cs
similarity index 71%
rename from PlaylistShared.Shared/DTO/YandexPlaylistData.cs
rename to PlaylistShared.Shared/Shared/YandexPlaylistData.cs
index f2fc680..eeca066 100644
--- a/PlaylistShared.Shared/DTO/YandexPlaylistData.cs
+++ b/PlaylistShared.Shared/Shared/YandexPlaylistData.cs
@@ -1,4 +1,6 @@
-namespace PlaylistShared.Shared.DTO;
+using PlaylistShared.Shared.DTO;
+
+namespace PlaylistShared.Shared.Shared;
public class YandexPlaylistData
{