package ape

import (
	"errors"

	checkercore "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/common/ape"
	apistatus "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client/status"
)

func toStatusErr(err error) error {
	var chRouterErr *checkercore.ChainRouterError
	if !errors.As(err, &chRouterErr) {
		errServerInternal := &apistatus.ServerInternal{}
		apistatus.WriteInternalServerErr(errServerInternal, err)
		return errServerInternal
	}
	errAccessDenied := &apistatus.ObjectAccessDenied{}
	errAccessDenied.WriteReason("ape denied request: " + err.Error())
	return errAccessDenied
}