Compare commits

..

5 Commits

4 changed files with 6 additions and 3 deletions

View File

@@ -8,6 +8,8 @@ WORKDIR /app
# Копируем файлы go.mod и go.sum для загрузки зависимостей # Копируем файлы go.mod и go.sum для загрузки зависимостей
COPY go.mod go.sum ./ COPY go.mod go.sum ./
# Загружаем зависимости. Этот слой будет кэшироваться, если файлы не менялись # Загружаем зависимости. Этот слой будет кэшироваться, если файлы не менялись
ENV GOPROXY=direct
RUN apk add --no-cache git
RUN go mod download RUN go mod download
# Копируем весь остальной исходный код # Копируем весь остальной исходный код
@@ -30,7 +32,7 @@ WORKDIR /app
COPY --from=builder /app/server . COPY --from=builder /app/server .
# (Опционально, но хорошая практика) Добавляем сертификаты для HTTPS-запросов из нашего приложения # (Опционально, но хорошая практика) Добавляем сертификаты для HTTPS-запросов из нашего приложения
RUN apk --no-cache add ca-certificates RUN apk --no-cache add ca-certificates
# (Опционально, но хорошая практика) Запускаем приложение от имени непривилегированного пользователя # (Опционально, но хорошая практика) Запускаем приложение от имени непривилегированного пользователя
RUN addgroup -S appgroup && adduser -S appuser -G appgroup RUN addgroup -S appgroup && adduser -S appuser -G appgroup

View File

@@ -47,7 +47,7 @@ func (r *ServerRepository) UpdateServerStatus(ctx context.Context, id int, statu
func (r *ServerRepository) GetAllWithStatus(ctx context.Context) ([]*models.GameServer, error) { func (r *ServerRepository) GetAllWithStatus(ctx context.Context) ([]*models.GameServer, error) {
query := ` query := `
SELECT id, name, address, is_enabled, last_polled_at, motd, SELECT id, name, address, is_enabled, last_polled_at, motd,
player_count, max_players, version_name, ping_backend_server player_count, max_players, version_name, ping_backend_server, bluemap_url
FROM game_servers WHERE is_enabled = TRUE ORDER BY name` FROM game_servers WHERE is_enabled = TRUE ORDER BY name`
rows, err := r.DB.Query(ctx, query) rows, err := r.DB.Query(ctx, query)
if err != nil { if err != nil {
@@ -59,7 +59,7 @@ func (r *ServerRepository) GetAllWithStatus(ctx context.Context) ([]*models.Game
for rows.Next() { for rows.Next() {
s := &models.GameServer{} s := &models.GameServer{}
if err := rows.Scan(&s.ID, &s.Name, &s.Address, &s.IsEnabled, &s.LastPolledAt, if err := rows.Scan(&s.ID, &s.Name, &s.Address, &s.IsEnabled, &s.LastPolledAt,
&s.Motd, &s.PlayerCount, &s.MaxPlayers, &s.VersionName, &s.PingBackendServer); err != nil { &s.Motd, &s.PlayerCount, &s.MaxPlayers, &s.VersionName, &s.PingBackendServer, &s.BlueMapURL); err != nil {
return nil, err return nil, err
} }
servers = append(servers, s) servers = append(servers, s)

View File

@@ -14,6 +14,7 @@ type GameServer struct {
MaxPlayers *int `json:"max_players"` MaxPlayers *int `json:"max_players"`
VersionName *string `json:"version_name"` VersionName *string `json:"version_name"`
PingBackendServer *int `json:"ping_proxy_server"` PingBackendServer *int `json:"ping_proxy_server"`
BlueMapURL *string `json:"bluemap_url"`
} }
type ServerStatus struct { type ServerStatus struct {

BIN
main Executable file

Binary file not shown.