mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2025-01-23 17:26:46 +00:00
refactor(tokens-repo): move reset to AbstractTokensRepo
This commit is contained in:
parent
51018dd6c2
commit
baf72b730b
|
@ -123,6 +123,10 @@ class AbstractTokensRepository(ABC):
|
||||||
return False
|
return False
|
||||||
return recovery_key.is_valid()
|
return recovery_key.is_valid()
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def _delete_recovery_key(self) -> None:
|
||||||
|
"""Delete the recovery key"""
|
||||||
|
|
||||||
def get_new_device_key(self) -> NewDeviceKey:
|
def get_new_device_key(self) -> NewDeviceKey:
|
||||||
"""Creates and returns the new device key"""
|
"""Creates and returns the new device key"""
|
||||||
new_device_key = NewDeviceKey.generate()
|
new_device_key = NewDeviceKey.generate()
|
||||||
|
@ -156,6 +160,12 @@ class AbstractTokensRepository(ABC):
|
||||||
|
|
||||||
return new_token
|
return new_token
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
for token in self.get_tokens():
|
||||||
|
self.delete_token(token)
|
||||||
|
self.delete_new_device_key()
|
||||||
|
self._delete_recovery_key()
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def _store_token(self, new_token: Token):
|
def _store_token(self, new_token: Token):
|
||||||
"""Store a token directly"""
|
"""Store a token directly"""
|
||||||
|
|
|
@ -123,6 +123,13 @@ class JsonTokensRepository(AbstractTokensRepository):
|
||||||
if tokens["recovery_token"]["uses_left"] is not None:
|
if tokens["recovery_token"]["uses_left"] is not None:
|
||||||
tokens["recovery_token"]["uses_left"] -= 1
|
tokens["recovery_token"]["uses_left"] -= 1
|
||||||
|
|
||||||
|
def _delete_recovery_key(self) -> None:
|
||||||
|
"""Delete the recovery key"""
|
||||||
|
with WriteUserData(UserDataFiles.TOKENS) as tokens_file:
|
||||||
|
if "recovery_token" in tokens_file:
|
||||||
|
del tokens_file["recovery_token"]
|
||||||
|
return
|
||||||
|
|
||||||
def _store_new_device_key(self, new_device_key: NewDeviceKey) -> None:
|
def _store_new_device_key(self, new_device_key: NewDeviceKey) -> None:
|
||||||
with WriteUserData(UserDataFiles.TOKENS) as tokens_file:
|
with WriteUserData(UserDataFiles.TOKENS) as tokens_file:
|
||||||
tokens_file["new_device"] = {
|
tokens_file["new_device"] = {
|
||||||
|
|
|
@ -51,13 +51,6 @@ class RedisTokensRepository(AbstractTokensRepository):
|
||||||
raise TokenNotFound
|
raise TokenNotFound
|
||||||
redis.delete(key)
|
redis.delete(key)
|
||||||
|
|
||||||
def reset(self):
|
|
||||||
for token in self.get_tokens():
|
|
||||||
self.delete_token(token)
|
|
||||||
self.delete_new_device_key()
|
|
||||||
redis = self.connection
|
|
||||||
redis.delete(RECOVERY_KEY_REDIS_KEY)
|
|
||||||
|
|
||||||
def get_recovery_key(self) -> Optional[RecoveryKey]:
|
def get_recovery_key(self) -> Optional[RecoveryKey]:
|
||||||
"""Get the recovery key"""
|
"""Get the recovery key"""
|
||||||
redis = self.connection
|
redis = self.connection
|
||||||
|
@ -75,6 +68,11 @@ class RedisTokensRepository(AbstractTokensRepository):
|
||||||
self._store_model_as_hash(RECOVERY_KEY_REDIS_KEY, recovery_key)
|
self._store_model_as_hash(RECOVERY_KEY_REDIS_KEY, recovery_key)
|
||||||
return recovery_key
|
return recovery_key
|
||||||
|
|
||||||
|
def _delete_recovery_key(self) -> None:
|
||||||
|
"""Delete the recovery key"""
|
||||||
|
redis = self.connection
|
||||||
|
redis.delete(RECOVERY_KEY_REDIS_KEY)
|
||||||
|
|
||||||
def _store_new_device_key(self, new_device_key: NewDeviceKey) -> None:
|
def _store_new_device_key(self, new_device_key: NewDeviceKey) -> None:
|
||||||
"""Store new device key directly"""
|
"""Store new device key directly"""
|
||||||
self._store_model_as_hash(NEW_DEVICE_KEY_REDIS_KEY, new_device_key)
|
self._store_model_as_hash(NEW_DEVICE_KEY_REDIS_KEY, new_device_key)
|
||||||
|
|
Loading…
Reference in a new issue