From c413de54ff7e572adfcc7721804a5463e2923357 Mon Sep 17 00:00:00 2001 From: Rifo Genadi <rifoagenadi@gmail.com> Date: Fri, 26 Apr 2019 00:56:15 +0700 Subject: [PATCH] Add get all admin and get admin by id method --- modules/admin.py | 39 ++++++++++++++++++++++++++++++++++----- readme.md | 14 +++++++++++++- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/modules/admin.py b/modules/admin.py index 4af0cf4..0976603 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 93c323b..514d1f3 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 -- GitLab