[#1] Move files to top level directory
Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
This commit is contained in:
parent
013d8a8436
commit
11eff4e23e
76 changed files with 0 additions and 0 deletions
74
src/FrostFS.SDK.Service/Service.cs
Normal file
74
src/FrostFS.SDK.Service/Service.cs
Normal file
|
@ -0,0 +1,74 @@
|
|||
using FrostFS.SDK.ClientV2;
|
||||
using FrostFS.SDK.ClientV2.Mappers.GRPC;
|
||||
using FrostFS.SDK.ModelsV2;
|
||||
|
||||
namespace FrostFS.SDK.Service;
|
||||
|
||||
// TODO: Проверять ответы Grpc
|
||||
public class FrostFsService
|
||||
{
|
||||
private readonly IFrostFSClient _client;
|
||||
|
||||
public FrostFsService(IFrostFSClient client)
|
||||
{
|
||||
_client = client;
|
||||
}
|
||||
|
||||
public async Task<ContainerId[]> ListContainersAsync()
|
||||
{
|
||||
var containersIds = new List<ContainerId>();
|
||||
var listContainersResponse = await _client.ListContainersAsync();
|
||||
foreach (var cid in listContainersResponse.Body.ContainerIds)
|
||||
{
|
||||
containersIds.Add(ContainerId.FromHash(cid.Value.ToByteArray()));
|
||||
}
|
||||
|
||||
return containersIds.ToArray();
|
||||
}
|
||||
|
||||
public async Task<ContainerId> CreateContainerAsync(ModelsV2.Container container)
|
||||
{
|
||||
var createContainerResponse = await _client.CreateContainerAsync(container.ToGrpcMessage());
|
||||
return ContainerId.FromHash(createContainerResponse.Body.ContainerId.Value.ToByteArray());
|
||||
}
|
||||
|
||||
public async Task<ModelsV2.Container> GetContainerAsync(ContainerId containerId)
|
||||
{
|
||||
var getContainerResponse = await _client.GetContainerAsync(containerId.ToGrpcMessage());
|
||||
return getContainerResponse.Body.Container.ToModel();
|
||||
}
|
||||
|
||||
public async Task DeleteContainerAsync(ContainerId containerId)
|
||||
{
|
||||
var deleteContainerResponse = await _client.DeleteContainerAsync(containerId.ToGrpcMessage());
|
||||
}
|
||||
|
||||
public async Task<ObjectHead> GetObjectHeadAsync(ContainerId containerId, ObjectId objectId)
|
||||
{
|
||||
var getObjectHeadResponse = await _client.GetObjectHeadAsync(
|
||||
containerId.ToGrpcMessage(),
|
||||
objectId.ToGrpcMessage()
|
||||
);
|
||||
return getObjectHeadResponse.Body.Header.Header.ToModel();
|
||||
}
|
||||
|
||||
public async Task<ObjectId> PutObjectAsync(ContainerId containerId, Stream data)
|
||||
{
|
||||
var putObjectResponse = await _client.PutObjectAsync(containerId.ToGrpcMessage(), data);
|
||||
return ObjectId.FromHash(putObjectResponse.Body.ObjectId.Value.ToByteArray());
|
||||
}
|
||||
|
||||
public async Task<ObjectId> PutObjectAsync(ContainerId containerId, byte[] data)
|
||||
{
|
||||
var putObjectResponse = await _client.PutObjectAsync(containerId.ToGrpcMessage(), new MemoryStream(data));
|
||||
return ObjectId.FromHash(putObjectResponse.Body.ObjectId.Value.ToByteArray());
|
||||
}
|
||||
|
||||
public async Task DeleteObjectAsync(ContainerId containerId, ObjectId objectId)
|
||||
{
|
||||
var deleteObjectResponse = await _client.DeleteObjectAsync(
|
||||
containerId.ToGrpcMessage(),
|
||||
objectId.ToGrpcMessage()
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue