feat(modpacks): implement simple zip importer and API

This commit is contained in:
2025-06-18 12:41:27 +03:00
parent 5e609017f0
commit ca182d6d6f
9 changed files with 274 additions and 45 deletions

View File

@@ -2,18 +2,18 @@ package database
import (
"context"
"database/sql"
"gitea.mrixs.me/minecraft-platform/backend/internal/models"
"github.com/jackc/pgx/v5/pgxpool"
)
type ServerRepository struct {
DB *sql.DB
DB *pgxpool.Pool
}
// GetAllEnabledServers возвращает все активные серверы для опроса.
func (r *ServerRepository) GetAllEnabledServers(ctx context.Context) ([]*models.GameServer, error) {
rows, err := r.DB.QueryContext(ctx, "SELECT id, name, address FROM game_servers WHERE is_enabled = TRUE")
rows, err := r.DB.Query(ctx, "SELECT id, name, address FROM game_servers WHERE is_enabled = TRUE")
if err != nil {
return nil, err
}
@@ -37,7 +37,7 @@ func (r *ServerRepository) UpdateServerStatus(ctx context.Context, id int, statu
status_json = $1, last_polled_at = NOW(), motd = $2, player_count = $3,
max_players = $4, version_name = $5, ping_backend_server = $6
WHERE id = $7`
_, err := r.DB.ExecContext(ctx, query,
_, err := r.DB.Exec(ctx, query,
status.StatusJSON, status.Motd, status.PlayerCount, status.MaxPlayers,
status.VersionName, status.Ping, id)
return err
@@ -49,7 +49,7 @@ func (r *ServerRepository) GetAllWithStatus(ctx context.Context) ([]*models.Game
SELECT id, name, address, is_enabled, last_polled_at, motd,
player_count, max_players, version_name, ping_backend_server
FROM game_servers WHERE is_enabled = TRUE ORDER BY name`
rows, err := r.DB.QueryContext(ctx, query)
rows, err := r.DB.Query(ctx, query)
if err != nil {
return nil, err
}