feat: complete 2.0.7.12 platform overhaul

This commit is contained in:
2026-08-16 19:33:03 +08:00
parent 73555cd04c
commit c9fa6f7a88
159 changed files with 13243 additions and 2539 deletions
@@ -77,20 +77,16 @@ func NewService(store *db.Store) *Service {
}
}
func (s *Service) Bootstrap(ctx context.Context) (map[string]any, error) {
func (s *Service) Bootstrap(ctx context.Context, includeSecurityState bool) (map[string]any, error) {
payload := map[string]any{"ok": true}
if !includeSecurityState {
return payload, nil
}
isDefault, err := s.store.IsDefaultAdminPassword(ctx)
if err != nil {
return nil, err
}
payload := map[string]any{
"ok": true,
"defaultUsername": "admin",
"defaultPassword": "",
"isDefaultPassword": isDefault,
}
if isDefault {
payload["defaultPassword"] = "admin"
}
payload["isDefaultPassword"] = isDefault
return payload, nil
}
@@ -12,7 +12,7 @@ import (
"ymhut-box/server/unified-management/internal/db"
)
func TestBootstrapShowsDefaultPasswordOnlyBeforeChange(t *testing.T) {
func TestBootstrapOnlyReturnsDefaultPasswordStateToAuthenticatedCaller(t *testing.T) {
root := t.TempDir()
cfg := &config.Config{
StorageDir: root,
@@ -32,22 +32,29 @@ func TestBootstrapShowsDefaultPasswordOnlyBeforeChange(t *testing.T) {
t.Fatal(err)
}
service := NewService(store)
payload, err := service.Bootstrap(context.Background())
publicPayload, err := service.Bootstrap(context.Background(), false)
if err != nil {
t.Fatal(err)
}
if payload["isDefaultPassword"] != true || payload["defaultPassword"] != "admin" {
t.Fatalf("unexpected bootstrap payload: %#v", payload)
if _, exists := publicPayload["isDefaultPassword"]; exists || publicPayload["defaultPassword"] != nil || publicPayload["defaultUsername"] != nil {
t.Fatalf("public bootstrap leaked administrator state: %#v", publicPayload)
}
payload, err := service.Bootstrap(context.Background(), true)
if err != nil {
t.Fatal(err)
}
if payload["isDefaultPassword"] != true || payload["defaultPassword"] != nil || payload["defaultUsername"] != nil {
t.Fatalf("unexpected authenticated bootstrap payload: %#v", payload)
}
if err := store.ChangeAdminPassword(context.Background(), "admin", "admin", "changed-password"); err != nil {
t.Fatal(err)
}
payload, err = service.Bootstrap(context.Background())
payload, err = service.Bootstrap(context.Background(), true)
if err != nil {
t.Fatal(err)
}
if payload["isDefaultPassword"] != false || payload["defaultPassword"] != "" {
t.Fatalf("default password leaked after change: %#v", payload)
if payload["isDefaultPassword"] != false || payload["defaultPassword"] != nil || payload["defaultUsername"] != nil {
t.Fatalf("default password fields leaked after change: %#v", payload)
}
}