func RelationName(name string) error {
	matched := RelationNameRegex.MatchString(name)
	if !matched {
		return ErrInvalidRelationName
	}
	return nil
}
RelationName validates that the string provided is a valid relation name.
package validation
import (
	"errors"
	"fmt"
	"regexp"
)
const identifier = "[a-z][a-z0-9_]{2,62}[a-z0-9]"
var (
	ObjectNameRegex = regexp.MustCompile("^[a-zA-Z0-9/_-]{2,64}$")
	RelationNameRegex = regexp.MustCompile(fmt.Sprintf(`^(\.\.\.|%s)$`, identifier))
	NamespaceRegex = regexp.MustCompile(fmt.Sprintf("^(%s/)?%s$", identifier, identifier))
	NamespaceWithTenantRegex = regexp.MustCompile(fmt.Sprintf("^(%s)/(%s)$", identifier, identifier))
	ErrInvalidObjectName    = errors.New("invalid object name")
	ErrInvalidRelationName  = errors.New("invalid relation name")
	ErrInvalidNamespaceName = errors.New("invalid namespace name")
)
func ObjectName(name string) error {
	matched := ObjectNameRegex.MatchString(name)
	if !matched {
		return ErrInvalidObjectName
	}
	return nil
}