diff --git a/modules/admin.py b/modules/admin.py index 4af0cf49a5e4d1fa37eabda0cec56702008ce6d5..0976603ea270e7b6a82612376f86f920be747663 100644 --- a/modules/admin.py +++ b/modules/admin.py @@ -10,12 +10,13 @@ admin_route = Blueprint('admin', __name__, template_folder="templates") # add page for admins to watch @admin_route.route("/api/admin/add-page", methods=["POST"]) -@validate_login_token(min_access_level = Roles.SUPERADMIN) +# @validate_login_token(min_access_level = Roles.SUPERADMIN) def add_page(): data = request.get_json() admin = db.User.objects.with_id(data.get("admin_id")) - admin.page_list.append(db.VizData.objects.with_id(data.get("page_id"))) + admin.page_list.append(data.get("page_id")) + print(admin.page_list) admin.save() return jsonify({ "status":200, @@ -24,14 +25,42 @@ def add_page(): # remove page for admins to watch @admin_route.route("/api/admin/remove-page", methods=["POST"]) -@validate_login_token(min_access_level = Roles.SUPERADMIN) +# @validate_login_token(min_access_level = Roles.SUPERADMIN) def remove_page(): data = request.get_json() admin = db.User.objects.with_id(data.get("admin_id")) - admin.update(pull__page_list = db.VizData.objects.with_id(data.get("page_id"))) - + # admin.update(pull__page_list = db.VizData.objects.with_id(data.get("page_id"))) + print(admin.page_list[0]['name']) + admin.page_list.remove(db.VizData.objects.with_id(data.get("page_id"))); + admin.save() return jsonify({ "status":200, "message":"Page removed" + }) + +# GET list of admin +@admin_route.route("/api/admin/get-all", methods=["POST"]) +# @validate_login_token(min_access_level = Roles.SUPERADMIN) +def get_all_admin(): + admins = db.User.objects(role=Roles.ADMIN) + return jsonify({ + "status":200, + "data": admins + }) + + +# GET admin by page +@admin_route.route("/api/page/get-admin", methods=["POST"]) +# @validate_login_token(min_access_level = Roles.SUPERADMIN) +def get_admin_by_page(): + data = request.get_json() + + page_id = request.get_json().get("page_id") + page = db.VizData.objects.with_id(page_id) + admins = db.User.objects(page_list=page) + print(admins) + return jsonify({ + "status":200, + "data": admins }) \ No newline at end of file diff --git a/readme.md b/readme.md index 93c323b7ea61cb29d3419a83e3eadacb6085a076..514d1f37354ba6af4ffbc7cb9ea11c2cbb935c22 100644 --- a/readme.md +++ b/readme.md @@ -119,4 +119,16 @@ Berikut adalah API endpoints dari backend server VIS-MASY: Method: POST Data req: Authorization header, admin_id, page_id Response: status, message - Mengurangi page yang diadministrasi seorang admin jika authorization level SUPERADMIN \ No newline at end of file + Mengurangi page yang diadministrasi seorang admin jika authorization level SUPERADMIN + +* #### /api/admin/get-all + Method: POST + Data req: - + Response: status, data + Mendapatkan daftar seluruh admin + +* #### /api/page/get-admin + Method: POST + Data req: page_id + Response: status, data + Mendapatkan admin dari suatu page \ No newline at end of file