Newer
Older

François Ferry
committed
from pyramid.config import Configurator

François Ferry
committed
from cubicweb_api import ApiAuthenticationError

François Ferry
committed
class AnonymousOrConnectedUserPredicate:
def __init__(self, value, config):
self.value = value
def text(self):
return f"anonymous_or_connected = {self.value}"
phash = text
def __call__(self, context, request):
if (
request.authenticated_userid is not None
or request.registry["cubicweb.repository"].config["anonymous-user"]
is not None
):
return True

François Ferry
committed
raise ApiAuthenticationError

François Ferry
committed
def includeme(config: Configurator):
config.add_view_predicate(
"anonymous_or_connected", AnonymousOrConnectedUserPredicate
)