From c9b8de00c5b5ffb65327ccb37f9df015d9b9fcdb Mon Sep 17 00:00:00 2001 From: Quentame Date: Tue, 20 Oct 2020 23:40:57 +0200 Subject: [PATCH] Add logout method (#79) --- src/synology_dsm/synology_dsm.py | 10 ++++++++-- tests/api_data/dsm_6/const_6_api_auth.py | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/synology_dsm/synology_dsm.py b/src/synology_dsm/synology_dsm.py index 81299fb..163cb20 100644 --- a/src/synology_dsm/synology_dsm.py +++ b/src/synology_dsm/synology_dsm.py @@ -124,7 +124,7 @@ class SynologyDSM: """Gets available API infos from the NAS.""" return self._apis - def login(self, otp_code: str = None): + def login(self, otp_code: str = None) -> bool: """Create a logged session.""" # First reset the session self._debuglog("Creating new session") @@ -176,7 +176,13 @@ class SynologyDSM: self._information = SynoDSMInformation(self) self._information.update() - return True + return result["success"] + + def logout(self) -> bool: + """Log out of the session.""" + result = self.get(API_AUTH, "logout") + self._session = None + return result["success"] @property def device_token(self) -> str: diff --git a/tests/api_data/dsm_6/const_6_api_auth.py b/tests/api_data/dsm_6/const_6_api_auth.py index 13c6ff0..ab642ba 100644 --- a/tests/api_data/dsm_6/const_6_api_auth.py +++ b/tests/api_data/dsm_6/const_6_api_auth.py @@ -21,3 +21,5 @@ DSM_6_AUTH_LOGIN_2SA_OTP = { }, "success": True, } + +DSM_6_AUTH_LOGOUT = {"success": True}