package grpcutil

import (
	"fmt"

	"kpt-tmr-group/pkg/xerr"

	"google.golang.org/grpc/codes"
	"google.golang.org/grpc/status"
)

func ClassifyError(err error, request interface{}) error {
	if err == nil {
		return nil
	}
	_, isCus := xerr.IsCustomError(err)
	if isCus {
		return status.Error(codes.InvalidArgument, xerr.WrapWithLog(fmt.Errorf("err: %v, request: %+v", err, request)).Error())
	} else {
		return status.Error(codes.Internal, xerr.WrapWithLog(fmt.Errorf("err: %v, request: %+v", err, request)).Error())
	}
}