diff --git a/PlaylistShared.Api/Program.cs b/PlaylistShared.Api/Program.cs
index 9260048..3f2eb80 100644
--- a/PlaylistShared.Api/Program.cs
+++ b/PlaylistShared.Api/Program.cs
@@ -9,6 +9,7 @@ using PlaylistShared.Api.Entities;
using PlaylistShared.Api.Services;
using System.IdentityModel.Tokens.Jwt;
using System.Text;
+using System.Text.Json.Serialization;
namespace PlaylistShared.Api;
@@ -113,7 +114,11 @@ public class Program
});
});
- builder.Services.AddControllers();
+ builder.Services.AddControllers()
+ .AddJsonOptions(options =>
+ {
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ });
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
diff --git a/PlaylistShared.Pwa/Components/SharedPlaylist/AddTrackSection.razor b/PlaylistShared.Pwa/Components/SharedPlaylist/AddTrackSection.razor
index 7a91edc..c5c2248 100644
--- a/PlaylistShared.Pwa/Components/SharedPlaylist/AddTrackSection.razor
+++ b/PlaylistShared.Pwa/Components/SharedPlaylist/AddTrackSection.razor
@@ -93,7 +93,7 @@
_isSearching = true;
try
{
- var url = $"/api/yandexsearch/tracks?query={Uri.EscapeDataString(query)}&type={Uri.EscapeDataString(type.ToString())}&limit=20";
+ var url = $"/api/yandexsearch/tracks?query={Uri.EscapeDataString(query)}&searchType={Uri.EscapeDataString(type.ToString())}&limit=20";
if (!string.IsNullOrEmpty(ShareToken))
url += $"&shared_id={Uri.EscapeDataString(ShareToken)}";
if (byId)
diff --git a/PlaylistShared.Shared/Enums/EditPermission.cs b/PlaylistShared.Shared/Enums/EditPermission.cs
index a11ae80..de17006 100644
--- a/PlaylistShared.Shared/Enums/EditPermission.cs
+++ b/PlaylistShared.Shared/Enums/EditPermission.cs
@@ -1,6 +1,9 @@
-namespace PlaylistShared.Shared.Enums;
+using System.Text.Json.Serialization;
+
+namespace PlaylistShared.Shared.Enums;
/// Кто может выполнять действие (добавление/удаление).
+[JsonConverter(typeof(JsonStringEnumConverter))]
public enum EditPermission
{
/// Все, включая неавторизованных (но для выполнения действия нужна авторизация, так как API требует токен).
diff --git a/PlaylistShared.Shared/Enums/TrackSearchType.cs b/PlaylistShared.Shared/Enums/TrackSearchType.cs
index 00aa045..f4999c8 100644
--- a/PlaylistShared.Shared/Enums/TrackSearchType.cs
+++ b/PlaylistShared.Shared/Enums/TrackSearchType.cs
@@ -1,8 +1,11 @@
-namespace PlaylistShared.Shared.Enums;
+using System.Text.Json.Serialization;
+
+namespace PlaylistShared.Shared.Enums;
///
/// Типы поиска треков в Яндекс.Музыке, которые можно указать при поисковом запросе.
///
+[JsonConverter(typeof(JsonStringEnumConverter))]
public enum TrackSearchType
{
All,
diff --git a/PlaylistShared.Shared/Enums/ViewPermission.cs b/PlaylistShared.Shared/Enums/ViewPermission.cs
index f3213c8..0b0003f 100644
--- a/PlaylistShared.Shared/Enums/ViewPermission.cs
+++ b/PlaylistShared.Shared/Enums/ViewPermission.cs
@@ -1,6 +1,9 @@
-namespace PlaylistShared.Shared.Enums;
+using System.Text.Json.Serialization;
+
+namespace PlaylistShared.Shared.Enums;
/// Кто может просматривать плейлист.
+[JsonConverter(typeof(JsonStringEnumConverter))]
public enum ViewPermission
{
/// Все, включая неавторизованных.