Skip to content

Commit 3eda87e

Browse files
Merge pull request #10 from mbieniek101/Instructor_bypass_patch
Changed the order of decorators so that @min_level is correctly applied to the functions used in the routing table.
2 parents 3974a7c + 4ea6c5a commit 3eda87e

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

api/roster/routes.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88

99
blueprint = Blueprint("roster", __name__)
1010

11-
@min_level('instructor')
11+
# IMPORTANT: @blueprint.route must always be outermost decorator,
12+
# any other decorators such as, auth decorators (min_level, exact_level) must go below it
13+
1214
@blueprint.route("/upload-roster", methods=["POST"])
15+
@min_level('instructor')
1316
def upload_roster():
1417
"""
1518
Role: instructor or admin
@@ -72,8 +75,8 @@ def upload_roster():
7275

7376
# TODO: get roster
7477

75-
@min_level('instructor')
7678
@blueprint.route("/get-roster", methods=["GET"])
79+
@min_level('instructor')
7780
def get_roster():
7881
"""
7982
Role: instructor or admin
@@ -102,8 +105,8 @@ def get_roster():
102105

103106

104107

105-
@min_level('student')
106108
@blueprint.route("/update-name", methods=["PATCH"])
109+
@min_level('student')
107110
def update_preferred_name():
108111
user = get_user(request.cookies)
109112

@@ -120,8 +123,8 @@ def update_preferred_name():
120123
return {"message": "Updated preferred name."}
121124

122125

123-
@min_level('instructor')
124126
@blueprint.route("/enroll", methods=["POST"])
127+
@min_level('instructor')
125128
def enroll_user():
126129
"""
127130
Enroll a single user. Won't enroll admins.
@@ -164,9 +167,9 @@ def enroll_user():
164167
return {"message": "Successfully enrolled user",
165168
"id": user_id}
166169

167-
@min_level('instructor')
168170
@blueprint.route("/visits/<user_id>", methods=["GET"])
169171
@blueprint.route("/visits", methods=["GET"], defaults={"user_id": None})
172+
@min_level('instructor')
170173
def get_visits(user_id):
171174
"""
172175
Get a list of visits. If a user_id is specified, only include

0 commit comments

Comments
 (0)