From da19cc8c0ed881b83592ad588d908c70350e75d4 Mon Sep 17 00:00:00 2001 From: Houkime <> Date: Fri, 13 Jan 2023 10:30:04 +0000 Subject: [PATCH] refactor(tokens-repo): move create recovery key to abstract token repository --- .../tokens/abstract_tokens_repository.py | 4 +++- .../repositories/tokens/json_tokens_repository.py | 13 ------------- .../repositories/tokens/redis_tokens_repository.py | 10 ---------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/selfprivacy_api/repositories/tokens/abstract_tokens_repository.py b/selfprivacy_api/repositories/tokens/abstract_tokens_repository.py index 764f3b6..e5daa4d 100644 --- a/selfprivacy_api/repositories/tokens/abstract_tokens_repository.py +++ b/selfprivacy_api/repositories/tokens/abstract_tokens_repository.py @@ -86,13 +86,15 @@ class AbstractTokensRepository(ABC): def get_recovery_key(self) -> Optional[RecoveryKey]: """Get the recovery key""" - @abstractmethod def create_recovery_key( self, expiration: Optional[datetime], uses_left: Optional[int], ) -> RecoveryKey: """Create the recovery key""" + recovery_key = RecoveryKey.generate(expiration, uses_left) + self._store_recovery_key(recovery_key) + return recovery_key def use_mnemonic_recovery_key( self, mnemonic_phrase: str, device_name: str diff --git a/selfprivacy_api/repositories/tokens/json_tokens_repository.py b/selfprivacy_api/repositories/tokens/json_tokens_repository.py index 332bef8..0f70a55 100644 --- a/selfprivacy_api/repositories/tokens/json_tokens_repository.py +++ b/selfprivacy_api/repositories/tokens/json_tokens_repository.py @@ -94,19 +94,6 @@ class JsonTokensRepository(AbstractTokensRepository): return recovery_key - def create_recovery_key( - self, - expiration: Optional[datetime], - uses_left: Optional[int], - ) -> RecoveryKey: - """Create the recovery key""" - - recovery_key = RecoveryKey.generate(expiration, uses_left) - - self._store_recovery_key(recovery_key) - - return recovery_key - def _store_recovery_key(self, recovery_key: RecoveryKey) -> None: with WriteUserData(UserDataFiles.TOKENS) as tokens_file: key_expiration: Optional[str] = None diff --git a/selfprivacy_api/repositories/tokens/redis_tokens_repository.py b/selfprivacy_api/repositories/tokens/redis_tokens_repository.py index 0b3c19b..8e8dfe5 100644 --- a/selfprivacy_api/repositories/tokens/redis_tokens_repository.py +++ b/selfprivacy_api/repositories/tokens/redis_tokens_repository.py @@ -58,16 +58,6 @@ class RedisTokensRepository(AbstractTokensRepository): return self._recovery_key_from_hash(RECOVERY_KEY_REDIS_KEY) return None - def create_recovery_key( - self, - expiration: Optional[datetime], - uses_left: Optional[int], - ) -> RecoveryKey: - """Create the recovery key""" - recovery_key = RecoveryKey.generate(expiration=expiration, uses_left=uses_left) - self._store_recovery_key(recovery_key) - return recovery_key - def _store_recovery_key(self, recovery_key: RecoveryKey) -> None: self._store_model_as_hash(RECOVERY_KEY_REDIS_KEY, recovery_key)