Files: fixed response

This commit is contained in:
pavelbannov 2022-02-09 17:34:09 +03:00
parent b81b34fc99
commit 8220d23a10
2 changed files with 33 additions and 4 deletions

View File

@ -23,11 +23,12 @@
*
*/
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace ASC.Files.Core.Security
{
[JsonConverter(typeof(JsonStringEnumConverter))]
{
public enum FileShare
{
None,
@ -39,5 +40,32 @@ namespace ASC.Files.Core.Security
Comment,
FillForms,
CustomFilter
}
public class FileShareConverter : JsonConverter<FileShare>
{
public override FileShare Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType == JsonTokenType.Number && reader.TryGetInt32(out var result))
{
return (FileShare)result;
}
else
{
if (reader.TokenType == JsonTokenType.String && Enum.TryParse<FileShare>(reader.GetString(), out var share))
{
return share;
}
else
{
return FileShare.None;
}
}
}
public override void Write(Utf8JsonWriter writer, FileShare value, JsonSerializerOptions options)
{
writer.WriteNumberValue((int)value);
}
}
}

View File

@ -3,6 +3,7 @@ using System.Text.Json.Serialization;
using ASC.Api.Core;
using ASC.Api.Documents;
using ASC.Files.Core.Security;
using ASC.Web.Files;
using ASC.Web.Files.HttpHandlers;
using ASC.Web.Studio.Core.Notify;
@ -16,8 +17,8 @@ using Microsoft.Extensions.Hosting;
namespace ASC.Files
{
public class Startup : BaseStartup
{
public override JsonConverter[] Converters { get => new JsonConverter[] { new FileEntryWrapperConverter() }; }
{
public override JsonConverter[] Converters { get => new JsonConverter[] { new FileEntryWrapperConverter(), new FileShareConverter() }; }
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
: base(configuration, hostEnvironment)