storage

package
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: May 30, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const SecsInADay = 86400

Variables

This section is empty.

Functions

func ConstructPsqlConnectURL

func ConstructPsqlConnectURL(addr, username, password string) string

Types

type PostgresBestTeammatePlayerRanking

type PostgresBestTeammatePlayerRanking struct {
	UserID     uint64  `db:"user_id"`
	TeammateID uint64  `db:"teammate_id"`
	WinCount   int64   `db:"win"`
	Count      int64   `db:"total"`
	WinRate    float64 `db:"win_rate"`
}

type PostgresGame

type PostgresGame struct {
	GameID      int64  `db:"game_id"`
	GuildID     uint64 `db:"guild_id"`
	ConnectCode string `db:"connect_code"`
	StartTime   int32  `db:"start_time"`
	WinType     int16  `db:"win_type"`
	EndTime     int32  `db:"end_time"`
}

type PostgresGameEvent

type PostgresGameEvent struct {
	EventID   uint64  `db:"event_id"`
	UserID    *uint64 `db:"user_id"`
	GameID    int64   `db:"game_id"`
	EventTime int32   `db:"event_time"`
	EventType int16   `db:"event_type"`
	Payload   string  `db:"payload"`
}

type PostgresGuild

type PostgresGuild struct {
	GuildID    uint64 `db:"guild_id"`
	GuildName  string `db:"guild_name"`
	Premium    int16  `db:"premium"`
	TxTimeUnix *int32 `db:"tx_time_unix"`
}

type PostgresOtherPlayerRanking

type PostgresOtherPlayerRanking struct {
	UserID  uint64  `db:"user_id"`
	Count   int64   `db:"count"`
	Percent float64 `db:"percent"`
}

type PostgresPlayerRanking

type PostgresPlayerRanking struct {
	UserID   uint64  `db:"user_id"`
	WinCount int64   `db:"win"`
	Count    int64   `db:"total"`
	WinRate  float64 `db:"win_rate"`
}

type PostgresUser

type PostgresUser struct {
	UserID uint64 `db:"user_id"`
	Opt    bool   `db:"opt"`
}

type PostgresUserActionRanking

type PostgresUserActionRanking struct {
	UserID      uint64  `db:"user_id"`
	TotalAction int64   `db:"total_action"`
	Count       int64   `db:"total"`
	WinRate     float64 `db:"win_rate"`
}

type PostgresUserGame

type PostgresUserGame struct {
	UserID      uint64 `db:"user_id"`
	GuildID     uint64 `db:"guild_id"`
	GameID      int64  `db:"game_id"`
	PlayerName  string `db:"player_name"`
	PlayerColor int16  `db:"player_color"`
	PlayerRole  int16  `db:"player_role"`
	PlayerWon   bool   `db:"player_won"`
}

type PostgresUserMostFrequentFirstTargetRanking

type PostgresUserMostFrequentFirstTargetRanking struct {
	UserID     uint64  `db:"user_id"`
	TotalDeath int64   `db:"total_death"`
	Count      int64   `db:"total"`
	DeathRate  float64 `db:"death_rate"`
}

type PostgresUserMostFrequentKilledByanking

type PostgresUserMostFrequentKilledByanking struct {
	UserID     uint64  `db:"user_id"`
	TeammateID uint64  `db:"teammate_id"`
	TotalDeath int64   `db:"total_death"`
	Encounter  int64   `db:"encounter"`
	DeathRate  float64 `db:"death_rate"`
}

type PostgresWorstTeammatePlayerRanking

type PostgresWorstTeammatePlayerRanking struct {
	UserID     uint64  `db:"user_id"`
	TeammateID uint64  `db:"teammate_id"`
	LooseCount int64   `db:"loose"`
	Count      int64   `db:"total"`
	LooseRate  float64 `db:"loose_rate"`
}

type PsqlInterface

type PsqlInterface struct {
	Pool *pgxpool.Pool
}

func (*PsqlInterface) AddEvent

func (psqlInterface *PsqlInterface) AddEvent(event *PostgresGameEvent) error

func (*PsqlInterface) AddInitialGame

func (psqlInterface *PsqlInterface) AddInitialGame(game *PostgresGame) (uint64, error)

func (*PsqlInterface) Close

func (psqlInterface *PsqlInterface) Close()

func (*PsqlInterface) EnsureGuildExists

func (psqlInterface *PsqlInterface) EnsureGuildExists(guildID uint64, guildName string) (*PostgresGuild, error)

func (*PsqlInterface) EnsureUserExists

func (psqlInterface *PsqlInterface) EnsureUserExists(userID uint64) (*PostgresUser, error)

func (*PsqlInterface) GetGame

func (psqlInterface *PsqlInterface) GetGame(connectCode, matchID string) (*PostgresGame, error)

func (*PsqlInterface) GetGameEvents

func (psqlInterface *PsqlInterface) GetGameEvents(matchID string) ([]*PostgresGameEvent, error)

func (*PsqlInterface) GetGuild

func (psqlInterface *PsqlInterface) GetGuild(guildID uint64) (*PostgresGuild, error)

func (*PsqlInterface) GetGuildPremiumStatus

func (psqlInterface *PsqlInterface) GetGuildPremiumStatus(guildID string) (premium.Tier, int)

func (*PsqlInterface) GetUser

func (psqlInterface *PsqlInterface) GetUser(userID uint64) (*PostgresUser, error)

func (*PsqlInterface) GetUserByString

func (psqlInterface *PsqlInterface) GetUserByString(userID string) (*PostgresUser, error)

func (*PsqlInterface) Init

func (psqlInterface *PsqlInterface) Init(addr string) error

func (*PsqlInterface) LoadAndExecFromFile

func (psqlInterface *PsqlInterface) LoadAndExecFromFile(filepath string) error

func (*PsqlInterface) OptUserByString

func (psqlInterface *PsqlInterface) OptUserByString(userID string, opt bool) (bool, error)

func (*PsqlInterface) UpdateGameAndPlayers

func (psqlInterface *PsqlInterface) UpdateGameAndPlayers(gameID int64, winType int16, endTime int64, players []*PostgresUserGame) error

make sure to call the relevant "ensure" methods before this one...

type PsqlParameters

type PsqlParameters struct {
	Addr     string
	Username string
	Password string
}

Jump to

Keyboard shortcuts

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