domain

package
v0.0.0-...-526dcec Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AvailableClasses = []rune{'S', 'A', 'B', 'C', 'D'}

Functions

func GetClassIndexByAccuracy

func GetClassIndexByAccuracy(accuracy float64) int

Types

type CategoryParams

type CategoryParams struct {
	Category rune   `json:"category"`
	Pattern  string `json:"pattern" example:"asc"`
}

type CategoryParamsJSON

type CategoryParamsJSON struct {
	Category string `json:"category" example:"S"`
	Pattern  string `json:"pattern" example:"asc"`
}

type GetUserStatsRes

type GetUserStatsRes struct {
	Res PlayerStats `json:"user_stats"`
}

type GetUsersTop

type GetUsersTop struct {
	Res []PlayerStats `json:"users"`
}

type LevelComplete

type LevelComplete struct {
	LevelId           int             `json:"level_id" binding:"required" db:"level_id"`
	PlayerId          int             `json:"player_id" binding:"required" db:"player_id"`
	Time              int64           `json:"-" db:"time"`
	NumPressErrByChar map[rune][2]int `json:"num_press_err_by_char" binding:"required" db:"-"`
	Accuracy          float64         `json:"-" db:"accuracy" example:"0.4"`
	AverageVelocity   float32         `json:"average_velocity" db:"average_velocity" binding:"required" example:"0.01"`
	MaxCombo          int             `json:"max_combo" db:"max_combo" binding:"required" example:"180"`
	Placement         int             `json:"placement" db:"placement" binding:"required" example:"1"`
	Points            int             `json:"points" db:"points" binding:"required" example:"10000"`
}

type LevelCompleteJSON

type LevelCompleteJSON struct {
	LevelId           int               `json:"level_id" binding:"required" db:"level_id"`
	PlayerId          int               `json:"player_id" binding:"required" db:"player_id"`
	Time              int64             `json:"time" db:"time"`
	NumPressErrByChar map[string][2]int `json:"num_press_err_by_char" binding:"required" db:"-"`
	Accuracy          float64           `json:"accuracy" db:"accuracy" example:"0.4"`
	AverageVelocity   float32           `json:"average_velocity" db:"average_velocity" binding:"required" example:"0.01"`
	MaxCombo          int               `json:"max_combo" db:"max_combo" binding:"required" example:"180"`
	Placement         int               `json:"placement" db:"placement" binding:"required" example:"1"`
	Points            int               `json:"points" db:"points" binding:"required" example:"10000"`
}

type LevelStats

type LevelStats struct {
	NumPlayed              int     `json:"num_played" db:"num_played" example:"100"`
	AverageAccuracy        float32 `json:"average_acc" db:"average_acc" example:"0.5"`
	MaxCombo               int     `json:"max_combo" db:"max_combo" example:"100"`
	MaxPoints              int     `json:"max_points" db:"max_points" example:"10000"`
	AveragePoints          float64 `json:"average_points" db:"average_points" example:"109.5"`
	AverageAverageVelocity float64 `json:"average_average_velocity" db:"average_average_velocity" example:"19.5"`
	MaxAverageVelocity     float64 `json:"max_average_velocity" db:"max_average_velocity" example:"19.5"`
}

type PageInfo

type PageInfo struct {
	PageSize int `json:"page_size" binding:"required,gte=1" example:"10"`
	Offset   int `json:"offset" binding:"required,gte=1" example:"1"`
}

type PlayerStats

type PlayerStats struct {
	UserId                  int                        `json:"user_id" db:"user_id" example:"1"`
	UserName                string                     `json:"user_name" db:"user_name" example:"John Doe"`
	AvatarPath              sql.NullString             `json:"avatar_path" db:"avatar_path" swaggerignore:"true"`
	NumPressErrByCharByLang map[string]map[rune][2]int `json:"num_press_err_by_char_by_lang" db:"num_press_err_by_char_by_lang" binding:"required"`
	NumLevelRelax           int                        `json:"num_level_relax" db:"num_level_relax" example:"1"`
	NumLevelClassic         int                        `json:"num_level_classic" db:"num_level_classic" example:"1"`
	NumGamesMult            int                        `json:"num_games_mult" db:"num_games_mult" example:"1"`
	NumCharsClassic         int                        `json:"num_chars_classic" db:"num_chars_classic" example:"1"`
	NumCharsRelax           int                        `json:"num_chars_relax" db:"num_chars_relax" example:"1"`
	AverageAccuracyClassic  float64                    `json:"average_accuracy_classic" db:"average_accuracy_classic" example:"0.5"`
	AverageAccuracyRelax    float64                    `json:"average_accuracy_relax" db:"average_accuracy_relax" example:"0.5"`
	WinPercentage           float64                    `json:"win_percentage" db:"win_percentage" example:"0.5"`
	AverageDelay            float64                    `json:"average_delay" db:"average_delay" example:"2.1"`
	NumClassesClassic       [5]int32                   `json:"num_classes_classic" db:"num_classes_classic"`
	SumPoints               int                        `json:"sum_points" db:"sum_points" example:"100000"`
}

type PlayerStatsDB

type PlayerStatsDB struct {
	UserId                  int            `json:"user_id" db:"user_id"`
	UserName                string         `json:"user_name" db:"user_name"`
	AvatarPath              sql.NullString `json:"avatar_path" db:"avatar_path"`
	NumPressErrByCharByLang []byte         `json:"num_press_err_by_char_by_lang" db:"num_press_err_by_char_by_lang" binding:"required"`
	NumLevelRelax           int            `json:"num_level_relax" db:"num_level_relax"`
	NumLevelClassic         int            `json:"num_level_classic" db:"num_level_classic"`
	NumGamesMult            int            `json:"num_games_mult" db:"num_games_mult"`
	NumCharsClassic         int            `json:"num_chars_classic" db:"num_chars_classic"`
	NumCharsRelax           int            `json:"num_chars_relax" db:"num_chars_relax"`
	AverageAccuracyClassic  float64        `json:"average_accuracy_classic" db:"average_accuracy_classic"`
	AverageAccuracyRelax    float64        `json:"average_accuracy_relax" db:"average_accuracy_relax"`
	WinPercentage           float64        `json:"win_percentage" db:"win_percentage"`
	AverageDelay            float64        `json:"average_delay" db:"average_delay"`
	NumClassesClassic       pq.Int32Array  `json:"num_classes_classic" db:"num_classes_classic"`
	SumPoints               int            `json:"sum_points" db:"sum_points"`
	Nc                      int            `json:"-" db:"nc"`
}

type StatSortFilterParams

type StatSortFilterParams struct {
	Points         string         `json:"points" binding:"omitempty" example:"asc"`
	CategoryParams CategoryParams `json:"category_params" binding:"omitempty"`
	PageInfo       PageInfo       `json:"page_info" binding:"required"`
}

type StatSortFilterParamsJSON

type StatSortFilterParamsJSON struct {
	Points         string             `json:"points" binding:"omitempty" example:"asc"`
	CategoryParams CategoryParamsJSON `json:"category_params" binding:"omitempty"`
	PageInfo       PageInfo           `json:"page_info" binding:"required"`
}

type UserLevelCompletionInfo

type UserLevelCompletionInfo struct {
	LevelId           int             `json:"level_id" binding:"required" db:"level_id" example:"1"`
	PlayerId          int             `json:"player_id" binding:"required" db:"player_id" example:"1"`
	PlayerName        string          `json:"player_name" binding:"required" db:"player_name" example:"Player"`
	Time              time.Time       `json:"-" binding:"required" db:"time"`
	NumPressErrByChar map[rune][2]int `json:"num_press_err_by_char" binding:"required" db:"-" example:"{\"A\":[10,4],\"B\":[30,23]}"`
	Accuracy          float64         `json:"accuracy" db:"accuracy" example:"0.4"`
	AverageVelocity   float32         `json:"average_velocity" db:"average_velocity" binding:"required" example:"0.5"`
	MaxCombo          int             `json:"max_combo" db:"max_combo" binding:"required" example:"100"`
	Placement         int             `json:"placement" db:"placement" binding:"required" example:"1"`
	Points            int             `json:"points" db:"points" binding:"required" example:"1000"`
}

Jump to

Keyboard shortcuts

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