Files
姚章浩 f0b12412a1
build / build (push) Successful in 1m10s
fix(settings): 仅展示只读DWS凭证状态
2026-10-27 09:56:19 +08:00

33 lines
927 B
Go

package httpapi
import (
"context"
"knowledge-governance/internal/dingtalkdiscovery"
"net/http"
"time"
)
type dwsMetadataReader interface {
ReadDWSMetadata(context.Context) (dingtalkdiscovery.CredentialStatus, error)
}
func readDWSCredentials(w http.ResponseWriter, r *http.Request, config Config) {
if _, ok := requireSessionIdentity(w, r); !ok {
return
}
reader, ok := config.DingtalkSources.(dwsMetadataReader)
if !ok {
writeJSON(w, http.StatusNotImplemented, map[string]string{"error": "DWS credential status not configured"})
return
}
ctx, cancel := context.WithTimeout(r.Context(), 5*time.Second)
defer cancel()
result, err := reader.ReadDWSMetadata(ctx)
if err != nil {
writeJSON(w, http.StatusServiceUnavailable, map[string]string{"error": "无法读取 DWS 凭证状态"})
return
}
w.Header().Set("Cache-Control", "no-store")
writeJSON(w, http.StatusOK, map[string]any{"data": result})
}