Add typed account and password settings

- Add admin account list, create, role, delete, and password workflows
- Execute identity-checked mutations through the existing dispatcher
- Bound queued credential lifetime and wipe transient secrets
- Add explicit password generation with saved-value acknowledgement
- Handle self-revocation and uncertain outcomes without automatic
  retries
- Register optional account routes without disrupting terminal
  transports
- Expand host regressions and document contracts and pending target
  checks

Validated host suites and pio run; hardware validation remains pending.
This commit is contained in:
2026-09-08 09:27:02 +02:00
parent 42548f6334
commit 94433ef975
30 changed files with 1864 additions and 48 deletions
+12
View File
@@ -1,7 +1,13 @@
/* Production store dependency doubles and its existing public API suite. */
#define main store_tests
#ifdef HOST_ACCOUNTS
#define user_database_username_valid store_username_valid
#endif
#include "../web_session_store/test.c"
#undef main
#ifdef HOST_ACCOUNTS
#undef user_database_username_valid
#endif
#include "web_cookie_auth.h"
#include "web_httpd_adapter.h"
#include "esp_httpd_priv.h"
@@ -126,6 +132,9 @@ static void auth_reset(void) {
#ifdef HOST_SERIAL_SETTINGS
#include "serial_settings_test.c"
#endif
#ifdef HOST_ACCOUNTS
#include "account_settings_test.c"
#endif
int main(void) {
assert(store_tests() == 0); auth_reset();
@@ -279,6 +288,9 @@ int main(void) {
#endif
#ifdef HOST_SERIAL_SETTINGS
serial_settings_tests();
#endif
#ifdef HOST_ACCOUNTS
account_settings_tests();
#endif
return 0;
}