mirror of
https://github.com/hanzo-fi/payments.git
synced 2026-10-30 20:31:20 +00:00
35 lines
967 B
Go
35 lines
967 B
Go
package registry
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/formancehq/payments/internal/connectors/httpwrapper"
|
|
"github.com/formancehq/payments/internal/connectors/plugins"
|
|
"github.com/formancehq/payments/internal/models"
|
|
errorsutils "github.com/formancehq/payments/internal/utils/errors"
|
|
)
|
|
|
|
func translateError(err error) error {
|
|
switch {
|
|
case errors.Is(err, plugins.ErrNotImplemented):
|
|
return err
|
|
case errors.Is(err, models.ErrMissingFromPayloadInRequest),
|
|
errors.Is(err, models.ErrMissingAccountInRequest),
|
|
errors.Is(err, models.ErrInvalidRequest),
|
|
errors.Is(err, plugins.ErrCurrencyNotSupported),
|
|
errors.Is(err, httpwrapper.ErrStatusCodeClientError),
|
|
errors.Is(err, models.ErrInvalidConfig):
|
|
return errorsutils.NewWrappedError(
|
|
err,
|
|
plugins.ErrInvalidClientRequest,
|
|
)
|
|
case errors.Is(err, httpwrapper.ErrStatusCodeTooManyRequests):
|
|
return errorsutils.NewWrappedError(
|
|
err,
|
|
plugins.ErrUpstreamRatelimit,
|
|
)
|
|
default:
|
|
return err
|
|
}
|
|
}
|