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:
2
auth.go
2
auth.go
@@ -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
9
db.go
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user