From da92f2944f29bb7e5b71daecf4eeedd19a332583 Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Wed, 2 Sep 2020 19:25:46 +0300 Subject: [PATCH] [#7] Fix container service according to APIv2 contracts Signed-off-by: Alex Vanin --- pkg/morph/client/container/delete.go | 9 --------- pkg/morph/client/container/put.go | 12 ++++++------ pkg/services/container/morph/executor.go | 24 +++--------------------- pkg/services/container/sign.go | 4 ++-- 4 files changed, 11 insertions(+), 38 deletions(-) diff --git a/pkg/morph/client/container/delete.go b/pkg/morph/client/container/delete.go index 76bdce3ef1..edbc82b3af 100644 --- a/pkg/morph/client/container/delete.go +++ b/pkg/morph/client/container/delete.go @@ -7,17 +7,9 @@ import "github.com/pkg/errors" type DeleteArgs struct { cid []byte // container identifier - ownerID []byte // container owner identifier - sig []byte // container identifier signature } -// SetOwnerID sets the container owner identifier -// in a binary format. -func (p *DeleteArgs) SetOwnerID(v []byte) { - p.ownerID = v -} - // SetCID sets the container identifier // in a binary format. func (p *DeleteArgs) SetCID(v []byte) { @@ -36,7 +28,6 @@ func (c *Client) Delete(args DeleteArgs) error { return errors.Wrapf(c.client.Invoke( c.deleteMethod, args.cid, - args.ownerID, args.sig, ), "could not invoke method (%s)", c.deleteMethod) } diff --git a/pkg/morph/client/container/put.go b/pkg/morph/client/container/put.go index 45f9b5fb77..6f59ea3b2f 100644 --- a/pkg/morph/client/container/put.go +++ b/pkg/morph/client/container/put.go @@ -7,17 +7,17 @@ import ( // PutArgs groups the arguments // of put container invocation call. type PutArgs struct { - ownerID []byte // container owner identifier - cnr []byte // container in a binary format sig []byte // binary container signature + + publicKey []byte // public key of container owner } -// SetOwnerID sets the container owner identifier +// SetPublicKey sets the public key of container owner // in a binary format. -func (p *PutArgs) SetOwnerID(v []byte) { - p.ownerID = v +func (p *PutArgs) SetPublicKey(v []byte) { + p.publicKey = v } // SetContainer sets the container structure @@ -37,8 +37,8 @@ func (p *PutArgs) SetSignature(v []byte) { func (c *Client) Put(args PutArgs) error { return errors.Wrapf(c.client.Invoke( c.putMethod, - args.ownerID, args.cnr, args.sig, + args.publicKey, ), "could not invoke method (%s)", c.putMethod) } diff --git a/pkg/services/container/morph/executor.go b/pkg/services/container/morph/executor.go index 26dc8458ea..707a226ae6 100644 --- a/pkg/services/container/morph/executor.go +++ b/pkg/services/container/morph/executor.go @@ -28,12 +28,6 @@ func NewExecutor(client *containerMorph.Client) containerSvc.ServiceExecutor { func (s *morphExecutor) Put(ctx context.Context, body *container.PutRequestBody) (*container.PutResponseBody, error) { cnr := body.GetContainer() - // marshal owner ID of the container - ownerBytes, err := cnr.GetOwnerID().StableMarshal(nil) - if err != nil { - return nil, errors.Wrap(err, "could not marshal owner ID") - } - // marshal the container cnrBytes, err := cnr.StableMarshal(nil) if err != nil { @@ -41,9 +35,9 @@ func (s *morphExecutor) Put(ctx context.Context, body *container.PutRequestBody) } args := containerMorph.PutArgs{} - args.SetOwnerID(ownerBytes) args.SetContainer(cnrBytes) args.SetSignature(body.GetSignature().GetSign()) + args.SetPublicKey(body.GetSignature().GetKey()) if err := s.client.Put(args); err != nil { return nil, errors.Wrap(err, "could not call Put method") @@ -61,14 +55,8 @@ func (s *morphExecutor) Put(ctx context.Context, body *container.PutRequestBody) } func (s *morphExecutor) Delete(ctx context.Context, body *container.DeleteRequestBody) (*container.DeleteResponseBody, error) { - // marshal container identifier - cidBytes, err := body.GetContainerID().StableMarshal(nil) - if err != nil { - return nil, errors.Wrap(err, "could not marshal container ID") - } - args := containerMorph.DeleteArgs{} - args.SetCID(cidBytes) + args.SetCID(body.GetContainerID().GetValue()) args.SetSignature(body.GetSignature().GetSign()) if err := s.client.Delete(args); err != nil { @@ -100,14 +88,8 @@ func (s *morphExecutor) Get(ctx context.Context, body *container.GetRequestBody) } func (s *morphExecutor) List(ctx context.Context, body *container.ListRequestBody) (*container.ListResponseBody, error) { - // marshal owner ID - ownerBytes, err := body.GetOwnerID().StableMarshal(nil) - if err != nil { - return nil, errors.Wrap(err, "could not marshal owner ID") - } - args := containerMorph.ListArgs{} - args.SetOwnerID(ownerBytes) + args.SetOwnerID(body.GetOwnerID().GetValue()) val, err := s.client.List(args) if err != nil { diff --git a/pkg/services/container/sign.go b/pkg/services/container/sign.go index e6b5177b4e..6890de925a 100644 --- a/pkg/services/container/sign.go +++ b/pkg/services/container/sign.go @@ -37,7 +37,7 @@ func (s *signService) Put(ctx context.Context, req *container.PutRequest) (*cont func (s *signService) Delete(ctx context.Context, req *container.DeleteRequest) (*container.DeleteResponse, error) { resp, err := s.sigSvc.HandleUnaryRequest(ctx, req, func(ctx context.Context, req interface{}) (interface{}, error) { - return s.svc.Get(ctx, req.(*container.GetRequest)) + return s.svc.Delete(ctx, req.(*container.DeleteRequest)) }, ) if err != nil { @@ -50,7 +50,7 @@ func (s *signService) Delete(ctx context.Context, req *container.DeleteRequest) func (s *signService) Get(ctx context.Context, req *container.GetRequest) (*container.GetResponse, error) { resp, err := s.sigSvc.HandleUnaryRequest(ctx, req, func(ctx context.Context, req interface{}) (interface{}, error) { - return s.svc.Delete(ctx, req.(*container.DeleteRequest)) + return s.svc.Get(ctx, req.(*container.GetRequest)) }, ) if err != nil {