diff --git a/pkg/services/container/executor.go b/pkg/services/container/executor.go index 0c73cc75b..cb25d9695 100644 --- a/pkg/services/container/executor.go +++ b/pkg/services/container/executor.go @@ -17,7 +17,7 @@ type ContextWithToken struct { type ServiceExecutor interface { Put(ContextWithToken, *container.PutRequestBody) (*container.PutResponseBody, error) - Delete(context.Context, *container.DeleteRequestBody) (*container.DeleteResponseBody, error) + Delete(ContextWithToken, *container.DeleteRequestBody) (*container.DeleteResponseBody, error) Get(context.Context, *container.GetRequestBody) (*container.GetResponseBody, error) List(context.Context, *container.ListRequestBody) (*container.ListResponseBody, error) SetExtendedACL(ContextWithToken, *container.SetExtendedACLRequestBody) (*container.SetExtendedACLResponseBody, error) @@ -65,7 +65,7 @@ func (s *executorSvc) Put(ctx context.Context, req *container.PutRequest) (*cont } func (s *executorSvc) Delete(ctx context.Context, req *container.DeleteRequest) (*container.DeleteResponse, error) { - respBody, err := s.exec.Delete(ctx, req.GetBody()) + respBody, err := s.exec.Delete(contextWithTokenFromRequest(ctx, req), req.GetBody()) if err != nil { return nil, fmt.Errorf("could not execute Delete request: %w", err) } diff --git a/pkg/services/container/morph/executor.go b/pkg/services/container/morph/executor.go index d51519b7e..a85b9c2af 100644 --- a/pkg/services/container/morph/executor.go +++ b/pkg/services/container/morph/executor.go @@ -51,14 +51,16 @@ func (s *morphExecutor) Put(ctx containerSvc.ContextWithToken, body *container.P return res, nil } -func (s *morphExecutor) Delete(ctx context.Context, body *container.DeleteRequestBody) (*container.DeleteResponseBody, error) { +func (s *morphExecutor) Delete(ctx containerSvc.ContextWithToken, body *container.DeleteRequestBody) (*container.DeleteResponseBody, error) { cid := containerSDK.NewIDFromV2(body.GetContainerID()) sig := body.GetSignature().GetSign() + tok := session.NewTokenFromV2(ctx.SessionToken) var rmWitness containercore.RemovalWitness rmWitness.SetContainerID(cid) rmWitness.SetSignature(sig) + rmWitness.SetSessionToken(tok) err := wrapper.Delete(s.wrapper, rmWitness) if err != nil {