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
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
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 ()
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
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"}}'
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
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