fix: initialize slices explicitly and improve uniqueness check robustness

- Initialize list slices with make() to avoid nil slices in ListTempEntries and ListPermEntries
- Use strings.Contains() for uniqueness constraint checking to handle variations in error messages
This commit is contained in:
db123-test
2026-05-04 12:10:41 +03:30
parent 145d3aa8ac
commit 82f391f129

7
db.go
View File

@@ -4,6 +4,7 @@ import (
"database/sql"
"log/slog"
"net"
"strings"
"time"
_ "modernc.org/sqlite"
@@ -173,7 +174,7 @@ func ListTempEntries(db *sql.DB) ([]map[string]interface{}, error) {
return nil, err
}
defer rows.Close()
var list []map[string]interface{}
var list []map[string]interface{} = make([]map[string]interface{}, 0)
for rows.Next() {
var ip, reason string
var expiresAt time.Time
@@ -195,7 +196,7 @@ func ListPermEntries(db *sql.DB) ([]map[string]interface{}, error) {
return nil, err
}
defer rows.Close()
var list []map[string]interface{}
var list []map[string]interface{} = make([]map[string]interface{}, 0)
for rows.Next() {
var entry string
if err := rows.Scan(&entry); err != nil {
@@ -240,5 +241,5 @@ func isUniqueConstraintError(err error) bool {
if err == nil {
return false
}
return err.Error() == "UNIQUE constraint failed: perm_whitelist.entry"
return strings.Contains(err.Error(), "UNIQUE constraint failed")
}