83 lines
2.7 KiB
Go
83 lines
2.7 KiB
Go
package domain
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type BetOutcome struct {
|
|
ID int64 `json:"id" example:"1"`
|
|
BetID int64 `json:"bet_id" example:"1"`
|
|
EventID int64 `json:"event_id" example:"1"`
|
|
OddID int64 `json:"odd_id" example:"1"`
|
|
SportID int64 `json:"sport_id" example:"1"`
|
|
HomeTeamName string `json:"home_team_name" example:"Manchester"`
|
|
AwayTeamName string `json:"away_team_name" example:"Liverpool"`
|
|
MarketID int64 `json:"market_id" example:"1"`
|
|
MarketName string `json:"market_name" example:"Fulltime Result"`
|
|
Odd float32 `json:"odd" example:"1.5"`
|
|
OddName string `json:"odd_name" example:"1"`
|
|
OddHeader string `json:"odd_header" example:"1"`
|
|
OddHandicap string `json:"odd_handicap" example:"1"`
|
|
Status OutcomeStatus `json:"status" example:"1"`
|
|
Expires time.Time `json:"expires" example:"2025-04-08T12:00:00Z"`
|
|
}
|
|
|
|
type CreateBetOutcome struct {
|
|
BetID int64 `json:"bet_id" example:"1"`
|
|
EventID int64 `json:"event_id" example:"1"`
|
|
OddID int64 `json:"odd_id" example:"1"`
|
|
SportID int64 `json:"sport_id" example:"1"`
|
|
HomeTeamName string `json:"home_team_name" example:"Manchester"`
|
|
AwayTeamName string `json:"away_team_name" example:"Liverpool"`
|
|
MarketID int64 `json:"market_id" example:"1"`
|
|
MarketName string `json:"market_name" example:"Fulltime Result"`
|
|
Odd float32 `json:"odd" example:"1.5"`
|
|
OddName string `json:"odd_name" example:"1"`
|
|
OddHeader string `json:"odd_header" example:"1"`
|
|
OddHandicap string `json:"odd_handicap" example:"1"`
|
|
Expires time.Time `json:"expires" example:"2025-04-08T12:00:00Z"`
|
|
}
|
|
|
|
// If it is a ShopBet then UserID will be the cashier
|
|
// If it is a DigitalBet then UserID will be the user and the branchID will be 0 or nil
|
|
type Bet struct {
|
|
ID int64
|
|
Amount Currency
|
|
TotalOdds float32
|
|
Status OutcomeStatus
|
|
FullName string
|
|
PhoneNumber string
|
|
BranchID ValidInt64 // Can Be Nullable
|
|
UserID ValidInt64 // Can Be Nullable
|
|
IsShopBet bool
|
|
CashedOut bool
|
|
CashoutID string
|
|
}
|
|
|
|
type GetBet struct {
|
|
ID int64
|
|
Amount Currency
|
|
TotalOdds float32
|
|
Status OutcomeStatus
|
|
FullName string
|
|
PhoneNumber string
|
|
BranchID ValidInt64 // Can Be Nullable
|
|
UserID ValidInt64 // Can Be Nullable
|
|
IsShopBet bool
|
|
CashedOut bool
|
|
CashoutID string
|
|
Outcomes []BetOutcome
|
|
}
|
|
|
|
type CreateBet struct {
|
|
Amount Currency
|
|
TotalOdds float32
|
|
Status OutcomeStatus
|
|
FullName string
|
|
PhoneNumber string
|
|
BranchID ValidInt64 // Can Be Nullable
|
|
UserID ValidInt64 // Can Be Nullable
|
|
IsShopBet bool
|
|
CashoutID string
|
|
}
|