Skip to content
This repository has been archived by the owner on Jun 10, 2023. It is now read-only.

Commit

Permalink
add friends list handler
Browse files Browse the repository at this point in the history
  • Loading branch information
RealistikDash committed Oct 15, 2020
1 parent 4678df1 commit b380ae3
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 4 deletions.
39 changes: 39 additions & 0 deletions handlers/profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -267,3 +267,42 @@ async def mod_check_handler(request : aiohttp.web.Response):
elif user_helper.has_privilege(user, Permissions.mod_regular):
return aiohttp.web.Response(text=ResponseCodes.generic_success2)
return aiohttp.web.Response(text=ResponseCodes.generic_fail)

async def friends_list_handler(request : aiohttp.web.Response):
"""Returns the friends list."""
post_data = await request.post()

account_id = int(post_data["accountID"])
friends_type = int(post_data["type"])

if not auth.check_gjp(account_id, post_data["gjp"]):
return aiohttp.web.Response(text=ResponseCodes.generic_fail)

id_function = { # Coro to get a list of friends ids.
0 : user_helper.get_friends # Regular friends.
}.get(friends_type, user_helper.get_friends)

friend_ids = await id_function(account_id)

response = ""
# Create server response.
for friend_id in friend_ids:
user = await user_helper.get_object(friend_id)
if user is not None:
response += joint_string(
{
1: user.username,
2 : user.user_id,
9 : user.icon,
10 : user.colour1,
11: user.colour2,
14 : user.icon_type,
15 : 0,
16 : user.account_id,
18 : 0,
41 : 0 # IS NEW # TODO : New friends.
}
) + "|"
response = response[:-1]
logging.debug(response)
return aiohttp.web.Response(text=response)
3 changes: 2 additions & 1 deletion lang/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@
"obj_caching" : "The object does not exist! Caching from database.",
"level_scores_gotten" : "Fetched level leaderboards for level {0}.",
"no_score" : "This user has not set a score on this level.",
"overwrite_score" : "Overwriting this score."
"overwrite_score" : "Overwriting this score.",
"adding_handler" : "Adding handler: {0} | {1}"
},
"runtime": {
"shutdown": "Shutting down! Bye!",
Expand Down
6 changes: 3 additions & 3 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from handlers.frontend import home_page
from handlers.login import login_handler
from handlers.register import register_handler
from handlers.profiles import profile_comment_handler, profile_handler, user_search_handler, post_account_comment_handler, update_profile_stats_handler, get_account_url_handler, save_user_data_handler, load_save_data_handler, update_acc_settings_handler, leaderboards_handler, mod_check_handler
from handlers.profiles import profile_comment_handler, profile_handler, user_search_handler, post_account_comment_handler, update_profile_stats_handler, get_account_url_handler, save_user_data_handler, load_save_data_handler, update_acc_settings_handler, leaderboards_handler, mod_check_handler, friends_list_handler
from handlers.songs import featured_artists_handler, get_songinfo_handler
from handlers.levels import level_search_modular_hanlder, download_level, upload_level_handler, get_daily_handler, get_map_packs_handler, get_gauntlets_handler
from handlers.rewards import quests_handler
Expand Down Expand Up @@ -35,7 +35,7 @@ def config_routes(app: web.Application) -> None:
("/database/requestUserAccess.php", mod_check_handler), ("/database/suggestGJStars20.php", rate_level_handler),
("/database/getGJScores20.php", leaderboards_handler), ("/database/updateGJAccSettings20.php", update_acc_settings_handler),
("/database/uploadGJComment21.php", post_comment_handler), ("/database/getGJComments21.php", level_comments_handler),
("/database/getGJChallenges.php", quests_handler), ("/database/getGJChallenges.php", quests_handler),
("/database/getGJChallenges.php", quests_handler), ("/database/getGJUserList20.php", friends_list_handler),
("/database/accounts/syncGJAccountNew.php", load_save_data_handler), ("/database/uploadGJLevel21.php", upload_level_handler),
("/database/accounts/backupGJAccountNew.php", save_user_data_handler), ("/database/getAccountURL.php", get_account_url_handler),
("/database/updateGJUserScore22.php", update_profile_stats_handler), ("/database/uploadGJAccComment20.php", post_account_comment_handler),
Expand All @@ -45,8 +45,8 @@ def config_routes(app: web.Application) -> None:
("/database/getGJAccountComments20.php", profile_comment_handler), ("/database/accounts/registerGJAccount.php", register_handler),
("/database/accounts/loginGJAccount.php", login_handler)]


for r, h in routes:
logging.debug(lang.debug("adding_handler", r, h.__name__))
app.router.add_post(r, h)

#app.add_subapp("/api/", api)
Expand Down

0 comments on commit b380ae3

Please sign in to comment.