basic flag support

This commit is contained in:
Philipp 2021-09-23 15:58:56 +02:00
parent 8c56389991
commit 19e94f036e
11 changed files with 134 additions and 151 deletions

29
postgres/flag_store.go Normal file
View file

@ -0,0 +1,29 @@
package postgres
import (
"fmt"
"git.snrd.de/Spaenny/steamServer"
"github.com/jmoiron/sqlx"
)
type FlagStore struct {
*sqlx.DB
}
func (s *FlagStore) Flag(server_ip string) (steamServer.Flag, error) {
var f steamServer.Flag
if err := s.Get(&f, `SELECT * FROM flags WHERE name = $1`, server_ip); err != nil {
return steamServer.Flag{}, fmt.Errorf("error getting flag id: %w", err)
}
return f, nil
}
func (s *FlagStore) Flags() ([]steamServer.Flag, error) {
var ff []steamServer.Flag
var query = `SELECT * FROM flags`
if err := s.Select(&ff, query); err != nil {
return []steamServer.Flag{}, fmt.Errorf("error gettings flag: %w", err)
}
return ff, nil
}

View file

@ -22,7 +22,7 @@ func (s *ServerStore) Server(id uuid.UUID) (steamServer.Server, error) {
func (s *ServerStore) Servers() ([]steamServer.Server, error) {
var ss []steamServer.Server
var query = `SELECT * FROM servers`
var query = `SELECT * FROM servers ORDER BY name ASC`
if err := s.Select(&ss, query); err != nil {
return []steamServer.Server{}, fmt.Errorf("error gettings servers: %w", err)
}
@ -32,18 +32,18 @@ func (s *ServerStore) Servers() ([]steamServer.Server, error) {
func (s *ServerStore) ServersByRegion(regionID uuid.UUID) ([]steamServer.Server, error) {
var ss []steamServer.Server
var query = `
SELECT * FROM servers WHERE region_id = $1`
SELECT * FROM servers WHERE region_id = $1 ORDER BY name ASC`
if err := s.Select(&ss, query, regionID); err != nil {
return []steamServer.Server{}, fmt.Errorf("error gettings region servers: %w", err)
return []steamServer.Server{}, fmt.Errorf("error getting region servers: %w", err)
}
return ss, nil
}
func (s *ServerStore) ServersByRegionAndGamemode(regionID uuid.UUID, gamemodeID uuid.UUID) ([]steamServer.Server, error) {
var ss []steamServer.Server
var query = `SELECT * FROM servers WHERE gamemode_id = $1 AND region_id = $2`
var query = `SELECT * FROM servers WHERE gamemode_id = $1 AND region_id = $2 ORDER BY name ASC`
if err := s.Select(&ss, query, regionID, gamemodeID); err != nil {
return []steamServer.Server{}, fmt.Errorf("error gettings region servers: %w", err)
return []steamServer.Server{}, fmt.Errorf("error getting region and gamemode servers: %w", err)
}
return ss, nil
}
@ -51,10 +51,10 @@ func (s *ServerStore) ServersByRegionAndGamemode(regionID uuid.UUID, gamemodeID
func (s *ServerStore) ServersByGamemode(gamemodeID uuid.UUID) ([]steamServer.Server, error) {
var ss []steamServer.Server
var query = `SELECT * FROM servers WHERE gamemode_id = $1`
var query = `SELECT * FROM servers WHERE gamemode_id = $1 ORDER BY name ASC`
if err := s.Select(&ss, query, gamemodeID); err != nil {
return []steamServer.Server{}, fmt.Errorf("error gettings gamemode servers: %w", err)
return []steamServer.Server{}, fmt.Errorf("error getting gamemode servers: %w", err)
}
return ss, nil
}

View file

@ -22,6 +22,7 @@ func NewStore(dataSourceName string) (*Store, error) {
ServerStore: &ServerStore{DB: db},
RegionStore: &RegionStore{DB: db},
GamemodeStore: &GamemodeStore{DB: db},
FlagStore: &FlagStore{DB: db},
}, nil
}
@ -30,5 +31,6 @@ type Store struct {
*ServerStore
*RegionStore
*GamemodeStore
*FlagStore
}