示例#1
0
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")
示例#2
0
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"]))
示例#3
0
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"))
示例#4
0
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")
示例#5
0
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"))
示例#6
0
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))