Example #1
0
def addrival() -> Dict[str, Any]:
    frontend = JubeatFrontend(g.data, g.config, g.cache)
    version = int(request.get_json()['version'])
    other_userid = UserID(int(request.get_json()['userid']))
    userid = g.userID

    # Add this rival link
    profile = g.data.remote.user.get_profile(GameConstants.JUBEAT, version, other_userid)
    if profile is None:
        raise Exception('Unable to find profile for rival!')

    g.data.local.user.put_link(
        GameConstants.JUBEAT,
        version,
        userid,
        'rival',
        other_userid,
        {},
    )

    # Now return updated rival info
    rivals, playerinfo = frontend.get_rivals(userid)

    return {
        'rivals': rivals,
        'players': playerinfo,
    }
Example #2
0
def listrivals() -> Dict[str, Any]:
    frontend = JubeatFrontend(g.data, g.config, g.cache)
    rivals, playerinfo = frontend.get_rivals(g.userID)

    return {
        'rivals': rivals,
        'players': playerinfo,
    }
Example #3
0
def viewrivals() -> Response:
    frontend = JubeatFrontend(g.data, g.config, g.cache)
    rivals, playerinfo = frontend.get_rivals(g.userID)
    return render_react(
        'Jubeat Rivals',
        'jubeat/rivals.react.js',
        {
            'userid': str(g.userID),
            'rivals': rivals,
            'players': playerinfo,
            'versions': {version: name for (game, version, name) in frontend.all_games()},
        },
        {
            'refresh': url_for('jubeat_pages.listrivals'),
            'search': url_for('jubeat_pages.searchrivals'),
            'player': url_for('jubeat_pages.viewplayer', userid=-1),
            'addrival': url_for('jubeat_pages.addrival'),
            'removerival': url_for('jubeat_pages.removerival'),
        },
    )
Example #4
0
def removerival() -> Dict[str, Any]:
    frontend = JubeatFrontend(g.data, g.config, g.cache)
    version = int(request.get_json()['version'])
    other_userid = UserID(int(request.get_json()['userid']))
    userid = g.userID

    # Remove this rival link
    g.data.local.user.destroy_link(
        GameConstants.JUBEAT,
        version,
        userid,
        'rival',
        other_userid,
    )

    # Now return updated rival info
    rivals, playerinfo = frontend.get_rivals(userid)

    return {
        'rivals': rivals,
        'players': playerinfo,
    }