[#898] control: Fix codes for returning APE errors

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
This commit is contained in:
Airat Arifullin 2024-01-11 11:51:29 +03:00 committed by Evgenii Stratonikov
parent 5d982976fd
commit a8e52ef7aa
2 changed files with 32 additions and 16 deletions

View file

@ -128,12 +128,18 @@ func (s *Server) RemoveChainLocalOverride(_ context.Context, req *control.Remove
return nil, err
}
removed := true
if err = s.localOverrideStorage.LocalStorage().RemoveOverride(apechain.Ingress, target, apechain.ID(req.GetBody().GetChainId())); err != nil {
return nil, status.Error(getCodeByLocalStorageErr(err), err.Error())
code := getCodeByLocalStorageErr(err)
if code == codes.NotFound {
removed = false
} else {
return nil, status.Error(code, err.Error())
}
}
resp := &control.RemoveChainLocalOverrideResponse{
Body: &control.RemoveChainLocalOverrideResponse_Body{
Removed: true,
Removed: removed,
},
}
err = SignMessage(s.key, resp)
@ -144,7 +150,7 @@ func (s *Server) RemoveChainLocalOverride(_ context.Context, req *control.Remove
}
func getCodeByLocalStorageErr(err error) codes.Code {
if errors.Is(err, engine.ErrChainNotFound) {
if errors.Is(err, engine.ErrChainNotFound) || errors.Is(err, engine.ErrChainNameNotFound) {
return codes.NotFound
}
return codes.Internal