From f1e5f54048cfadec42990f3dfb212c7147bf5faa Mon Sep 17 00:00:00 2001 From: NavaL Date: Thu, 23 Jun 2016 12:13:20 +0200 Subject: refactoring: renaming services factory methods to relate them to user services sessions --- service/pixelated/application.py | 2 +- service/pixelated/config/services.py | 11 +++++++---- service/pixelated/resources/__init__.py | 2 +- service/pixelated/resources/auth.py | 2 +- service/pixelated/resources/login_resource.py | 2 +- service/pixelated/resources/logout_resource.py | 6 +++--- 6 files changed, 14 insertions(+), 11 deletions(-) (limited to 'service/pixelated') diff --git a/service/pixelated/application.py b/service/pixelated/application.py index 7d8cd76c..65e974b6 100644 --- a/service/pixelated/application.py +++ b/service/pixelated/application.py @@ -113,7 +113,7 @@ def add_top_level_system_callbacks(deferred, services_factory): def _log_user_out(event, user_data): log.info('Invalid soledad token, logging out %s' % user_data) user_data = {'user_id': user_data['uuid']} if 'uuid' in user_data else {'user_id': user_data, 'using_email': True} - services_factory.log_out_user(**user_data) + services_factory.destroy_session(**user_data) def _log_user_out_on_token_expire(leap_session): register(events.SOLEDAD_INVALID_AUTH_TOKEN, _log_user_out) diff --git a/service/pixelated/config/services.py b/service/pixelated/config/services.py index cec4803e..b36eb0bb 100644 --- a/service/pixelated/config/services.py +++ b/service/pixelated/config/services.py @@ -90,17 +90,17 @@ class ServicesFactory(object): def map_email(self, username, user_id): self._map_email[username] = user_id - def is_logged_in(self, user_id): + def has_session(self, user_id): return user_id in self._services_by_user def services(self, user_id): return self._services_by_user[user_id] - def log_out_user(self, user_id, using_email=False): + def destroy_session(self, user_id, using_email=False): if using_email: user_id = self._map_email[user_id.split('@')[0]] - if self.is_logged_in(user_id): + if self.has_session(user_id): _services = self._services_by_user[user_id] _services.close() del self._services_by_user[user_id] @@ -126,5 +126,8 @@ class SingleUserServicesFactory(object): def services(self, user_id): return self._services - def log_out_user(self, user_id, using_email=False): + def has_session(self, user_id): + return True + + def destroy_session(self, user_id, using_email=False): reactor.stop() diff --git a/service/pixelated/resources/__init__.py b/service/pixelated/resources/__init__.py index 8fc8080a..0015db16 100644 --- a/service/pixelated/resources/__init__.py +++ b/service/pixelated/resources/__init__.py @@ -72,7 +72,7 @@ class BaseResource(Resource): def is_logged_in(self, request): session = self.get_session(request) - return session.is_logged_in() and self._services_factory.is_logged_in(session.user_uuid) + return session.is_logged_in() and self._services_factory.has_session(session.user_uuid) def get_session(self, request): return IPixelatedSession(request.getSession()) diff --git a/service/pixelated/resources/auth.py b/service/pixelated/resources/auth.py index a6ab5396..5aedad3a 100644 --- a/service/pixelated/resources/auth.py +++ b/service/pixelated/resources/auth.py @@ -82,7 +82,7 @@ class SessionChecker(object): def requestAvatarId(self, credentials): session = self.get_session(credentials.request) - if session.is_logged_in() and self._services_factory.is_logged_in(session.user_uuid): + if session.is_logged_in() and self._services_factory.has_session(session.user_uuid): return defer.succeed(session.user_uuid) return defer.succeed(ANONYMOUS) diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index eaa21bd9..ab91176a 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -159,7 +159,7 @@ class LoginResource(BaseResource): @defer.inlineCallbacks def _setup_user_services(self, leap_session, request): user_id = leap_session.user_auth.uuid - if not self._services_factory.is_logged_in(user_id): + if not self._services_factory.has_session(user_id): yield self._services_factory.create_services_from(leap_session) self._services_factory.map_email(self.creds.username, user_id) diff --git a/service/pixelated/resources/logout_resource.py b/service/pixelated/resources/logout_resource.py index 4c700afe..a4fe584f 100644 --- a/service/pixelated/resources/logout_resource.py +++ b/service/pixelated/resources/logout_resource.py @@ -28,9 +28,9 @@ class LogoutResource(BaseResource): @defer.inlineCallbacks def _execute_logout(self, request): - session = self.get_session(request) - yield self._services_factory.log_out_user(session.user_uuid) - session.expire() + http_session = self.get_session(request) + yield self._services_factory.destroy_session(http_session.user_uuid) + http_session.expire() def render_POST(self, request): def _redirect_to_login(_): -- cgit v1.2.3