68 lines
No EOL
1.9 KiB
C#
68 lines
No EOL
1.9 KiB
C#
using FrostFS.Container;
|
|
using FrostFS.Refs;
|
|
using FrostFS.SDK.ClientV2.Mappers.GRPC;
|
|
|
|
namespace FrostFS.SDK.ClientV2;
|
|
|
|
public partial class Client
|
|
{
|
|
public async Task<GetResponse> GetContainerAsync(ContainerID cid)
|
|
{
|
|
var request = new GetRequest
|
|
{
|
|
Body = new GetRequest.Types.Body
|
|
{
|
|
ContainerId = cid
|
|
},
|
|
};
|
|
request.AddMetaHeader();
|
|
request.Sign(_key);
|
|
return await _containerServiceClient.GetAsync(request);
|
|
}
|
|
|
|
public async Task<ListResponse> ListContainersAsync()
|
|
{
|
|
var request = new ListRequest
|
|
{
|
|
Body = new ListRequest.Types.Body
|
|
{
|
|
OwnerId = _owner.ToGrpcMessage()
|
|
}
|
|
};
|
|
request.AddMetaHeader();
|
|
request.Sign(_key);
|
|
return await _containerServiceClient.ListAsync(request);
|
|
}
|
|
|
|
public async Task<PutResponse> CreateContainerAsync(Container.Container container)
|
|
{
|
|
container.OwnerId = _owner.ToGrpcMessage();
|
|
container.Version = Version.ToGrpcMessage();
|
|
var request = new PutRequest
|
|
{
|
|
Body = new PutRequest.Types.Body
|
|
{
|
|
Container = container,
|
|
Signature = _key.SignRFC6979(container),
|
|
}
|
|
};
|
|
request.AddMetaHeader();
|
|
request.Sign(_key);
|
|
return await _containerServiceClient.PutAsync(request);
|
|
}
|
|
|
|
public async Task<DeleteResponse> DeleteContainerAsync(ContainerID cid)
|
|
{
|
|
var request = new DeleteRequest
|
|
{
|
|
Body = new DeleteRequest.Types.Body
|
|
{
|
|
ContainerId = cid,
|
|
Signature = _key.SignRFC6979(cid.Value)
|
|
}
|
|
};
|
|
request.AddMetaHeader();
|
|
request.Sign(_key);
|
|
return await _containerServiceClient.DeleteAsync(request);
|
|
}
|
|
} |