Skip to content

Commit b4a9a5f

Browse files
committed
fix: correct ptero_id -> ptero_user_id column in ListUsers; fix installed field type assertion for servers status
1 parent e1ce8f6 commit b4a9a5f

1 file changed

Lines changed: 20 additions & 6 deletions

File tree

internal/routes/admin.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,7 @@ func (h *AdminHandler) ListAdminServers(w http.ResponseWriter, r *http.Request)
258258
if suspended, ok := s["suspended"].(bool); ok && suspended {
259259
status = "suspended"
260260
}
261-
installed, _ := s["installed"].(float64)
262-
if installed == 0 {
261+
if isNotInstalled(s["installed"]) {
263262
status = "installing"
264263
}
265264
egg, _ := s["egg"].(float64)
@@ -287,7 +286,7 @@ func (h *AdminHandler) ListAdminServers(w http.ResponseWriter, r *http.Request)
287286
Name: name,
288287
Identifier: identifier,
289288
Status: status,
290-
Installed: installed,
289+
Installed: s["installed"],
291290
Egg: egg,
292291
EggDetails: eggDetails,
293292
Owner: owner,
@@ -357,7 +356,7 @@ func (h *AdminHandler) GetAdminServer(w http.ResponseWriter, r *http.Request) {
357356
if suspended {
358357
panelStatus = "suspended"
359358
}
360-
if inst, ok := server["installed"].(float64); ok && inst == 0 {
359+
if isNotInstalled(server["installed"]) {
361360
panelStatus = "installing"
362361
}
363362
serverMeta = map[string]interface{}{
@@ -485,10 +484,10 @@ func (h *AdminHandler) ListUsers(w http.ResponseWriter, r *http.Request) {
485484

486485
if search != "" {
487486
database.DB.QueryRow("SELECT COUNT(*) FROM users WHERE username LIKE ? OR email LIKE ?", "%"+search+"%", "%"+search+"%").Scan(&totalCount)
488-
rows, err = database.DB.Query("SELECT id, username, email, ptero_id, restricted, is_admin, email_verified, created_at FROM users WHERE username LIKE ? OR email LIKE ? ORDER BY created_at DESC LIMIT ? OFFSET ?", "%"+search+"%", "%"+search+"%", limit, offset)
487+
rows, err = database.DB.Query("SELECT id, username, email, ptero_user_id, restricted, is_admin, email_verified, created_at FROM users WHERE username LIKE ? OR email LIKE ? ORDER BY created_at DESC LIMIT ? OFFSET ?", "%"+search+"%", "%"+search+"%", limit, offset)
489488
} else {
490489
database.DB.QueryRow("SELECT COUNT(*) FROM users").Scan(&totalCount)
491-
rows, err = database.DB.Query("SELECT id, username, email, ptero_id, restricted, is_admin, email_verified, created_at FROM users ORDER BY created_at DESC LIMIT ? OFFSET ?", limit, offset)
490+
rows, err = database.DB.Query("SELECT id, username, email, ptero_user_id, restricted, is_admin, email_verified, created_at FROM users ORDER BY created_at DESC LIMIT ? OFFSET ?", limit, offset)
492491
}
493492

494493
if err != nil {
@@ -1421,6 +1420,21 @@ func boolVal(p *bool, def bool) bool {
14211420
return *p
14221421
}
14231422

1423+
func isNotInstalled(v interface{}) bool {
1424+
if v == nil {
1425+
return false
1426+
}
1427+
switch val := v.(type) {
1428+
case float64:
1429+
return val == 0
1430+
case bool:
1431+
return !val
1432+
case string:
1433+
return val == "0" || val == "false"
1434+
}
1435+
return false
1436+
}
1437+
14241438
func (h *AdminHandler) AdminStats(w http.ResponseWriter, r *http.Request) {
14251439
var totalUsers, totalServers, activeServers, suspendedServers, expiredServers, newUsers24h int64
14261440
database.DB.QueryRow("SELECT COUNT(*) FROM users").Scan(&totalUsers)

0 commit comments

Comments
 (0)