usecase

package
v0.0.0-...-7c98acb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GameServer

type GameServer interface {
	// GetPublicServers returns public game servers.
	GetPublicServers(ctx context.Context) ([]*entity.GameServer, error)
	// GetGameServer returns a game server.
	GetGameServer(ctx context.Context, id entity.GameServerID) (*entity.GameServer, error)
	// GetGameServersByUser returns game servers owned by a user.
	// AddGameServer adds a game server.
	AddGameServer(ctx context.Context, userID entity.UserID, ip string, port uint32, rconPassword string, name string, isPublic bool) (*entity.GameServer, error)
	// DeleteGameServer deletes a game server.
	DeleteGameServer(ctx context.Context, id entity.GameServerID) error

	BatchGetGameServersByUser(ctx context.Context, userIDs []entity.UserID) (map[entity.UserID][]*entity.GameServer, error)
}

func NewGameServer

func NewGameServer() GameServer

type Get5

type Get5 interface {
	GetMatch(ctx context.Context, matchID entity.MatchID) (*entity.Get5Match, error)
}

func NewGet5

func NewGet5() Get5

type InputPlayers

type InputPlayers struct {
	SteamID entity.SteamID
	Name    string
}

type Mapstat

type Mapstat interface {
	GetMapStat(ctx context.Context, id entity.MapStatsID) (*entity.MapStat, error)
	GetMapStatsByMatch(ctx context.Context, matchID entity.MatchID) ([]*entity.MapStat, error)

	// BATCH
	BatchGetMapstatsByMatch(ctx context.Context, matchIDs []entity.MatchID) (map[entity.MatchID][]*entity.MapStat, error)
}

func NewMapStats

func NewMapStats() Mapstat

type Match

type Match interface {
	CreateMatch(ctx context.Context, userID entity.UserID, serverID entity.GameServerID, team1ID entity.TeamID, team2ID entity.TeamID, maxMaps int, title string) (*entity.Match, error)
	GetMatch(ctx context.Context, matchID entity.MatchID) (*entity.Match, error)
	GetMatchesByUser(ctx context.Context, userID entity.UserID) ([]*entity.Match, error)
	// BATCH
	BatchGetMatchesByUser(ctx context.Context, userIDs []entity.UserID) (map[entity.UserID][]*entity.Match, error)
}

func NewMatch

func NewMatch() Match

type Player

type Player interface {
	GetPlayersByTeam(ctx context.Context, teamID entity.TeamID) ([]*entity.Player, error)
	// BATCH
	BatchGetPlayersByTeam(ctx context.Context, teamIDs []entity.TeamID) (map[entity.TeamID][]*entity.Player, error)
}

func NewPlayer

func NewPlayer() Player

type PlayerStat

type PlayerStat interface {
	BatchGetPlayerStatsByMapstat(ctx context.Context, mapstatIDs []entity.MapStatsID) (map[entity.MapStatsID][]*entity.PlayerStat, error)
}

func NewPlayerStat

func NewPlayerStat() PlayerStat

type RegisterTeamInput

type RegisterTeamInput struct {
	UserID     entity.UserID
	Name       string
	Flag       string
	Tag        string
	PublicTeam bool
	Players    []InputPlayers
}

type Team

type Team interface {
	RegisterTeam(ctx context.Context, input RegisterTeamInput) (*entity.Team, error)
	GetTeam(ctx context.Context, id entity.TeamID) (*entity.Team, error)
	GetTeamsByMatch(ctx context.Context, matchID entity.MatchID) (*entity.Team, *entity.Team, error)
	GetTeamsByUser(ctx context.Context, userID entity.UserID) ([]*entity.Team, error)
	// BATCH
	BatchGetTeamsByUsers(ctx context.Context, matchIDs []entity.UserID) (map[entity.UserID][]*entity.Team, error)
	BatchGetTeams(ctx context.Context, teamIDs []entity.TeamID) ([]*entity.Team, error)
}

func NewTeam

func NewTeam() Team

type User

type User interface {
	GetUser(ctx context.Context, id entity.UserID) (*entity.User, error)
	Register(ctx context.Context, steamID entity.SteamID, name string, admin bool, password string) (jwt string, err error)
	IssueJWT(ctx context.Context, userID entity.UserID, password string) (jwt string, err error)
	IssueJWTBySteamID(ctx context.Context, steamID entity.SteamID, password string) (jwt string, err error)
}

func NewUser

func NewUser(jwtService jwt.JWTService, passwordHasher hash.PasswordHasher) User

type ValidateJWT

type ValidateJWT interface {
	Validate(token string) (*entity.TokenUser, error)
}

ValidateJWT is interface for validating jwt token.

func NewValidateJWT

func NewValidateJWT(
	jwtService jwt.JWTService,
) ValidateJWT

Directories

Path Synopsis
Package mock_usecase is a generated GoMock package.
Package mock_usecase is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL