55import synapse_admin
66from django .conf import settings
77
8- from project .helpers import get_download_url_for_media , assemble_mxc_url
8+ from project .helpers import get_download_url_for_media , assemble_mxc_url , spent_time_counter
9+ from dashboard .helpers import load_media_statistics
910
1011
1112def get_country_by_ip (ip : str ) -> str :
@@ -24,7 +25,8 @@ def get_last_seen_info(access_token: str, server_name: str, user_id: str) -> dic
2425 last_seen : dict = {
2526 'last_seen_ip' : 'Unknown' ,
2627 'last_seen_at' : 'Unknown' ,
27- 'last_seen_country' : 'Unknown'
28+ 'last_seen_country' : 'Unknown' ,
29+ 'last_seen_user_agent' : 'Unknown'
2830 }
2931
3032 user_manager : synapse_admin .User = synapse_admin .User (
@@ -40,12 +42,14 @@ def get_last_seen_info(access_token: str, server_name: str, user_id: str) -> dic
4042 last_seen = {
4143 'last_seen_ip' : active_sessions [0 ]['ip' ],
4244 'last_seen_at' : datetime .fromtimestamp (active_sessions [0 ]['last_seen' ] / 1000 ),
43- 'last_seen_country' : get_country_by_ip (active_sessions [0 ]['ip' ])
45+ 'last_seen_country' : get_country_by_ip (active_sessions [0 ]['ip' ]),
46+ 'last_seen_user_agent' : active_sessions [0 ]['user_agent' ]
4447 }
4548
4649 return last_seen
4750
4851
52+ @spent_time_counter
4953def load_users (access_token : str , server_name : str ) -> None :
5054 """
5155 Load users and cache it to redis.
@@ -88,7 +92,11 @@ def load_users(access_token: str, server_name: str) -> None:
8892 cache .set (settings .CACHED_USERS_UPDATED_AT , datetime .now (), 60 * 60 * 60 * 24 )
8993 cache .set (settings .CACHED_USERS , users , 60 * 60 * 60 * 24 )
9094
95+ # Also update media statistics
96+ load_media_statistics (access_token = access_token , server_name = server_name )
9197
98+
99+ @spent_time_counter
92100def deactivate_user (access_token : str , server_name : str , user_id : str ) -> bool :
93101 """
94102 Deactivate user in the server.
@@ -114,6 +122,7 @@ def deactivate_user(access_token: str, server_name: str, user_id: str) -> bool:
114122 return result
115123
116124
125+ @spent_time_counter
117126def activate_user (access_token : str , server_name : str , user_id : str , new_password : str ) -> bool :
118127 """
119128 Activate user in the server.
@@ -139,6 +148,7 @@ def activate_user(access_token: str, server_name: str, user_id: str, new_passwor
139148 return result
140149
141150
151+ @spent_time_counter
142152def set_admin (access_token : str , server_name : str , user_id : str ) -> bool :
143153 """
144154 Set admin of the server.
@@ -164,6 +174,7 @@ def set_admin(access_token: str, server_name: str, user_id: str) -> bool:
164174 return result
165175
166176
177+ @spent_time_counter
167178def revoke_admin (access_token : str , server_name : str , user_id : str ) -> bool :
168179 """
169180 Revoke admin of the server.
0 commit comments