Adds full CRUD for sync users (create/list/detail/edit) behind admin auth and CSRF protection. Passwords are encrypted at rest and never decrypted into a template context; only emails may be decrypted for display on the edit form. Blank password fields on edit preserve the existing encrypted password. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
12 lines
210 B
Python
12 lines
210 B
Python
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class UserFormData:
|
|
name: str
|
|
mywhoosh_email: str
|
|
mywhoosh_password: str
|
|
garmin_email: str
|
|
garmin_password: str
|
|
enabled: bool
|