Example #1
0
def new_user():
    check_user_permissions(admin_required=True)
    username = request.json.get("username")
    password = request.json.get("passwd")
    ssh_key = request.json.get("ssh_key")
    expiration = request.json.get("expiration")
    email_addr = request.json.get("email")
    is_admin = request.json.get("is_admin")
    if username is None or password is None:
        print("User or passwd Null")
        abort(400)  # missing arguments
    if Users.query.filter_by(username=username).first() is not None:
        abort(400)  # existing user
    user = Users(username=username)
    user.hash_password(password)
    user.expiration = expiration
    user.ssh_key = ssh_key
    user.email_addr = email_addr
    user.is_admin = bool(is_admin)
    db.session.add(user)
    db.session.commit()
    return (jsonify({"username": user.username}), 201)
    #         {'Location': url_for('get_user', id=user.id, _external=True)})
    return get_user(user.id)