frostfs-sdk-csharp/src/FrostFS.SDK.Client/Mappers/Status.cs
Pavel Gross 195854a45b [#30] Client: Add object model for Rules
Signed-off-by: Pavel Gross <p.gross@yadro.com>
2025-02-12 17:27:30 +03:00

22 lines
No EOL
739 B
C#

using System;
using System.Linq;
namespace FrostFS.SDK.Client.Mappers.GRPC;
public static class StatusMapper
{
public static FrostFsResponseStatus ToModel(this Status.Status status)
{
if (status is null)
return new FrostFsResponseStatus(FrostFsStatusCode.Success);
var codeName = Enum.GetName(typeof(FrostFsStatusCode), status.Code);
return codeName is null
? throw new ArgumentException($"Unknown StatusCode. Value: '{status.Code}'.")
: new FrostFsResponseStatus(
(FrostFsStatusCode)status.Code,
status.Message,
string.Join(", ", status.Details.Select(d => System.Text.Encoding.UTF8.GetString([.. d.Value]))));
}
}