Beispiel #1
0
def groupCheck(name, token):
    openseed = mysql.connector.connect(host="localhost",
                                       user=settings["dbuser"],
                                       password=settings["dbpassword"],
                                       database="openseed")
    if Account.check_db(name, "groups") == 1:
        return 1
Beispiel #2
0
def group_list_users(token, title):
    response = '{"user_list":"group":"error","allowed":[],"denied":[]}'
    openseed = mysql.connector.connect(host="localhost",
                                       user=settings["dbuser"],
                                       password=settings["dbpassword"],
                                       database="openseed")
    if Account.check_db(title, "groups") == 1:
        mycursor = openseed.cursor()
        find = "SELECT title,allowed,denied FROM `groups` WHERE `title` = %s AND owner = %s OR `allowed` LIKE % %s %"
        vals = (
            title,
            username,
            username,
        )
        mycursor.execute(find, vals)
        results = mycursor.fetchall()
        if len(results) == 1:
            response = '{"user_list":"group":"' + results[0][
                0] + '","allowed":[' + results[0][
                    1] + '],"denied":[' + results[0][2] + ']}'

    openseed.commit()
    mycursor.close()
    openseed.close()

    return response
Beispiel #3
0
def create_group_invite(token, group):
    openseed = mysql.connector.connect(host="localhost",
                                       user=settings["dbuser"],
                                       password=settings["dbpassword"],
                                       database="openseed")
    if Account.check_db(title, "groups") == 1:
        mycursor = openseed.cursor()

    openseed.commit()
    mycursor.close()
    openseed.close()

    return ()
Beispiel #4
0
def delete_group(token, title, appPub):
    response = '{deleted_group:{"error":"not the owner"}}'
    openseed = mysql.connector.connect(host="localhost",
                                       user=settings["dbuser"],
                                       password=settings["dbpassword"],
                                       database="openseed")
    username = json.loads(Account.user_from_id(token))["user"]
    if Account.check_db(title, "groups") != 1:
        mycursor = openseed.cursor()
        sql = "DELETE FROM `groups` WHERE title = %s AND owner = %s"
        val = (title, username)

    openseed.commit()
    mycursor.close()
    openseed.close()

    return response
Beispiel #5
0
def create_group(token, title, allowed, denied, appPub):
    openseed = mysql.connector.connect(host="localhost",
                                       user=settings["dbuser"],
                                       password=settings["dbpassword"],
                                       database="openseed")
    username = json.loads(Account.user_from_id(token))["user"]
    if Account.check_db(title, "groups") != 1:
        mycursor = openseed.cursor()

        findlast = "SELECT token FROM `user_tokens` WHERE 1 LIMIT 1"
        mycursor.execute(findlast)
        lasttoken = mycursor.fetchall()
        newid = ""
        if len(lasttoken) <= 0:
            newid = Seed.crypt_key()
        else:
            newid = lasttoken[0][0]

        uid = Seed.generate_usertoken(newid)
        sql = "INSERT INTO `groups` (`id`,`title`,`owner`,`allowed`,`denied`,`permissions`) VALUES (%s,%s,%s,%s,%s,%s)"
        val = (str(uid), str(title), str(username), str(allowed), str(denied),
               str('{"admin":"' + str(username) + '"}'))
        mycursor.execute(sql, val)

        utokens = "INSERT INTO `user_tokens` (`token`,`username`) VALUES (%s,%s)"
        utoken_vals = (str(uid), str(title))
        mycursor.execute(utokens, utoken_vals)

        openseed.commit()
        mycursor.close()
        openseed.close()

        email = "*****@*****.**"
        pfile = create_default_profile(uid, name, email)
        for a in allowed:
            Connections.connection_request(uid, a, 2, "request", appPub)
        for d in denied:
            Connections.connection_request(uid, d, 2, "denied", appPub)

        return '{"group":{"token":"' + uid + '","title":"' + name + '","allowed":[' + allowed + '],"denied":[' + denied + ']}}'
    else:
        return '{"group":{"title":"exists"}}'
Beispiel #6
0
def del_user_from_group(token, title, user):
    response = '{"group_del":{"user":"******"}}'
    openseed = mysql.connector.connect(host="localhost",
                                       user=settings["dbuser"],
                                       password=settings["dbpassword"],
                                       database="openseed")
    if Account.check_db(title, "groups") == 1:
        mycursor = openseed.cursor()
        owner = json.loads(Account.user_from_id(token))["user"]
        find = "SELECT allowed,denied FROM `groups` WHERE `title` = %s AND `owner` = %s"
        vals = (
            title,
            owner,
        )
        mycursor.execute(find, vals)
        results = mycursor.fetchall()[0]
        allowed = results[0]
        denied = results[1]
        newallowed = []

        for a in denied.split(","):
            if user == a:
                response = '{"group_del":{"user":"******"}}'
                break

        for d in allowed.split(","):
            if user != d:
                newallowed.append(d)

        adding = "UPDATE groups SET allowed = %s, denied = %s WHERE owner = %s AND title = %s"
        vals = (newallowed.join(","), denied + "," + user, owner, title)
        mycursour.execute(adding, vals)
        response = '{"group_del":{"user":"******"}}'

    openseed.commit()
    mycursor.close()
    openseed.close()

    return response
Beispiel #7
0
def openseed_interconnect(openseed, acc, postkey, storekeys, importprofile):
    token = ""
    response = '{"interconnect":"error","account_auth":"error","keystored":False}'
    if check_account(acc, postkey) == 1:
        exists = Account.check_db(acc, "users")
        if exists != 0:
            print("user exists")
            print(
                "checking if hive account is connected to an openseed account")
            verifing = json.loads(check_link(openseed, acc))
            if verifing["openseed"] == 1 and verifing["openseed"] == verifing[
                    "hive"]:
                token = json.loads(Account.id_from_user(openseed))["id"]
                response = '{"interconnect":"connected","account_auth":"openseed","keystored":' + str(
                    storekeys) + '}'
            elif verifing["openseed"] == 0 and verifing["hive"] == 1:
                response = '{"interconnect":"Hive account in use","account_auth":"error","keystored":false}'
            elif verifing["openseed"] == 1 and verifing["hive"] == 0:
                token = json.loads(Account.id_from_user(openseed))["id"]
                if update_account(openseed, acc) == 1:
                    if store_key(acc, postkey) == 1:
                        set_delegation(acc, "openseed")
                    if storekeys == False:
                        flush_account(acc)
                    response = '{"interconnect":"connected","account_auth":"openseed","keystored":' + str(
                        storekeys) + '}'
        else:
            new = json.loads(Account.external_user(acc, postkey, "hive"))
            Account.create_default_profile(new["token"], new["username"], "")
            token = new["token"]
            update_account(new["username"], new["username"])

        if importprofile == True and token != "":
            import_profile(token, acc)

    return response