Exemple #1
0
    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
Exemple #2
0
    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