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) print(u) # O utilizador nao existe? # if u is None or auth.password_matches(input_password, u['password']): if u is None: error_message.append('Credenciais incorrectas') if user_name == '': error_message.append('O nome de utilizador esta vazio') if input_password == '': error_message.append('O campo password esta vazio') if len(error_message) > 0: 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('Credenciais incorrectas') 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 )
def singlePlaylist(id): payload = [ {'name': 'Musica 1', 'artist': 'Artista 1'}, {'name': 'Musica 2', 'artist': 'Artista 2'}, {'name': 'Musica 3', 'artist': 'Artista 3'}, {'name': 'Musica 4', 'artist': 'Artista 4'}, {'name': 'Musica 5', 'artist': 'Artista 5'}, {'name': 'Musica 6', 'artist': 'Artista 6'}, {'name': 'Musica 7', 'artist': 'Artista 7'}, {'name': 'Musica 8', 'artist': 'Artista 8'}, {'name': 'Musica 9', 'artist': 'Artista 9'}, {'name': 'Musica 1', 'artist': 'Artista 1'}, {'name': 'Musica 2', 'artist': 'Artista 2'}, {'name': 'Musica 3', 'artist': 'Artista 3'}, {'name': 'Musica 4', 'artist': 'Artista 4'}, {'name': 'Musica 5', 'artist': 'Artista 5'}, {'name': 'Musica 6', 'artist': 'Artista 6'}, {'name': 'Musica 7', 'artist': 'Artista 7'}, {'name': 'Musica 8', 'artist': 'Artista 8'}, {'name': 'Musica 9', 'artist': 'Artista 9'}, {'name': 'Musica 1', 'artist': 'Artista 1'}, {'name': 'Musica 2', 'artist': 'Artista 2'}, {'name': 'Musica 3', 'artist': 'Artista 3'}, {'name': 'Musica 4', 'artist': 'Artista 4'}, {'name': 'Musica 5', 'artist': 'Artista 5'}, {'name': 'Musica 6', 'artist': 'Artista 6'}, {'name': 'Musica 7', 'artist': 'Artista 7'}, {'name': 'Musica 8', 'artist': 'Artista 8'}, {'name': 'Musica 9', 'artist': 'Artista 9'}, ] return jresp.reply(response, payload)
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)
def playlists(id): musics_in_playlist = Music.get_all_by_playlist_id(id) payload = {'musics': []} for m in musics_in_playlist: music = {'id': m['id'], 'name': m['name'], 'file_name': m['file_name']} payload['musics'].append(music) return jresp.reply( payload=payload, error_message=None, success=True )
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 )
def playlists_add(): token = request.forms.get('token') user_id = UserSession.get_user_id_by_token(token) playlist_name = request.forms.get('playlist_name') playlist = Playlist(name=playlist_name, user_id=user_id) playlist.save() payload = {'message': ['Playlist adicionada com sucesso']} return jresp.reply( payload=payload, error_message=None, success=True )
def musics(): token = request.forms.get('token') musics = Music.get_all() payload = {'musics': []} for music in musics: m = {'id': music.id, 'name': music.name, 'file_name': music.file_name} payload['musics'].append(m) return jresp.reply( payload=payload, error_message=None, success=True )
def musics(): 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': []} 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 )
def create_account(): print('create account') error_message = [] name = request.forms.get('name', '') password = request.forms.get('password', '') password_confirmation = request.forms.get('password_confirmation', '') email = request.forms.get('email', '') # Validaçao: if name == '': error_message.append('O nome de Utilizador esta vazio') if password == '': error_message.append('O campo password esta vazio') if password is not None and len(password) > 6: error_message.append('A password tem de ter pelo menos 6 caracteres') if password_confirmation == '': error_message.append('O campo confirmaçao de password esta vazio') if password != password_confirmation: error_message.append('As passwords nao sao iguais') # http://stackoverflow.com/questions/8022530/ # python-check-for-valid-email-address/8022584#8022584 if not re.match(r"[^@]+@[^@]+\.[^@]+", email): error_message.append('O endereço de email nao e valido') # Ja existe algum utilizador na base de dados com este nome? if name != '': u = User.get_by_name(name) if u is not None: error_message.append('O nome de utilizador ja existe') # Ja existe algum utilizador na base de dados com este Email? if email != '': u = User.get_by_email(email) if u is not None: error_message.append('O email ja existe') # Alguma das Validaç~oes devolveu erro? if len(error_message) > 0: return jresp.reply( payload=None, success=False, error_message=error_message ) else: # 1->Inserir o novo utilizador # 2->Enviar o email hashed_password = auth.hash_password(password) try: user = User(name=name, email=email, password=hashed_password) user.save() except: error_message.append('Erro ao comunicar com a base de dados!') return jresp.reply( response=response, payload=None, success=False, error_message=error_message, status=500 ) ''' from services import mailgun as mail try: mail.send(template='account_confirmation', name=name, email=email) except: error_message.append('Erro ao enviar email!') return jresp.reply( response=response, payload=None, success=False, error_message=error_message ) ''' # Tudo correu bem: payload = [{ 'message': 'Conta de utilizador criada com sucesso.' }] return jresp.reply(payload=payload)