basic flag support
This commit is contained in:
parent
8c56389991
commit
19e94f036e
11 changed files with 134 additions and 151 deletions
29
postgres/flag_store.go
Normal file
29
postgres/flag_store.go
Normal 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
|
||||
}
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue