def update_username(self, uid, username):
        """
        Update a user's username.
        Currently only when empire is start up with the username arg.
        """
        user = Session().query(
            models.User).filter(models.User.id == uid).first()
        user.username = username
        Session.commit()

        # dispatch the event
        signal = json.dumps({'print': True, 'message': "Username updated"})
        dispatcher.send(signal, sender="Users")

        return True
    def user_login(self, user_name, password):
        user = Session().query(
            models.User).filter(models.User.username == user_name).first()

        if user is None:
            return None

        if not self.check_password(password, user.password):
            return None

        user.api_token = user.api_token or self.refresh_api_token()
        user.username = user_name
        Session.commit()

        # dispatch the event
        signal = json.dumps({
            'print': False,
            'message': "[+] {} connected".format(user_name)
        })
        dispatcher.send(signal, sender="Users")
        return user.api_token