fix(api): omit auth file entries lacking path unless runtime-only

This commit is contained in:
hkfires
2025-11-07 19:15:54 +08:00
parent c9fc033cf5
commit 1f6a384c9a

View File

@@ -292,6 +292,11 @@ func (h *Handler) buildAuthFileEntry(auth *coreauth.Auth) gin.H {
if auth == nil { if auth == nil {
return nil return nil
} }
runtimeOnly := isRuntimeOnlyAuth(auth)
path := strings.TrimSpace(authAttribute(auth, "path"))
if path == "" && !runtimeOnly {
return nil
}
name := strings.TrimSpace(auth.FileName) name := strings.TrimSpace(auth.FileName)
if name == "" { if name == "" {
name = auth.ID name = auth.ID
@@ -306,7 +311,7 @@ func (h *Handler) buildAuthFileEntry(auth *coreauth.Auth) gin.H {
"status_message": auth.StatusMessage, "status_message": auth.StatusMessage,
"disabled": auth.Disabled, "disabled": auth.Disabled,
"unavailable": auth.Unavailable, "unavailable": auth.Unavailable,
"runtime_only": isRuntimeOnlyAuth(auth), "runtime_only": runtimeOnly,
"source": "memory", "source": "memory",
"size": int64(0), "size": int64(0),
} }
@@ -331,7 +336,7 @@ func (h *Handler) buildAuthFileEntry(auth *coreauth.Auth) gin.H {
if !auth.LastRefreshedAt.IsZero() { if !auth.LastRefreshedAt.IsZero() {
entry["last_refresh"] = auth.LastRefreshedAt entry["last_refresh"] = auth.LastRefreshedAt
} }
if path := strings.TrimSpace(authAttribute(auth, "path")); path != "" { if path != "" {
entry["path"] = path entry["path"] = path
entry["source"] = "file" entry["source"] = "file"
if info, err := os.Stat(path); err == nil { if info, err := os.Stat(path); err == nil {