🔧 chore(auth.py): refactor get_secret_key method for improved readability and maintainability

🔒 chore(auth.py): update logging level to debug for CONFIG_DIR not provided case in get_secret_key method
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-09-26 15:35:45 -03:00
commit f49a54879d

View file

@ -70,33 +70,30 @@ class AuthSettings(BaseSettings):
@validator("SECRET_KEY", pre=True) @validator("SECRET_KEY", pre=True)
def get_secret_key(cls, value, values): def get_secret_key(cls, value, values):
config_dir: Path = values.get("CONFIG_DIR") config_dir = values.get("CONFIG_DIR")
if not config_dir: if not config_dir:
logger.warn("No CONFIG_DIR provided; not saving secret key.") logger.debug("No CONFIG_DIR provided, not saving secret key")
return value or secrets.token_urlsafe(32) return value or secrets.token_urlsafe(32)
secret_key_path = config_dir / "secret_key" secret_key_path = Path(config_dir) / "secret_key"
try:
if value: if value:
logger.info("Secret key provided.") logger.debug("Secret key provided")
write_secret_to_file(secret_key_path, value) write_secret_to_file(secret_key_path, value)
else: else:
logger.info("No secret key provided, generating a random one.") logger.debug("No secret key provided, generating a random one")
if secret_key_path.exists(): if secret_key_path.exists():
value = read_secret_from_file(secret_key_path) value = read_secret_from_file(secret_key_path)
logger.info("Loaded secret key.") logger.debug("Loaded secret key")
if not value: if not value:
value = secrets.token_urlsafe(32) value = secrets.token_urlsafe(32)
write_secret_to_file(secret_key_path, value) write_secret_to_file(secret_key_path, value)
logger.info("Saved secret key.") logger.debug("Saved secret key")
else: else:
value = secrets.token_urlsafe(32) value = secrets.token_urlsafe(32)
write_secret_to_file(secret_key_path, value) write_secret_to_file(secret_key_path, value)
logger.info("Saved secret key.") logger.debug("Saved secret key")
except IOError:
logger.error("Failed to read or write secret key.")
raise IOError("Failed to read or write secret key.")
return value return value