feat: add encrypted sync user management

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>
This commit is contained in:
Bastian Wagner
2026-08-15 09:41:21 +02:00
parent da6b94ca2f
commit b39842fe2c
7 changed files with 484 additions and 3 deletions

View File

@@ -4,9 +4,16 @@
{% block content %}
<h1>Dashboard</h1>
<p><a href="/users/new">Add user</a></p>
<ul>
{% for user in users %}
<li>{{ user }}</li>
<li>
<a href="/users/{{ user.id }}">{{ user.name }}</a>
&mdash; {{ "enabled" if user.enabled else "disabled" }}
&mdash; {{ user.health_state.value }}
</li>
{% else %}
<li>No users yet.</li>
{% endfor %}
</ul>
{% endblock %}