def put_user_policy(token_info: dict, user_id: str): user = User(user_id) user.set_policy(request.json['policy']) return make_response( jsonify({ 'user_id': user_id, 'msg': "User's policy successfully modified." }), 200)
def post_user(token_info: dict): json_body = request.json User.provision_user(json_body['user_id'], statement=json_body.get('policy'), creator=get_email_claim(token_info), groups=json_body.get('groups', []), roles=json_body.get('roles', [])) return make_response(jsonify({'msg': f"{json_body['user_id']} created."}), 201)
def get_users_owns(token_info: dict, user_id: str): next_token, per_page = get_next_token(request.args) user = User(user_id) content_key = "roles" if request.args[ 'resource_type'] == "role" else "groups" return get_page(user.get_owned, next_token, per_page, content_key, request.args['resource_type'], paged=True)
def put_user(token_info: dict, user_id: str): user = User(user_id) new_status = request.args['status'] resp_json = { 'user_id': user_id, 'status': new_status, 'msg': f"User status set to {new_status}." } if new_status == 'enabled': user.enable() resp = make_response(jsonify(resp_json), 200) elif new_status == 'disabled': user.disable() resp = make_response(jsonify(resp_json), 200) else: resp = make_response('', 500) return resp
def get_users_roles(token_info: dict, user_id: str): next_token, per_page = get_next_token(request.args) user = User(user_id) return get_page(user.get_roles, next_token, per_page, 'roles')
def put_users_groups(token_info: dict, user_id: str): user = User(user_id) resp, code = _modify_groups(user, request) return make_response(jsonify(resp), code)
def get_user(token_info: dict, user_id: str): user = User(user_id) return make_response(jsonify(user.get_info()), 200)