domain.value_objects.password¶
src.domain.value_objects.password
¶
Password value object with complexity validation.
Immutable value object that validates password complexity requirements.
Classes¶
Password
dataclass
¶
Password value object with complexity validation.
Immutable value object that ensures passwords meet security requirements.
Password Requirements
- At least 8 characters
- At least one uppercase letter
- At least one lowercase letter
- At least one digit
- At least one special character
Attributes:
| Name | Type | Description |
|---|---|---|
value |
str
|
The password string (validated) |
Raises:
| Type | Description |
|---|---|
ValueError
|
If password does not meet complexity requirements |
Example
password = Password("SecurePass123!") str(password) 'SecurePass123!' Password("weak") Traceback (most recent call last): ... ValueError: Password must be at least 8 characters
Source code in src/domain/value_objects/password.py
Functions¶
__post_init__
¶
Validate password complexity after initialization.
Raises:
| Type | Description |
|---|---|
ValueError
|
If password does not meet requirements. |
__str__
¶
Return masked password for security.
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Masked password (asterisks). |
Note
Never return plaintext password in logs or output.
__repr__
¶
Return repr for debugging (masked).
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Masked representation. |