Example #1
0
def auth_logout():

    token = request.forms.get('token')

    if not UserSession.token_exists(token):
        error_message.append('A sessao nao existe')
        return jresp.reply(
                payload=None,
                success=False,
                error_message=error_message
            )
    else:
        UserSession.delete_session(token)
Example #2
0
def auth_login():

    error_message = []

    user_name = request.forms.get('user_name')
    input_password = request.forms.get('password')

    u = User.get_by_name(user_name)
    # O utilizador nao existe?
    if u is None:
        error_message.append('O utilizador nao existe')
        return jresp.reply(
                payload=None,
                success=False,
                error_message=error_message
            )
    else:
        db_password = u['password']

        # Validar palavra-passe
        if not auth.password_matches(input_password, db_password):
            error_message.append('A password esta incorrecta')
            return jresp.reply(
                    payload=None,
                    success=False,
                    error_message=error_message
                )

        # User existe e password esta correcta:
        # criar e gravar token de sessao
        # enviar mensagem com o token de sessao

        new_session_token = auth.generate_session_token()

        new_session = UserSession(
                user_id=u['id'],
                token=new_session_token
            )
        new_session.save() 


        # Tudo correu bem:
        payload = {
                'token': new_session_token
                }
        return jresp.reply(
                payload=payload,
                error_message=None,
                success=True
            )
Example #3
0
def check_token():
    token = request.forms.get('token')

    if UserSession.token_exists(token):

        user_id = UserSession.get_user_id_by_token(token)
        user = User.get_by_id(user_id)

        payload = {
                'message': 'A sessao encontra-se activa.',
                'user': {
                    'name': user.name,
                }
                }
        return jresp.reply(
                payload=payload,
                )
    else:
        error_message = [['A sessao nao esta activa']]
        return jresp.reply(
                payload=None,
                success=False,
                error_message=error_message
            )
Example #4
0
def user_playlist():

    token = request.forms.get('token')
    user_id = UserSession.get_user_id_by_token(token)
    playlists = Playlist.get_all_by_user_id(user_id)

    payload = {'playlists': []}
    # return str(playlists)

    for playlist in playlists:
        p = {'id': playlist.id, 'name': playlist.name}
        payload['playlists'].append(p)
    return jresp.reply(
            payload=payload,
            error_message=None,
            success=True
        )