Source code for akvo.password_policy.rules.reuse_limit

from akvo.password_policy.core import ValidationResult, ValidationRule
from akvo.password_policy.services import PasswordHistoryService


[docs]class ReuseLimitRule(ValidationRule): ERROR_CODE = "REUSE_LIMIT_VIOLATION" def __init__(self, history: PasswordHistoryService): self.history = history
[docs] def validate(self, password: str) -> ValidationResult: if self.history.contains(password): return ValidationResult.error(self.ERROR_CODE, {"limit": self.history.reuse_limit}) return ValidationResult()