diff --git a/cmd/archivmail/main.go b/cmd/archivmail/main.go index 5b5d0e3..1f19429 100644 --- a/cmd/archivmail/main.go +++ b/cmd/archivmail/main.go @@ -524,6 +524,10 @@ func seedDefaultUsers(users *userstore.Store, logger *slog.Logger) error { return nil // already seeded } + superadminPw, err := randomPassword() + if err != nil { + return fmt.Errorf("generate superadmin password: %w", err) + } adminPw, err := randomPassword() if err != nil { return fmt.Errorf("generate admin password: %w", err) @@ -534,6 +538,7 @@ func seedDefaultUsers(users *userstore.Store, logger *slog.Logger) error { } defaults := []userstore.CreateUserRequest{ + {Username: "superadmin", Email: "superadmin@archivmail.local", Password: superadminPw, Role: userstore.RoleSuperAdmin}, {Username: "admin", Email: "admin@archivmail.local", Password: adminPw, Role: userstore.RoleAdmin}, {Username: "auditor", Email: "auditor@archivmail.local", Password: auditorPw, Role: userstore.RoleAuditor}, } @@ -548,8 +553,9 @@ func seedDefaultUsers(users *userstore.Store, logger *slog.Logger) error { fmt.Println("╔══════════════════════════════════════════════════════════════╗") fmt.Println("║ ARCHIVMAIL — ERSTMALIGE EINRICHTUNG ║") fmt.Println("║ Initiale Zugangsdaten (NUR EINMAL ANGEZEIGT): ║") - fmt.Printf( "║ admin : %-50s ║\n", adminPw) - fmt.Printf( "║ auditor : %-50s ║\n", auditorPw) + fmt.Printf( "║ superadmin : %-47s ║\n", superadminPw) + fmt.Printf( "║ admin : %-47s ║\n", adminPw) + fmt.Printf( "║ auditor : %-47s ║\n", auditorPw) fmt.Println("║ Passwörter sofort nach dem ersten Login ändern! ║") fmt.Println("╚══════════════════════════════════════════════════════════════╝") fmt.Println()