def post(self): dados = atributos.parse_args() if not dados.get('email') or dados.get('email') is None: return {"message": "The field 'email' cannot be left blank."}, 400 if UserModel.find_email(dados.get('email')): return { "message": "The email '{}' already exists.".format(dados.get('email')) }, 400 if UserModel.find_login(dados['login']): return { "message": "The login '{}' already exists.".format(dados['login']) }, 400 user = UserModel(**dados) user.ativado = False try: user.save() user.send_confirmation_email() except: user.delete() traceback.print_exc() return {"message": "An internal server error has occurred."}, 500 return {"message": "User created successfully!"}, 201
def post(cls): dados = atributos.parse_args() user = UserModel.find_login(dados['login']) if user and safe_str_cmp(user.senha, dados['senha']): if user.ativado: token = create_access_token(identity=user.id) return {'access_token': token}, 200 return {'message': 'User not confirmed.'}, 400 return {'message': 'The username or password do not match.'}, 401