import random import pymongo import time from werkzeug.security import * client = pymongo.MongoClient(os.getenv("MONGO_URL")) db = client.VE def create_account(name, email, password): coll = db.accounts user = coll.find_one({"email": email}) if user is not None: print("An account using that email has already been created..") return code = random.randint(000000, 999999) coll.insert_one({"_id": code, "email": email, "password": generate_password_hash(password, "scrypt"), "name": name, "account_status": "default", "job": None, "education": 1}) return code def find_account(code = None, email = None, password = None): coll = db.accounts if email is not None and password is not None: user = coll.find_one({"email": email}) user_encrypt_pass = user["password"] if user is None: print("An account with that email could not be found..") return None is_password_correct = check_password_hash(user_encrypt_pass, password) if is_password_correct is False: print("The password entered is incorrect..") return None return user['_id'] user = coll.find_one({"_id": code}) if user is None: print("That account could not be found..") return None return code def get_user_name(code): coll = db.accounts user = coll.find_one({"_id": code}) if user is None: print("The user does not have an account") return None return user['name'] def get_account_status(code): coll = db.accounts user = coll.find_one({"_id": code}) if user is None: print("The user does not have an account") return None return user['account_status'] def assign_job(code, job_id): account_coll = db.accounts job_coll = db.jobs user = account_coll.find_one({"_id": code}) job = job_coll.find_one({"_id": job_id}) if user is None or job is None: print("Either that user doesn't exist, or the job doesn't exist") return None user_education = user['education'] job_education = job['education'] if user_education < job_education: print("We are sorry, but you are not qualified for this job." "Please go to the education center to get a higher education level.") time.sleep(1) return False else: account_coll.update_one({"_id": code}, {"$set": {"job": job_id}}) return True def get_user_job(code): coll = db.accounts user = coll.find_one({"_id": code}) if user is None: print("That user could not be found") return None return user['job']