From ba13199ca2b9ef81c2b4a8e3afde8d018dfddb29 Mon Sep 17 00:00:00 2001 From: FrigaT Date: Wed, 15 Apr 2026 19:16:44 +0300 Subject: [PATCH] fix json enum --- PlaylistShared.Api/Program.cs | 7 ++++++- .../Components/SharedPlaylist/AddTrackSection.razor | 2 +- PlaylistShared.Shared/Enums/EditPermission.cs | 5 ++++- PlaylistShared.Shared/Enums/TrackSearchType.cs | 5 ++++- PlaylistShared.Shared/Enums/ViewPermission.cs | 5 ++++- 5 files changed, 19 insertions(+), 5 deletions(-) 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 { /// Все, включая неавторизованных.