diff --git a/src/password_manager/manager.py b/src/password_manager/manager.py index f28edad..a5387a2 100644 --- a/src/password_manager/manager.py +++ b/src/password_manager/manager.py @@ -548,6 +548,12 @@ class PasswordManager: seed_mgr = EncryptionManager(seed_key, fingerprint_dir) self.vault = Vault(self.encryption_manager, fingerprint_dir) + # Ensure config manager is set for the new fingerprint + self.config_manager = ConfigManager( + vault=self.vault, + fingerprint_dir=fingerprint_dir, + ) + # Encrypt and save the parent seed seed_mgr.encrypt_parent_seed(parent_seed) logging.info("Parent seed encrypted and saved successfully.") @@ -684,6 +690,13 @@ class PasswordManager: self.vault = Vault(self.encryption_manager, fingerprint_dir) + # Ensure the config manager points to the new fingerprint before + # storing the hashed password + self.config_manager = ConfigManager( + vault=self.vault, + fingerprint_dir=fingerprint_dir, + ) + self.store_hashed_password(password) logging.info("User password hashed and stored successfully.") diff --git a/src/password_manager/migrations.py b/src/password_manager/migrations.py index e1e6843..5984279 100644 --- a/src/password_manager/migrations.py +++ b/src/password_manager/migrations.py @@ -7,7 +7,9 @@ from typing import Callable, Dict MIGRATIONS: Dict[int, Callable[[dict], dict]] = {} -def migration(from_ver: int) -> Callable[[Callable[[dict], dict]], Callable[[dict], dict]]: +def migration( + from_ver: int, +) -> Callable[[Callable[[dict], dict]], Callable[[dict], dict]]: """Register a migration function from *from_ver* to *from_ver* + 1.""" def decorator(func: Callable[[dict], dict]) -> Callable[[dict], dict]: