MCPcopy Index your code
hub / github.com/pgadmin-org/pgadmin4 / KeyManager

Class KeyManager

web/pgadmin/utils/__init__.py:930–970  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

928
929
930class KeyManager:
931 def __init__(self):
932 self.users = dict()
933 self.lock = Lock()
934
935 @login_required
936 def get(self):
937 user = self.users.get(current_user.id, None)
938 if user is not None:
939 return user.get('key', None)
940
941 @login_required
942 def set(self, _key, _new_login=True):
943 with self.lock:
944 user = self.users.get(current_user.id, None)
945 if user is None:
946 self.users[current_user.id] = dict(
947 session_count=1, key=_key)
948 else:
949 if _new_login:
950 user['session_count'] += 1
951 user['key'] = _key
952
953 @login_required
954 def reset(self):
955 with self.lock:
956 user = self.users.get(current_user.id, None)
957
958 if user is not None:
959 # This will not decrement if session expired
960 user['session_count'] -= 1
961 if user['session_count'] == 0:
962 del self.users[current_user.id]
963
964 @login_required
965 def hard_reset(self):
966 with self.lock:
967 user = self.users.get(current_user.id, None)
968
969 if user is not None:
970 del self.users[current_user.id]
971
972
973def get_safe_post_login_redirect():

Callers 1

create_appFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected