Esempio n. 1
0
    def post(cls):
        user_json = request.get_json()
        user_data = user_schema.load(user_json)
        user = UserModel.find_by_username(user_data.username)
        if not user:
            return {"message": "User not found"}, 400

        user.password = user_data.password
        user.email = user_data.email
        try:
            user.save_to_db()
            confirmation = ConfirmationModel(user_id=user.id)
            confirmation.save_database()
            user.send_confirmation_email()
            return {
                "message":
                "The password is set succefully,"
                " Complete your registration by checking link in your "
                "email address."
            }, 201
        except MailGunException as e:
            user.delete_from_db()
            return {"message": str(e)}, 500
        except:
            traceback.print_exc()
            user.delete_from_db()
            return {"message": FAILED_REGISTER_USER}, 400
Esempio n. 2
0
    def post(cls):
        user = user_schema.load(request.get_json())
        if UserModel.find_by_username(user.username):
            return {"message": USER_ALREADY_EXIST}, 400

        if UserModel.find_by_email(user.email):
            return {"message": EMAIL_ALREADY_EXIST}, 400

        try:
            user.save_to_db()
            confirmation = ConfirmationModel(user_id=user.id)
            confirmation.save_database()
            user.send_confirmation_email()
            return {"message": INSERT_SUCCESS}, 201
        except MailGunException as e:
            user.delete_from_db()
            return {"message": str(e)}, 500
        except:
            traceback.print_exc()
            user.delete_from_db()
            return {"message": FAILED_REGISTER_USER}, 400
Esempio n. 3
0
    def post(self, user_id):
        user = UserModel.find_by_id(user_id)

        if not user:
            return {"message": "User not FOUND"}, 404

        try:
            recent_confirmation = user.most_recent_confirmation

            if recent_confirmation:
                if not recent_confirmation.confirmed:
                    return {"message": "The User is not yet Confirmed"}
                recent_confirmation.force_to_expire()

            confirmation = ConfirmationModel(user_id=user_id)
            confirmation.save_database()
            user.send_confirmation_email()
            return {"message": "RESEND Confirmation SUCCESSFULLY "}, 201
        except MailGunException as e:
            return {"message": str(e)}, 500
        except:
            traceback.print_exc()
            return {"message": "Failed RESEND Confirmation"}, 500