def decorator()

in atr/routes/__init__.py [0:0]


    def decorator(func: CommitterRouteHandler[R]) -> RouteHandler[R]:
        async def wrapper(*args: Any, **kwargs: Any) -> R:
            web_session = await session.read()
            if web_session is None:
                _authentication_failed()

            enhanced_session = CommitterSession(web_session)
            return await func(enhanced_session, *args, **kwargs)

        # Generate a unique endpoint name
        endpoint = func.__module__ + "_" + func.__name__

        # Set the name before applying decorators
        wrapper.__name__ = func.__name__
        wrapper.__doc__ = func.__doc__
        wrapper.__annotations__["endpoint"] = endpoint

        # Apply decorators in reverse order
        decorated = auth.require(auth.Requirements.committer)(wrapper)
        decorated = app_route(
            path, methods=methods or ["GET"], endpoint=endpoint, measure_performance=measure_performance
        )(decorated)

        return decorated