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