brawlset/backend/types.go
2025-06-10 23:17:50 +02:00

81 lines
3.7 KiB
Go

package main
import (
"github.com/pocketbase/pocketbase/tools/types"
)
type MtgSet struct {
ID string `db:"id" json:"id,omitempty"`
Code string `db:"code" json:"code,omitempty"`
Name string `db:"name" json:"name,omitempty"`
SanitizedName string `db:"sanitized_name" json:"sanitized_name,omitempty"`
ReleasedAt string `db:"release_at" json:"released_at,omitempty"`
IconUri string `db:"icon_uri" json:"icon_uri,omitempty"`
SetType string `db:"type" json:"type,omitempty"`
}
type Brawlset struct {
ID string `db:"id" json:"id,omitempty"`
Name string `db:"name" json:"name,omitempty"`
SanitizedName string `db:"sanitized_name" json:"sanitized_name,omitempty"`
Sets types.JSONArray[string] `db:"sets" json:"sets,omitempty"`
}
type Carte struct {
ID string `db:"id" json:"id,omitempty"`
Name string `db:"name" json:"name,omitempty"`
SanitizedName string `db:"sanitized_name" json:"sanitized_name,omitempty"`
Layout string `db:"layout" json:"layout,omitempty"`
SmallImage string `db:"small_image" json:"small_image,omitempty"`
SmallImageBack string `db:"small_image_back" json:"small_image_back,omitempty"`
NormalImage string `db:"normal_image" json:"normal_image,omitempty"`
NormalImageBack string `db:"normal_image_back" json:"normal_image_back,omitempty"`
CardType string `db:"type" json:"type,omitempty"`
ColorIdentity types.JSONArray[string] `db:"color_identity" json:"color_identity,omitempty"`
ReleasedAt string `db:"released_at" json:"released_at,omitempty"`
MtgSet string `db:"mtg_set" json:"mtg_set,omitempty"`
SetCode string `db:"set_code" json:"set_code,omitempty"`
Price string `db:"price" json:"price,omitempty"`
CardmarketUri string `db:"cardmarket_url" json:"cardmarket_url,omitempty"`
CanBeCommander bool `db:"can_be_commander" json:"can_be_commander,omitempty"`
Banned bool `db:"banned" json:"banned,omitempty"`
}
type DeckCard struct {
ID string `json:"id,omitempty"`
Amount int `json:"amount,omitempty"`
}
type Deck struct {
ID string `db:"id" json:"id,omitempty"`
Name string `db:"name" json:"name,omitempty"`
ColorIdentity types.JSONArray[string] `db:"color_identity" json:"color_identity,omitempty"`
Owner string `db:"owner" json:"owner,omitempty"`
Commander string `db:"commander" json:"commander,omitempty"`
Brawlset string `db:"brawlset" json:"brawslet,omitempty"`
Cards types.JSONArray[DeckCard] `db:"cartes" json:"cartes,omitempty"`
}
type Elo struct {
ID string `db:"id" json:"id"`
Date string `db:"date" json:"date"`
Player1 string `db:"player_1" json:"player_1"`
Player2 string `db:"player_2" json:"player_2"`
Commander1 string `db:"commandant_1" json:"commander_1"`
Commander2 string `db:"commandant_2" json:"commander_2"`
Score1 int `db:"score_1" json:"score_1"`
Score2 int `db:"score_2" json:"score_2"`
Official bool `db:"official" json:"official"`
EloCommander1 float64 `db:"elo_commandant_1" json:"elo_commander_1"`
EloCommander2 float64 `db:"elo_commandant_2" json:"elo_commander_2"`
EloPlayer1 float64 `db:"elo_player_1" json:"elo_player_1"`
EloPlayer2 float64 `db:"elo_player_2" json:"elo_player_2"`
}
type EloPlayer struct {
ID string `db:"id" json:"id"`
User string `db:"user" json:"user"`
Username string `db:"username" json:"username"`
EloCasual float64 `db:"elo_casual" json:"elo_casual"`
EloTournament float64 `db:"elo_tournament" json:"elo_tournament"`
}