Files
yawan f7fc992f57
Anydoc / anydoc parser engine (push) Canceled after 0s
App / Format, vet, test, and build (push) Canceled after 0s
CLI / test (macos-latest / go 1.26) (push) Canceled after 0s
CLI / test (ubuntu-latest / go 1.26) (push) Canceled after 0s
CLI / test (windows-latest / go 1.26) (push) Canceled after 0s
Build and Push Docker Image / build-ui (push) Canceled after 0s
Build and Push Docker Image / build-docreader (push) Canceled after 0s
Build and Push Docker Image / build-sandbox (push) Canceled after 0s
Build and Push Docker Image / build-app (amd64, linux/amd64, ubuntu-latest) (push) Canceled after 0s
Build and Push Docker Image / build-app (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
DocReader / Python tests and Go client tests (push) Canceled after 0s
Build & Publish (dsh-weknora) / Typecheck, test, pack (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (pinned) (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (latest, advisory) (push) Canceled after 0s
Frontend / Test, type-check, and build (push) Canceled after 0s
Go Lint Cache / warm lint cache (.) (push) Canceled after 0s
Go Lint Cache / warm lint cache (cli) (push) Canceled after 0s
Go Lint Cache / warm lint cache (client) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.10) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.11) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.12) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.13) (push) Canceled after 0s
Build and Push Docker Image / merge (push) Canceled after 0s
Build & Publish (dsh-weknora) / Publish to npm (push) Canceled after 0s
Build & Publish (mcp-server) / Build sdist + wheel (push) Canceled after 0s
Build & Publish (mcp-server) / Publish to PyPI (push) Canceled after 0s
WeKnora deployment source with the reviewed wiki identity, summary and recovery fixes
2026-09-22 16:19:06 +08:00

36 lines
1.1 KiB
Go

package workbench
type resourceListSummary struct {
Resource
Summary bool `json:"summary"`
}
// Lists carry selection metadata; editing always loads the complete resource.
func summarizeResource(resource Resource) resourceListSummary {
data := JSON{}
for _, key := range []string{"agent_id", "flow_id", "days_count"} {
if value, ok := resource.Data[key]; ok {
data[key] = value
}
}
if resource.Data["legacy_import"] != nil {
data["legacy_import"] = JSON{"imported": true}
}
if activation, err := decode[struct {
Configured bool `json:"configured"`
}](asJSON(resource.Data["legacy_activation"])); err == nil && resource.Data["legacy_activation"] != nil {
data["legacy_activation"] = JSON{"configured": activation.Configured}
}
if resource.Kind == "training-maps" {
if plan, err := decode[MapData](resource.Data); err == nil {
days := make([]JSON, 0, len(plan.Days))
for _, day := range plan.Days {
days = append(days, JSON{"day": day.Day, "title": day.Title})
}
data["days"] = days
}
}
resource.Data = data
return resourceListSummary{Resource: resource, Summary: true}
}