def update_user(usertype, user_id, key, value): """ Will update user args: usertype (string), user_id (int), key (string), value (any) returns: dictionary """ remote = False con, cur = gc.setup_db(remote) # check related tables exist if not gc.check_tb_relations(cur, usertype): return gc.results(con, cur, "0", "Necessary tables have not yet been created") # find out table which table we want table = gc.find_table(usertype, key) if not table: return gc.results(con, cur, "0", "no such usertype and key combination") if key == 'email' or key == 'phone': message = username_option(cur, table, user_id, key, value) elif key == 'password': message = password_option(cur, table, user_id, key, value) elif key == "about": message = about_option(cur, table, user_id, key, value) else: message = other_option(cur, table, user_id, key, value) if message: return gc.results(con, cur, "0", message) else: return gc.results(con, cur, "1")
def create_campaign(user_id, campaign_name, tag_ids, img_urls, img_names, img_infos): """ The main function for admin creation. args: all strings returns: results (dictionary) """ remote = False con, cur = gc.setup_db(remote) # check if table exists # if not db.exist_tb(cur, ": # return gc.results(con, cur, "0", "Table has not yet been created") duplicate = db.exist_items(cur, 'campaigns', campaign_name=gc.quote(campaign_name)) if duplicate: return gc.results(con, cur, "0", "Campaign already exists") if db.get_item(cur, "user_cred", "user_id", user_id, "usertype") == "influencer": return gc.results(con, cur, "0", "User is not a business owner.") setup_campaign(cur, user_id, campaign_name, tag_ids, img_urls, img_names, img_infos) return gc.results(con, cur, "1") # print(create_campaign(2, "Banana Clubs", [1], ["HTTP"], ["banana"], ["long and yellow"]))
def approve_user(user_id, status): """ Will approve user args: user_id (int) returns: dictionary """ remote = False con, cur = gc.setup_db(remote) # check related tables exist if not gc.check_tb_relations(cur, "user"): return gc.results(con, cur, "0", "Necessary tables have not yet been created") db.del_row(cur, "approval_queue", "queued_id", int(user_id)) db.update_tb(cur, "user_cred", "user_id", user_id, "status", gc.quote(status)) return gc.results(con, cur, "1") # print(update("user", "1", "name", "Mr.banana"))
def create_user(usertype, comp_name, name, borough, state, phone, email, password): """ The main function for user creation. args: all strings returns: results (dictionary) """ remote = False con, cur, valid_tables = gc.general_setup(remote, usertype) # check if table exists if not valid_tables: return gc.results(con, cur, "0", "Table has not yet been created") message = check_username_pass(cur, "user_cred", email, phone, password) if message: return gc.results(con, cur, "0", message) setup_user(cur, usertype, comp_name, name, borough, state, phone, email, password) return gc.results(con, cur, "1")
def create_admin(usertype, name, phone, email, password): """ The main function for admin creation. args: all strings returns: results (dictionary) """ remote = False con, cur, valid_tables = gc.general_setup(remote, usertype) # check if table exists if not valid_tables: return gc.results(con, cur, "0", "Table has not yet been created") message = check_username_pass(cur, "admin_cred", email, phone, password) if message: return gc.results(con, cur, "0", message) setup_admin(cur, name, phone, email, password) return gc.results(con, cur, "1") # print(create_user("influencer", "banana", "banana", "Manhattan", "NY", "718-239-4738", "banana@b.", "bananahana")) #print(create_admin("banana", "718-239-4738", "banana@b.", "bananahana"))
def remove_user(usertype, user_id): """ Returns a generic remove method args: usertype (string), user_id (int) returns: dictionary """ remote = False con, cur, valid_tables = gc.general_setup(remote, usertype) if usertype != "admin" and usertype != "user" and usertype != "influencer" and usertype != "business": return gc.results(con, cur, "0", "usertype given is invalid") # check if table exists if not valid_tables: return gc.results(con, cur, "0", "Table has not yet been created") if usertype == "admin": if db.exist_items(cur, "admin_cred", user_id=user_id): db.del_row(cur, "admin_cred", "user_id", user_id) return gc.results(con, cur, "1") else: return gc.results(con, cur, "0", "user id didn't exist") elif usertype in ["influencer", "business", "user"]: if db.exist_items(cur, "user_cred", user_id=user_id): db.del_row(cur, "user_cred", "user_id", int(user_id)) db.del_row(cur, "profiles", "user_id", int(user_id)) db.del_row(cur, "configs", "user_id", int(user_id)) db.del_row(cur, "user_tags", "user_id", int(user_id)) db.del_row(cur, "user_titles", "user_id", int(user_id)) db.del_row(cur, "approval_queue", "queued_id", int(user_id)) if usertype == "business": db.del_row(cur, "campaigns", "user_id", int(user_id)) db.del_row(cur, "images", "user_id", int(user_id)) elif usertype == "influencer": db.del_row(cur, "affiliated_campaigns", "user_id", int(user_id)) db.del_row(cur, "user_favorites", "user_id", int(user_id)) return gc.results(con, cur, "1") else: return gc.results(con, cur, "0", "user id didn't exist") #print(remove("influencer", 2))