def add_admin(course): email = request.form["email"] with connect_db() as db: check = db( "SELECT * FROM course_admins WHERE email=(%s) AND course=(%s)", [email, course], ).fetchone() if check: return error("User is already an admin"), 409 with connect_db() as db: db( "INSERT INTO course_admins VALUES (%s, %s, %s, %s)", [email, "Unknown", course, get_name()], ) # make sure that you can't accidentally lock yourself out with connect_db() as db: check = db( "SELECT * FROM course_admins WHERE email=(%s) AND course=(%s)", [get_email(), course], ).fetchone() if not check: db( "INSERT INTO course_admins VALUES (%s, %s, %s, %s)", [get_email(), get_name(), course, get_name()], ) return redirect(url_for("index"))
def create_super_key(): name = request.form["client_name"] key = gen_key() with connect_db() as db: ret = db("SELECT * FROM auth_keys WHERE client_name = (%s)", [name]).fetchone() if ret: return "client_name already in use", 409 ret = db("SELECT * FROM super_auth_keys WHERE client_name = (%s)", [name]).fetchone() if ret: return "client_name already in use", 409 db( "INSERT INTO super_auth_keys VALUES (%s, %s, %s, %s)", [name, key, get_name(), True], ) return key
def create_key(course): name = request.form["client_name"] key = gen_key() with connect_db() as db: ret = db("SELECT * FROM auth_keys WHERE client_name = (%s)", [name]).fetchone() if ret: return "client_name already in use", 409 ret = db("SELECT * FROM super_auth_keys WHERE client_name = (%s)", [name]).fetchone() if ret: return "client_name already in use", 409 db( "INSERT INTO auth_keys VALUES (%s, %s, %s, %s, %s, %s)", [name, key, get_name(), course, "all", True], ) return html(f"<pre>{key}</pre>")