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 }