Yimaru-BackEnd/internal/domain/market_settings.go

170 lines
4.6 KiB
Go

package domain
import (
"time"
dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db"
)
type MarketSettings struct {
MarketID int64
MarketName string
IsActive bool
UpdatedAt time.Time
}
type MarketSettingsRes struct {
MarketID int64 `json:"market_id"`
MarketName string `json:"market_name"`
IsActive bool `json:"is_active"`
UpdatedAt time.Time `json:"updated_at"`
}
type CreateGlobalMarketSettings struct {
MarketID int64
MarketName string
IsActive bool
}
type CreateCompanyMarketSettings struct {
CompanyID int64
MarketID int64
MarketName string
IsActive ValidBool
}
type CreateCompanyMarketSettingsReq struct {
MarketID int64 `json:"market_id"`
MarketName string `json:"market_name"`
IsActive *bool `json:"is_active,omitempty"`
}
type CompanyMarketSettings struct {
CompanyID int64
MarketID int64
MarketName string
IsActive ValidBool
UpdatedAt time.Time
}
type CompanyMarketSettingsRes struct {
CompanyID int64 `json:"company_id"`
MarketID int64 `json:"market_id"`
MarketName string `json:"market_name"`
IsActive bool `json:"is_active"`
UpdatedAt time.Time `json:"updated_at"`
}
type MarketSettingFilter struct {
Limit ValidInt32
Offset ValidInt32
}
type CompanyMarketSettingFilter struct {
Limit ValidInt32
Offset ValidInt32
CompanyID ValidInt64
}
func ConvertMarketSettingsRes(setting MarketSettings) MarketSettingsRes {
return MarketSettingsRes{
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: setting.IsActive,
UpdatedAt: setting.UpdatedAt,
}
}
func ConvertMarketSettingsResList(settings []MarketSettings) []MarketSettingsRes {
result := make([]MarketSettingsRes, len(settings))
for i, setting := range settings {
result[i] = ConvertMarketSettingsRes(setting)
}
return result
}
func ConvertCreateCompanyMarketSettingsReq(setting CreateCompanyMarketSettingsReq, companyId int64) CreateCompanyMarketSettings {
return CreateCompanyMarketSettings{
CompanyID: companyId,
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: ConvertBoolPtr(setting.IsActive),
}
}
func ConvertCreateGlobalMarketSettings(setting CreateGlobalMarketSettings) dbgen.InsertGlobalMarketSettingsParams {
return dbgen.InsertGlobalMarketSettingsParams{
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: setting.IsActive,
}
}
func ConvertCreateCompanyMarketSettings(setting CreateCompanyMarketSettings) dbgen.InsertCompanyMarketSettingsParams {
return dbgen.InsertCompanyMarketSettingsParams{
CompanyID: setting.CompanyID,
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: setting.IsActive.ToPG(),
}
}
func ConvertDBGlobalMarketSettings(setting dbgen.GlobalOddMarketSetting) MarketSettings {
return MarketSettings{
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: setting.IsActive,
UpdatedAt: setting.UpdatedAt.Time,
}
}
func ConvertDBCompanyMarketSettingsList(settings []dbgen.CompanyOddMarketSetting) []CompanyMarketSettings {
result := make([]CompanyMarketSettings, len(settings))
for i, setting := range settings {
result[i] = ConvertDBCompanyMarketSettings(setting)
}
return result
}
func ConvertDBCompanyMarketSettings(setting dbgen.CompanyOddMarketSetting) CompanyMarketSettings {
return CompanyMarketSettings{
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: ValidBool{
Value: setting.IsActive.Bool,
Valid: setting.IsActive.Valid,
},
UpdatedAt: setting.UpdatedAt.Time,
}
}
func ConvertDBGlobalMarketSettingsList(settings []dbgen.GlobalOddMarketSetting) []MarketSettings {
result := make([]MarketSettings, len(settings))
for i, setting := range settings {
result[i] = ConvertDBGlobalMarketSettings(setting)
}
return result
}
func ConvertDBGetAllOverrideMarketSettings(setting dbgen.GetAllOverrideMarketSettingsRow) MarketSettings {
return MarketSettings{
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: setting.IsActive,
UpdatedAt: setting.UpdatedAt.Time,
}
}
func ConvertDBGetOverrideMarketSettingsByID(setting dbgen.GetOverrideMarketSettingByIDRow) MarketSettings {
return MarketSettings{
MarketID: setting.MarketID,
MarketName: setting.MarketName,
IsActive: setting.IsActive,
UpdatedAt: setting.UpdatedAt.Time,
}
}
func ConvertDBGetAllOverrideMarketSettingsList(settings []dbgen.GetAllOverrideMarketSettingsRow) []MarketSettings {
result := make([]MarketSettings, len(settings))
for i, setting := range settings {
result[i] = ConvertDBGetAllOverrideMarketSettings(setting)
}
return result
}