Skip to content

Commit d284ce4

Browse files
Add servers tests
1 parent a8eda88 commit d284ce4

File tree

18 files changed

+267
-184
lines changed

18 files changed

+267
-184
lines changed

frontend/src/api/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ export const apiSaveServer = async (server_id: number, opts: SaveServerOpts) =>
106106
};
107107

108108
export const apiGetServersAdmin = async (abortController?: AbortController) => {
109-
const resp = await apiCall<Server[]>(`/api/servers_admin`, 'POST', undefined, abortController);
109+
const resp = await apiCall<Server[]>(`/api/servers_admin`, 'GET', undefined, abortController);
110110
return resp.map(transformTimeStampedDates).map((s) => {
111111
s.token_created_on = parseDateTime(s.token_created_on as unknown as string);
112112
return s;

internal/auth/auth_usecase.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ func (u *auth) AuthServerMiddleWare() gin.HandlerFunc {
213213
}
214214

215215
var server domain.Server
216-
if errServer := u.servers.GetServerByPassword(ctx, reqAuthHeader, &server, false, false); errServer != nil {
216+
if errServer := u.servers.GetByPassword(ctx, reqAuthHeader, &server, false, false); errServer != nil {
217217
slog.Error("Failed to load server during auth", log.ErrAttr(errServer), slog.String("token", reqAuthHeader), slog.String("IP", ctx.ClientIP()))
218218
ctx.AbortWithStatus(http.StatusUnauthorized)
219219

internal/demo/demo_usecase.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ func (d demoUsecase) GetDemos(ctx context.Context) ([]domain.DemoFile, error) {
210210
}
211211

212212
func (d demoUsecase) CreateFromAsset(ctx context.Context, asset domain.Asset, serverID int) (*domain.DemoFile, error) {
213-
_, errGetServer := d.servers.GetServer(ctx, serverID)
213+
_, errGetServer := d.servers.Server(ctx, serverID)
214214
if errGetServer != nil {
215215
return nil, domain.ErrGetServer
216216
}

internal/discord/discord_service.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ func (h discordService) makeOnSay() func(context.Context, *discordgo.Session, *d
366366
msg := opts[domain.OptMessage].StringValue()
367367

368368
var server domain.Server
369-
if err := h.servers.GetServerByName(ctx, serverName, &server, false, false); err != nil {
369+
if err := h.servers.GetByName(ctx, serverName, &server, false, false); err != nil {
370370
return nil, domain.ErrUnknownServer
371371
}
372372

@@ -386,7 +386,7 @@ func (h discordService) makeOnCSay() func(_ context.Context, _ *discordgo.Sessio
386386
msg := opts[domain.OptMessage].StringValue()
387387

388388
var server domain.Server
389-
if err := h.servers.GetServerByName(ctx, serverName, &server, false, false); err != nil {
389+
if err := h.servers.GetByName(ctx, serverName, &server, false, false); err != nil {
390390
return nil, domain.ErrUnknownServer
391391
}
392392

@@ -665,7 +665,7 @@ func (h discordService) makeOnFind() func(context.Context, *discordgo.Session, *
665665
var found []domain.FoundPlayer
666666

667667
for _, player := range players {
668-
server, errServer := h.servers.GetServer(ctx, player.ServerID)
668+
server, errServer := h.servers.Server(ctx, player.ServerID)
669669
if errServer != nil {
670670
return nil, errors.Join(errServer, domain.ErrGetServer)
671671
}

internal/domain/server.go

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,40 @@ import (
1212
"github.com/leighmacdonald/steamid/v4/steamid"
1313
)
1414

15+
type RequestServerUpdate struct {
16+
ServerID int `json:"server_id"`
17+
ServerName string `json:"server_name"`
18+
ServerNameShort string `json:"server_name_short"`
19+
Host string `json:"host"`
20+
Port int `json:"port"`
21+
ReservedSlots int `json:"reserved_slots"`
22+
Password string `json:"password"`
23+
RCON string `json:"rcon"`
24+
Lat float64 `json:"lat"`
25+
Lon float64 `json:"lon"`
26+
CC string `json:"cc"`
27+
DefaultMap string `json:"default_map"`
28+
Region string `json:"region"`
29+
IsEnabled bool `json:"is_enabled"`
30+
EnableStats bool `json:"enable_stats"`
31+
LogSecret int `json:"log_secret"`
32+
}
33+
34+
type ServerInfoSafe struct {
35+
ServerNameLong string `json:"server_name_long"`
36+
ServerName string `json:"server_name"`
37+
ServerID int `json:"server_id"`
38+
Colour string `json:"colour"`
39+
}
40+
1541
type ServersUsecase interface {
16-
GetServer(ctx context.Context, serverID int) (Server, error)
17-
GetServerPermissions(ctx context.Context) ([]ServerPermission, error)
18-
GetServers(ctx context.Context, filter ServerQueryFilter) ([]Server, int64, error)
19-
GetServerByName(ctx context.Context, serverName string, server *Server, disabledOk bool, deletedOk bool) error
20-
GetServerByPassword(ctx context.Context, serverPassword string, server *Server, disabledOk bool, deletedOk bool) error
21-
SaveServer(ctx context.Context, server *Server) error
42+
Server(ctx context.Context, serverID int) (Server, error)
43+
ServerPermissions(ctx context.Context) ([]ServerPermission, error)
44+
Servers(ctx context.Context, filter ServerQueryFilter) ([]Server, int64, error)
45+
GetByName(ctx context.Context, serverName string, server *Server, disabledOk bool, deletedOk bool) error
46+
GetByPassword(ctx context.Context, serverPassword string, server *Server, disabledOk bool, deletedOk bool) error
47+
Save(ctx context.Context, req RequestServerUpdate) (Server, error)
48+
Delete(ctx context.Context, serverID int) error
2249
}
2350

2451
type ServersRepository interface {

internal/httphelper/http.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ func HandleErrs(ctx *gin.Context, err error) {
8787
HandleErrPermissionDenied(ctx)
8888
case errors.Is(err, domain.ErrNoResult):
8989
HandleErrNotFound(ctx)
90+
case errors.Is(err, domain.ErrParamKeyMissing):
91+
HandleErrBadRequest(ctx)
92+
case errors.Is(err, domain.ErrInvalidParameter):
93+
HandleErrBadRequest(ctx)
9094
case errors.Is(err, domain.ErrBadRequest):
9195
HandleErrBadRequest(ctx)
9296
case errors.Is(err, domain.ErrDuplicate):

internal/match/match_repository.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (r *matchRepository) onMatchComplete(ctx context.Context, matchContext *act
6666
matchContext.match.Title = server.Name
6767
}
6868

69-
fullServer, err := r.servers.GetServer(ctx, server.ServerID)
69+
fullServer, err := r.servers.Server(ctx, server.ServerID)
7070
if err != nil {
7171
return errors.Join(err, domain.ErrLoadServer)
7272
}

internal/match/match_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func (h matchHandler) onAPIPostMatchStart() gin.HandlerFunc {
9696
return
9797
}
9898

99-
server, errServer := h.servers.GetServer(ctx, serverID)
99+
server, errServer := h.servers.Server(ctx, serverID)
100100
if errServer != nil {
101101
httphelper.ResponseErr(ctx, http.StatusInternalServerError, domain.ErrUnknownServerID)
102102
slog.Error("Failed to get server", log.ErrAttr(errServer))

internal/match/match_usecase.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func (m matchUsecase) EndMatch(ctx context.Context, serverID int) (uuid.UUID, er
5454
return matchID, domain.ErrLoadMatch
5555
}
5656

57-
server, errServer := m.servers.GetServer(ctx, serverID)
57+
server, errServer := m.servers.Server(ctx, serverID)
5858
if errServer != nil {
5959
return matchID, errors.Join(errServer, domain.ErrUnknownServer)
6060
}

internal/network/scp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (f SCPExecer) Start(ctx context.Context) {
7373
}
7474

7575
func (f SCPExecer) update(ctx context.Context) error {
76-
servers, _, errServers := f.serversUsecase.GetServers(ctx, domain.ServerQueryFilter{})
76+
servers, _, errServers := f.serversUsecase.Servers(ctx, domain.ServerQueryFilter{})
7777
if errServers != nil {
7878
return errServers
7979
}

0 commit comments

Comments
 (0)