[#1] Remove unnecessary layer

Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
This commit is contained in:
Ivan Pchelintsev 2024-05-16 18:23:40 +03:00
parent b307c2c899
commit 6f24f567c1
11 changed files with 103 additions and 158 deletions

View file

@ -11,7 +11,7 @@ namespace FrostFS.SDK.ClientV2;
public partial class Client
{
public async Task<HeadResponse> GetObjectHeadAsync(ContainerID cid, ObjectID oid)
public async Task<ObjectHeader> GetObjectHeadAsync(ContainerId cid, ObjectId oid)
{
var request = new HeadRequest
{
@ -19,17 +19,18 @@ public partial class Client
{
Address = new Address
{
ContainerId = cid,
ObjectId = oid
ContainerId = cid.ToGrpcMessage(),
ObjectId = oid.ToGrpcMessage()
}
},
};
request.AddMetaHeader();
request.Sign(_key);
return await _objectServiceClient.HeadAsync(request);
var response = await _objectServiceClient.HeadAsync(request);
return response.Body.Header.Header.ToModel();
}
public async Task<Object.Object> GetObjectAsync(ContainerID cid, ObjectID oid)
public async Task<ModelsV2.Object> GetObjectAsync(ContainerId cid, ObjectId oid)
{
var sessionToken = await CreateSessionAsync(uint.MaxValue);
var request = new GetRequest
@ -39,22 +40,23 @@ public partial class Client
Raw = false,
Address = new Address
{
ContainerId = cid,
ObjectId = oid
ContainerId = cid.ToGrpcMessage(),
ObjectId = oid.ToGrpcMessage()
},
}
};
request.AddMetaHeader();
request.AddObjectSessionToken(
sessionToken,
cid,
oid,
cid.ToGrpcMessage(),
oid.ToGrpcMessage(),
ObjectSessionContext.Types.Verb.Get,
_key
);
request.Sign(_key);
return await GetObject(request);
var response = await GetObject(request);
return response.ToModel();
}
private async Task<Object.Object> GetObject(GetRequest request)
@ -87,14 +89,15 @@ public partial class Client
};
}
public async Task<PutResponse> PutObjectAsync(Header header, Stream payload)
public async Task<ObjectId> PutObjectAsync(ObjectHeader header, Stream payload)
{
var sessionToken = await CreateSessionAsync(uint.MaxValue);
header.OwnerId = _owner.ToGrpcMessage();
header.Version = Version.ToGrpcMessage();
var hdr = header.ToGrpcMessage();
hdr.OwnerId = _owner.ToGrpcMessage();
hdr.Version = Version.ToGrpcMessage();
var oid = new ObjectID
{
Value = header.Sha256()
Value = hdr.Sha256()
};
var request = new PutRequest
{
@ -102,14 +105,14 @@ public partial class Client
{
Init = new PutRequest.Types.Body.Types.Init
{
Header = header
Header = hdr
},
}
};
request.AddMetaHeader();
request.AddObjectSessionToken(
sessionToken,
header.ContainerId,
hdr.ContainerId,
oid,
ObjectSessionContext.Types.Verb.Put,
_key
@ -131,7 +134,8 @@ public partial class Client
bufferLength = payload.Read(buffer, 0, Constants.ObjectChunkSize);
}
return await stream.Close();
var response = await stream.Close();
return ObjectId.FromHash(response.Body.ObjectId.Value.ToByteArray());
}
private async Task<ObjectStreamer> PutObjectInit(PutRequest initRequest)
@ -146,7 +150,7 @@ public partial class Client
return new ObjectStreamer { Call = call };
}
public async Task<DeleteResponse> DeleteObjectAsync(ContainerID cid, ObjectID oid)
public async Task DeleteObjectAsync(ContainerId cid, ObjectId oid)
{
var request = new DeleteRequest
{
@ -154,14 +158,14 @@ public partial class Client
{
Address = new Address
{
ContainerId = cid,
ObjectId = oid
ContainerId = cid.ToGrpcMessage(),
ObjectId = oid.ToGrpcMessage()
}
}
};
request.AddMetaHeader();
request.Sign(_key);
return await _objectServiceClient.DeleteAsync(request);
await _objectServiceClient.DeleteAsync(request);
}
}