frostfs-sdk-csharp/src/FrostFS.SDK.ClientV2/Mappers/Container.cs
Pavel Gross 6562aa27a5
All checks were successful
DCO / DCO (pull_request) Successful in 33s
[#23] Client: Refactoring to optimize memory usage
Signed-off-by: Pavel Gross <p.gross@yando.com>
2024-09-11 10:58:00 +03:00

24 lines
793 B
C#

using System;
using System.Linq;
using FrostFS.SDK.Cryptography;
namespace FrostFS.SDK.ClientV2.Mappers.GRPC;
public static class ContainerMapper
{
public static FrostFsContainerInfo ToModel(this Container.Container container)
{
if (!Enum.IsDefined(typeof(BasicAcl),(int)container.BasicAcl))
throw new ArgumentException($"Unknown BasicACL rule. Value: '{container.BasicAcl}'.");
BasicAcl acl = (BasicAcl)container.BasicAcl;
return new FrostFsContainerInfo(acl,
container.PlacementPolicy.ToModel(),
container.Attributes?.Select(a => new FrostFsAttribute(a.Key, a.Value)).ToList(),
container.Version?.ToModel(),
container.OwnerId?.ToModel(),
container.Nonce?.ToUuid());
}
}