package model

type TipStatus int

const (
	Waiting TipStatus = 0
	Won     TipStatus = 1
	Lost    TipStatus = 2
	Void    TipStatus = 3
)

type SportReport struct {
	SportID  int64   `json:"sportID"`
	WonTips  int     `json:"wonTips"`
	LostTips int     `json:"lostTips"`
	Profit   float64 `json:"profit"`   // прибыль / убыток в деньгах
	Turnover float64 `json:"turnover"` // оборот, сумма поставленных денег
	ROI      float64 `json:"roi"`      // return on investments
	Drawdown float64 `json:"drawdown"` // просадка, в деньгах
	Accuracy float64 `json:"accuracy"` // точность прогноза
}

type StrategyReport struct {
	StrategyID int64   `json:"strategyID"`
	Strategy   string  `json:"strategy"`
	WonTips    int     `json:"wonTips"`
	LostTips   int     `json:"lostTips"`
	Profit     float64 `json:"profit"`   // прибыль / убыток в деньгах
	Turnover   float64 `json:"turnover"` // оборот, сумма поставленных денег
	ROI        float64 `json:"roi"`      // return on investments
	Drawdown   float64 `json:"drawdown"` // просадка, в деньгах
	Accuracy   float64 `json:"accuracy"` // точность прогноза
}

type SetTipResultReq struct {
	TipID  int64     `json:"tipID"`
	Result string    `json:"result"`
	Status TipStatus `json:"status"`
	Notes  string    `json:"notes"`
}

type Tip struct {
	TipID               int64     `json:"tipID" qx:"table=tips; pk; seq=true"`
	SportID             int64     `json:"sportID"`
	StrategyID          int64     `json:"strategyID"`
	MatchID             string    `json:"matchID"`
	TipTime             int64     `json:"tipTime"`
	ChampID             string    `json:"champID"`
	ChampName           string    `json:"champName"`
	MatchName           string    `json:"matchName"`
	Market              int       `json:"market"`
	Side                int       `json:"side"`
	Strategy            string    `json:"strategy" qx:"-"`
	Param               string    `json:"param"`
	Price               float64   `json:"price"`
	CurrentMatchTime    int       `json:"currentMatchTime"`
	Notes               string    `json:"notes"`
	Result              string    `json:"result"`
	Status              TipStatus `json:"status"`
	OnexbetStatsMatchID string    `json:"onexbetStatsMatchID"`
	IsRated             bool      `json:"isRated"`
	IsTeamsSwapped      bool      `json:"isTeamsSwapped"`
}
