async def fetch_open_proposals(request, user_id): head_block = await utils.get_request_block(request) start, limit = utils.get_request_paging_info(request) proposals = await proposals_query.fetch_all_proposal_resources( request.app.config.DB_CONN, head_block.get('num'), start, limit ) proposal_resources = [] for proposal in proposals: proposal_resource = await compile_proposal_resource( request.app.config.DB_CONN, proposal, head_block.get('num') ) proposal_resources.append(proposal_resource) open_proposals = [] for proposal_resource in proposal_resources: if proposal_resource['status'] == "OPEN" and \ user_id in proposal_resource['approvers']: open_proposals.append(proposal_resource) return await utils.create_response( request.app.config.DB_CONN, request.url, open_proposals, head_block, start=start, limit=limit )
async def fetch_all_users(request): head_block = await utils.get_request_block(request) start, limit = utils.get_request_paging_info(request) user_resources = await users_query.fetch_all_user_resources( request.app.config.DB_CONN, head_block.get('num'), start, limit) return await utils.create_response(request.app.config.DB_CONN, request.url, user_resources, head_block, start=start, limit=limit)
async def get_all_proposals(request): head_block = await utils.get_request_block(request) start, limit = utils.get_request_paging_info(request) proposals = await proposals_query.fetch_all_proposal_resources( request.app.config.DB_CONN, head_block.get('num'), start, limit) proposal_resources = [] for proposal in proposals: proposal_resource = await compile_proposal_resource( request.app.config.DB_CONN, proposal, head_block.get('num')) proposal_resources.append(proposal_resource) return await utils.create_response(request.app.config.DB_CONN, request.url, proposal_resources, head_block, start=start, limit=limit)