package casbin

import (
	"fmt"

	"github.com/tech/sendico/pkg/merrors"
	"github.com/tech/sendico/pkg/model"
)

func stringToAction(actionStr string) (model.Action, error) {
	switch actionStr {
	case string(model.ActionCreate):
		return model.ActionCreate, nil
	case string(model.ActionRead):
		return model.ActionRead, nil
	case string(model.ActionUpdate):
		return model.ActionUpdate, nil
	case string(model.ActionDelete):
		return model.ActionDelete, nil
	default:
		return "", merrors.InvalidArgument(fmt.Sprintf("invalid action: %s", actionStr))
	}
}
