Skip to content

Commit 1414530

Browse files
committed
Changed redis key names to something more explicit
1 parent 0fc9b6e commit 1414530

File tree

4 files changed

+11
-10
lines changed

4 files changed

+11
-10
lines changed

backend/PyMatcha/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,14 +175,14 @@ def jwt_user_callback(identity):
175175
except NotFoundError:
176176
# The user who the server issues the token for was deleted in the db.
177177
return None
178-
redis.set("user:" + str(identity["id"]), datetime.datetime.utcnow().timestamp())
178+
redis.set("online_user:" + str(identity["id"]), datetime.datetime.utcnow().timestamp())
179179
return u
180180

181181

182182
@jwt.token_in_blacklist_loader
183183
def check_if_token_is_revoked(decrypted_token):
184184
jti = decrypted_token["jti"]
185-
entry = redis.get("jti:" + jti)
185+
entry = redis.get("is_revoked_jti:" + jti)
186186
if entry is None:
187187
return True
188188
return entry == "true"

backend/PyMatcha/routes/api/auth/login.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ def auth_login():
6868
access_jti = get_jti(access_token)
6969
refresh_jti = get_jti(refresh_token)
7070

71-
redis.set("jti:" + access_jti, "false", ACCESS_TOKEN_EXPIRES * 1.2)
72-
redis.set("jti:" + refresh_jti, "false", REFRESH_TOKEN_EXPIRES * 1.2)
71+
redis.set("is_revoked_jti:" + access_jti, "false", ACCESS_TOKEN_EXPIRES * 1.2)
72+
redis.set("is_revoked_jti:" + refresh_jti, "false", REFRESH_TOKEN_EXPIRES * 1.2)
7373

7474
current_app.logger.debug("/auth/login -> Returning access token for user {}".format(username))
75-
redis.set("user:" + str(u.id), datetime.datetime.utcnow().timestamp())
75+
redis.set("online_user:" + str(u.id), datetime.datetime.utcnow().timestamp())
7676
ret = {"access_token": access_token, "refresh_token": refresh_token, "is_profile_completed": u.is_profile_completed}
7777
return SuccessOutput("return", ret)
7878

@@ -83,21 +83,21 @@ def refresh():
8383
current_user = get_jwt_identity()
8484
access_token = create_access_token(identity=current_user)
8585
access_jti = get_jti(encoded_token=access_token)
86-
redis.set("jti:" + access_jti, "false", ACCESS_TOKEN_EXPIRES * 1.2)
86+
redis.set("is_revoked_jti:" + access_jti, "false", ACCESS_TOKEN_EXPIRES * 1.2)
8787
return SuccessOutput("access_token", access_token)
8888

8989

9090
@auth_login_bp.route("/auth/access_revoke", methods=["DELETE"])
9191
@jwt_required
9292
def logout():
9393
jti = get_raw_jwt()["jti"]
94-
redis.set("jti:" + jti, "true", ACCESS_TOKEN_EXPIRES * 1.2)
94+
redis.set("is_revoked_jti:" + jti, "true", ACCESS_TOKEN_EXPIRES * 1.2)
9595
return Success("Access token revoked")
9696

9797

9898
@auth_login_bp.route("/auth/refresh_revoke", methods=["DELETE"])
9999
@jwt_refresh_token_required
100100
def logout2():
101101
jti = get_raw_jwt()["jti"]
102-
redis.set("jti:" + jti, "true", REFRESH_TOKEN_EXPIRES * 1.2)
102+
redis.set("is_revoked_jti:" + jti, "true", REFRESH_TOKEN_EXPIRES * 1.2)
103103
return Success("Refresh token revoked")

backend/PyMatcha/routes/api/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def get_all_online_users():
5959
user_id = None # noqa
6060
date_lastseen = None # noqa
6161
online_user_list = []
62-
for key in redis.scan_iter("user:*"):
62+
for key in redis.scan_iter("online_user:*"):
6363
user_id = str(key).split(":")[1]
6464
date_lastseen = float(redis.get(key))
6565
online_user_list.append({"id": user_id, "date_lastseen": date_lastseen})

backend/PyMatcha/utils/tasks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def update_offline_users():
5353
online_count = 0
5454
offline_count = 0
5555
# For all user keys
56-
for key in redis.scan_iter("user:*"):
56+
for key in redis.scan_iter("online_user:*"):
5757
# Get the user id
5858
user_id = str(key).split(":")[1]
5959
date_lastseen = float(redis.get(key))
@@ -155,4 +155,5 @@ def update_user_recommendations():
155155
f"user_recommendations:{str(user_to_update.id)}",
156156
json.dumps(user_to_update_recommendations_sorted, default=default_date_converter),
157157
)
158+
redis.expire(f"user_recommendations:{str(user_to_update.id)}", 3600)
158159
return f"Successfully updated recommendations for {count} users."

0 commit comments

Comments
 (0)