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])))); } }