[#1] Add object mappers
Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
This commit is contained in:
parent
0d83541d82
commit
6b8f8cbd4c
7 changed files with 76 additions and 46 deletions
|
@ -4,15 +4,35 @@ using FrostFS.SDK.ModelsV2;
|
|||
namespace FrostFS.SDK.ClientV2.Mappers.GRPC;
|
||||
|
||||
public static class ObjectHeadMapper
|
||||
{
|
||||
public static ObjectHead ToModel(this Header head)
|
||||
{
|
||||
public static Header ToGrpcMessage(this ObjectHeader header)
|
||||
{
|
||||
// var obtype = Enum.Parse<ObjectType>(head.ObjectType.ToString());
|
||||
return new ObjectHead
|
||||
var objTypeName = Enum.GetName(typeof(ObjectType), header.ObjectType);
|
||||
if (objTypeName is null)
|
||||
{
|
||||
ContainerId = ContainerId.FromHash(head.ContainerId.Value.ToByteArray()),
|
||||
Size = (long)head.PayloadLength,
|
||||
Version = head.Version.ToModel()
|
||||
throw new ArgumentException($"Unknown ObjectType. Value: '{header.ObjectType}'.");
|
||||
}
|
||||
return new Header
|
||||
{
|
||||
ContainerId = header.ContainerId.ToGrpcMessage(),
|
||||
ObjectType = Enum.Parse<ObjectType>(objTypeName)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public static ObjectHeader ToModel(this Header header)
|
||||
{
|
||||
var objTypeName = Enum.GetName(typeof(ModelsV2.Enums.ObjectType), header.ObjectType);
|
||||
if (objTypeName is null)
|
||||
{
|
||||
throw new ArgumentException($"Unknown ObjectType. Value: '{header.ObjectType}'.");
|
||||
}
|
||||
return new ObjectHeader(
|
||||
ContainerId.FromHash(header.ContainerId.Value.ToByteArray()),
|
||||
Enum.Parse<ModelsV2.Enums.ObjectType>(objTypeName)
|
||||
)
|
||||
{
|
||||
Size = (long)header.PayloadLength,
|
||||
Version = header.Version.ToModel()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue