def signup(): if request.json and "name" in request.json: name = request.json["name"] email = request.json["email"] password = request.json["password"] provider = request.json.get("provider", "basic") text = request.json.get("text", "") try: user_id = db.save_user(str(uuid4()), name, email, password, provider, text) except Exception as e: return jsonify(status="error", message=str(e)), 500 else: return jsonify(status="error", message="must supply user 'name', 'email' and 'password' as parameters"), 400 if user_id: user = db.get_user(user_id) else: user = db.get_users(query={"login": email})[0] if app.config["CUSTOMER_VIEWS"]: try: customer = customer_match(email, groups=[email.split("@")[1]]) except NoCustomerMatch: return jsonify(status="error", message="No customer lookup defined for user %s" % email), 403 else: customer = None token = create_token(user["id"], user["name"], email, provider="basic", customer=customer, role=role(email)) return jsonify(token=token)
def signup(): if request.json and 'name' in request.json: name = request.json["name"] email = request.json["email"] password = request.json["password"] provider = request.json.get("provider", "basic") text = request.json.get("text", "") try: user_id = db.save_user(str(uuid4()), name, email, password, provider, text) except Exception as e: return jsonify(status="error", message=str(e)), 500 else: return jsonify( status="error", message= "must supply user 'name', 'email' and 'password' as parameters" ), 400 if user_id: user = db.get_user(user_id) else: user = db.get_users(query={"login": email})[0] if app.config['CUSTOMER_VIEWS']: try: customer = customer_match(email, groups=[email.split('@')[1]]) except NoCustomerMatch: return jsonify(status="error", message="No customer lookup defined for user %s" % email), 403 else: customer = None token = create_token(user['id'], user['name'], email, provider='basic', customer=customer, role=role(email)) return jsonify(token=token)
def signup(): if request.json and "name" in request.json: name = request.json["name"] email = request.json["email"] domain = email.split("@")[1] password = request.json["password"] provider = request.json.get("provider", "basic") text = request.json.get("text", "") try: user_id = db.save_user(str(uuid4()), name, email, password, provider, text, email_verified=False) except Exception as e: return jsonify(status="error", message=str(e)), 500 else: return jsonify(status="error", message="Must supply user 'name', 'email' and 'password' as parameters"), 400 if user_id: user = db.get_user(user_id) else: return jsonify(status="error", message="User with email %s already exists" % email), 409 if app.config["EMAIL_VERIFICATION"]: send_confirmation(name, email) if not db.is_email_verified(email): return jsonify(status="error", message="email address %s has not been verified" % email), 401 if app.config["AUTH_REQUIRED"] and not ( "*" in app.config["ALLOWED_EMAIL_DOMAINS"] or domain in app.config["ALLOWED_EMAIL_DOMAINS"] ): return jsonify(status="error", message="Login for user domain %s not allowed" % domain), 403 if app.config["CUSTOMER_VIEWS"]: try: customer = customer_match(email, groups=[domain]) except NoCustomerMatch: return jsonify(status="error", message="No customer lookup defined for user domain %s" % domain), 403 else: customer = None token = create_token(user["id"], user["name"], email, provider="basic", customer=customer, role=role(email)) return jsonify(token=token)
def signup(): if request.json and 'name' in request.json: name = request.json["name"] email = request.json["email"] domain = email.split('@')[1] password = request.json["password"] provider = request.json.get("provider", "basic") text = request.json.get("text", "") try: user_id = db.save_user(str(uuid4()), name, email, password, provider, text, email_verified=False) except Exception as e: return jsonify(status="error", message=str(e)), 500 else: return jsonify(status="error", message="Must supply user 'name', 'email' and 'password' as parameters"), 400 if user_id: user = db.get_user(user_id) else: return jsonify(status="error", message="User with email %s already exists" % email), 409 if app.config['EMAIL_VERIFICATION']: send_confirmation(name, email) if not db.is_email_verified(email): return jsonify(status="error", message="email address %s has not been verified" % email), 401 if app.config['AUTH_REQUIRED'] and not ('*' in app.config['ALLOWED_EMAIL_DOMAINS'] or domain in app.config['ALLOWED_EMAIL_DOMAINS']): return jsonify(status="error", message="Login for user domain %s not allowed" % domain), 403 if app.config['CUSTOMER_VIEWS']: try: customer = customer_match(email, groups=[domain]) except NoCustomerMatch: return jsonify(status="error", message="No customer lookup defined for user domain %s" % domain), 403 else: customer = None token = create_token(user['id'], user['name'], email, provider='basic', customer=customer, role=role(email)) return jsonify(token=token)
def signup(): if request.json and 'name' in request.json: name = request.json["name"] login = request.json["email"] password = request.json["password"] provider = request.json.get("provider", "basic") text = request.json.get("text", "") try: user_id = db.save_user(str(uuid4()), name, login, password, provider, text) except Exception as e: return jsonify(status="error", message=str(e)), 500 else: return jsonify(status="error", message="must supply user 'name', 'email' and 'password' as parameters"), 400 if user_id: user = db.get_user(user_id) else: user = db.get_users(query={"login": login})[0] token = create_token(user['id'], user['name'], login, provider='basic') return jsonify(token=token)
def signup(): if request.json and 'name' in request.json: name = request.json["name"] email = request.json["email"] password = request.json["password"] provider = request.json.get("provider", "basic") text = request.json.get("text", "") try: user_id = db.save_user(str(uuid4()), name, email, password, provider, text, email_verified=False) except Exception as e: return jsonify(status="error", message=str(e)), 500 else: return jsonify(status="error", message="must supply user 'name', 'email' and 'password' as parameters"), 400 if app.config['EMAIL_VERIFICATION']: send_confirmation(name, email) if not db.is_email_verified(email): return jsonify(status="error", message="email address %s has not been verified" % email), 401 if app.config['AUTH_REQUIRED'] and not ('*' in app.config['ALLOWED_EMAIL_DOMAINS'] or email.split('@')[1] in app.config['ALLOWED_EMAIL_DOMAINS']): return jsonify(status="error", message="User %s is not authorized" % email), 403 if user_id: user = db.get_user(user_id) else: return jsonify(status="error", message="User with that login already exists"), 409 if app.config['CUSTOMER_VIEWS']: try: customer = customer_match(email, groups=[email.split('@')[1]]) except NoCustomerMatch: return jsonify(status="error", message="No customer lookup defined for user %s" % email), 403 else: customer = None token = create_token(user['id'], user['name'], email, provider='basic', customer=customer, role=role(email)) return jsonify(token=token)
def find_by_id(id: str) -> Optional['User']: return User.from_db(db.get_user(id))
def find_by_id(id): return User.from_db(db.get_user(id))
def get(id): return User.from_db(db.get_user(id))