Esempio n. 1
0
def update_galaxy():
    """Update the user apikey

    Returns
    -------
    json
        The user with his new apikey
    """
    data = request.get_json()
    if not (data and data.get("gurl") and data.get("gkey")):
        return jsonify({
            'error': True,
            'errorMessage': "Missing parameters",
            'user': session["user"]
        }), 400

    local_auth = LocalAuth(current_app, session)
    if session["user"]["galaxy"]:
        updated_user = local_auth.update_galaxy_account(
            session["user"], data["gurl"], data["gkey"])
    else:
        updated_user = local_auth.add_galaxy_account(session["user"],
                                                     data["gurl"],
                                                     data["gkey"])

    session["user"] = updated_user["user"]
    current_app.logger.debug(updated_user["user"])

    return jsonify({
        'error': updated_user['error'],
        'errorMessage': updated_user['error_message'],
        'user': updated_user['user']
    })
Esempio n. 2
0
    def main(self):
        """Insert the user and the eventualy galaxy account"""
        # Inseret user in database
        inputs = {
            "fname": self.args.first_name,
            "lname": self.args.last_name,
            "username": self.args.username,
            "email": self.args.email,
            "password": self.args.password,
            "apikey": self.args.api_key
        }

        local_auth = LocalAuth(self.application, self.session)
        if local_auth.get_number_of_users() > 0:
            self.application.logger.error(
                "Database is not empty, user {} will not be created".format(
                    self.args.username))
            return
        self.application.logger.info("Create user {}".format(
            self.args.username))
        self.user = local_auth.persist_user(inputs)
        self.session["user"] = self.user
        local_auth.create_user_directories(self.user["id"],
                                           self.user["username"])

        # insert Galaxy account if set
        if self.args.galaxy_url and self.args.galaxy_apikey:
            result = local_auth.add_galaxy_account(self.user,
                                                   self.args.galaxy_url,
                                                   self.args.galaxy_apikey)
            self.user = result["user"]
Esempio n. 3
0
    def create_user(self, username):
        """Summary

        Parameters
        ----------
        username : TYPE
            Description

        Returns
        -------
        TYPE
            Description
        """
        galaxy = None
        if username == "jdoe":
            galaxy = {"url": "http://*****:*****@askomics.org"
            if username == "jdoe" else "*****@*****.**",
            "apikey": "0000000001" if username == "jdoe" else "0000000002",
            "galaxy": None,
            "quota": 0 if username == "jdoe" else 0,
        }

        auth = LocalAuth(self.app, self.session)
        user = auth.persist_user(uinfo)
        if galaxy:
            self.session["user"] = user
            user = auth.add_galaxy_account(user, galaxy["url"],
                                           galaxy["apikey"])["user"]
            self.session = {}
        auth.create_user_directories(user["id"], user["username"])

        return user