fix: list permanent whitelist entries sorted by creation time

Update ListPermEntries to return entry field instead of ip and
sort results by created_at. Update the handler in auth.go to call
ListPermEntries instead of ListTempEntries for the whitelist endpoint.
This commit is contained in:
db123-test
2026-05-04 11:35:02 +03:30
parent 7221feb6d4
commit 39747cc151
2 changed files with 5 additions and 6 deletions

View File

@@ -76,7 +76,7 @@ func whitelistListHandler(cfg Config, db *sql.DB) http.HandlerFunc {
http.Error(w, "unauthorized", http.StatusUnauthorized)
return
}
entries, err := ListTempEntries(db)
entries, err := ListPermEntries(db)
if err != nil {
http.Error(w, "database error", http.StatusInternalServerError)
return

9
db.go
View File

@@ -190,20 +190,19 @@ func ListTempEntries(db *sql.DB) ([]map[string]interface{}, error) {
}
func ListPermEntries(db *sql.DB) ([]map[string]interface{}, error) {
rows, err := db.Query(`SELECT ip FROM perm_whitelist ORDER BY ip`)
rows, err := db.Query(`SELECT entry, created_at FROM perm_whitelist ORDER BY created_at `)
if err != nil {
return nil, err
}
defer rows.Close()
var list []map[string]interface{}
for rows.Next() {
var ip, reason string
var expiresAt time.Time
if err := rows.Scan(&ip, &expiresAt, &reason); err != nil {
var entry string
if err := rows.Scan(&entry); err != nil {
continue
}
list = append(list, map[string]interface{}{
"ip": ip,
"entry": entry,
})
}
return list, nil