async def METHOD_NAME(request: web.Request):
    req_ctx = RequestContext.parse_obj(request)
    path_params = parse_request_path_parameters_as(_ProjectCommentsPathParams, request)
    query_params = parse_request_query_parameters_as(
        _ListProjectCommentsQueryParams, request
    )
    # ensure the project exists
    await projects_api.get_project_for_user(
        request.app,
        project_uuid=f"{path_params.project_uuid}",
        user_id=req_ctx.user_id,
        include_state=False,
    )
    total_project_comments = await _comments_api.total_project_comments(
        request=request,
        project_uuid=path_params.project_uuid,
    )
    project_comments = await _comments_api.METHOD_NAME(
        request=request,
        project_uuid=path_params.project_uuid,
        offset=query_params.offset,
        limit=query_params.limit,
    )
    page = Page[dict[str, Any]].parse_obj(
        paginate_data(
            chunk=project_comments,
            request_url=request.url,
            total=total_project_comments,
            limit=query_params.limit,
            offset=query_params.offset,
        )
    )
    return web.Response(
        text=page.json(**RESPONSE_MODEL_POLICY),
        content_type=MIMETYPE_APPLICATION_JSON,
    )