Documentation
¶
Index ¶
- type AllowedLicense
- type AuthRequest
- type AuthResponse
- type AuthenticationError
- type AuthenticationResult
- type Authenticator
- type Car
- type CarClass
- type CarInClass
- type CarPaintRule
- type CarType
- type CarTypes
- type Category
- type ConfigurationError
- type DataCar
- type DataCarClass
- type DataConstant
- type DataHosted
- type DataLeague
- type DataResults
- type DataSeason
- type DataSeries
- type DataTrack
- type DefaultAuthenticator
- type Division
- type DriverHelmet
- type DriverSuit
- type EventType
- type EventTypes
- type ForecastOptions
- type FromOption
- type HeatSessionInfo
- type Helmet
- type HostedCombinedSessionsOption
- type HostedSession
- type HostedSessions
- type IRData
- type IncludeEndAfterFromOption
- type IncludeLicensesOption
- type League
- type LeagueGetOption
- type LeagueImage
- type LeagueMember
- type LeagueSeason
- type LeagueSeasonCar
- type LeagueSeasonCarClass
- type LeagueSeasonSession
- type LeagueSeasonSessionCar
- type LeagueSeasonSessions
- type LeagueSeasonSessionsOption
- type LeagueSeasons
- type LeagueSeasonsOption
- type LeagueTags
- type LicenseGroupType
- type LinkError
- type Logger
- type Options
- func WithAuthenticator(f func(ird IRData, def Authenticator) Authenticator) Options
- func WithAutoReauthorize(autoReauthorize bool) Options
- func WithAutoReauthorizeThreshold(reauthorizeThreshold time.Duration) Options
- func WithHttpClient(client *http.Client) Options
- func WithMembersUrl(membersUrl string) Options
- func WithRateLimitLocking(enabled bool) Options
- func WithRateLimitRetry(attempts int) Options
- func WithRateLimitWait(maxWait time.Duration) Options
- type OptionsAuthenticator
- type OptionsAutoReauthorize
- type OptionsAutoReauthorizeThreshold
- type OptionsHttpClient
- type OptionsMembersUrl
- type OptionsRateLimitLocking
- type OptionsRateLimitRetry
- type OptionsRateLimitWait
- type PackageIDOption
- type RaceGuide
- type RaceGuideOption
- type RaceGuideSession
- type RaceTimeDescriptor
- type RateLimit
- type RateLimitExceededError
- type RedisAuthenticator
- type ResultAllowedLicense
- type ResultCarClass
- type ResultCarInClass
- type ResultLivery
- type ResultRaceSummary
- type ResultSession
- type ResultSessionResult
- type ResultSessionSplit
- type ResultSessionWeather
- type ResultSubSessionResult
- type ResultTrack
- type ResultTrackState
- type ResultWeather
- type ResultsFromOption
- type ResultsGetOption
- type ResultsOnlyOption
- type RetiredOption
- type Season
- type SeasonIDs
- type Seasons
- type Series
- type SeriesAsset
- type SeriesAssets
- type SeriesAssetsOption
- type SeriesItem
- type SeriesSeason
- type SeriesSeasonSchedule
- type SeriesSeasonScheduleCar
- type SeriesSeasonTrack
- type SeriesSeasons
- type SeriesSeasonsOption
- type ServiceUnavailableError
- type Session
- type SessionCar
- type SessionDriver
- type SessionEligibility
- type SessionEventType
- type SessionHeatInfo
- type SessionLicenseGroupType
- type SessionServerFarm
- type SessionTrack
- type SessionTrackState
- type SessionType
- type SessionWeather
- type SpectatorSubSessionIDs
- type SpectatorSubSessionIDsDetail
- type SpectatorSubSessionIDsDetailSubsession
- type SpectatorSubSessionIDsOption
- type Track
- type TrackAssets
- type TrackState
- type TrackType
- type Weather
- type WeatherSummary
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllowedLicense ¶ added in v0.1.6
type AuthRequest ¶
type AuthResponse ¶
type AuthResponse struct {
AuthCode interface{} `json:"authcode"`
AutoLoginSeries string `json:"autoLoginSeries"`
AutoLoginToken string `json:"autoLoginToken"`
CustId int `json:"custId"`
Email string `json:"email"`
SsoCookieDomain string `json:"ssoCookieDomain"`
SsoCookieName string `json:"ssoCookieName"`
SsoCookiePath string `json:"ssoCookiePath"`
SsoCookieValue string `json:"ssoCookieValue"`
Message string `json:"message"`
Inactive bool `json:"inactive"`
VerificationRequired bool `json:"verificationRequired"`
}
type AuthenticationError ¶
func (*AuthenticationError) Error ¶
func (e *AuthenticationError) Error() string
type AuthenticationResult ¶ added in v0.3.1
type Authenticator ¶ added in v0.3.1
type Car ¶
type Car struct {
AiEnabled bool `json:"ai_enabled"`
AllowNumberColors bool `json:"allow_number_colors"`
AllowNumberFont bool `json:"allow_number_font"`
AllowSponsor1 bool `json:"allow_sponsor1"`
AllowSponsor2 bool `json:"allow_sponsor2"`
AllowWheelColor bool `json:"allow_wheel_color"`
AwardExempt bool `json:"award_exempt"`
CarDirPath string `json:"car_dirpath"`
CarID int `json:"car_id"`
CarName string `json:"car_name"`
CarNameAbbreviated string `json:"car_name_abbreviated"`
CarTypes []CarType `json:"car_types"`
CarWeight int `json:"car_weight"`
Categories []string `json:"categories"`
Created time.Time `json:"created"`
FirstSale time.Time `json:"first_sale"`
ForumURL string `json:"forum_url,omitempty"`
FreeWithSubscription bool `json:"free_with_subscription"`
HasHeadlights bool `json:"has_headlights"`
HasMultipleDryTireTypes bool `json:"has_multiple_dry_tire_types"`
HasRainCapableTireTypes bool `json:"has_rain_capable_tire_types"`
Hp int `json:"hp"`
IsPsPurchasable bool `json:"is_ps_purchasable"`
MaxPowerAdjustPct int `json:"max_power_adjust_pct"`
MaxWeightPenaltyKg int `json:"max_weight_penalty_kg"`
MinPowerAdjustPct int `json:"min_power_adjust_pct"`
PackageID int `json:"package_id"`
Patterns int `json:"patterns"`
Price float64 `json:"price"`
PriceDisplay string `json:"price_display,omitempty"`
RainEnabled bool `json:"rain_enabled"`
Retired bool `json:"retired"`
SearchFilters string `json:"search_filters"`
Sku int `json:"sku"`
CarMake string `json:"car_make,omitempty"`
CarModel string `json:"car_model,omitempty"`
PaintRules map[string]CarPaintRule `json:"paint_rules,omitempty"`
SiteURL string `json:"site_url,omitempty"`
}
type CarInClass ¶
type CarPaintRule ¶
type CarPaintRule struct {
RestrictCustomPaint bool `json:"RestrictCustomPaint,omitempty"`
PaintCarAvailable bool `json:"PaintCarAvailable"`
Color1 string `json:"Color1"`
Color2 string `json:"Color2"`
Color3 string `json:"Color3"`
Sponsor1Available bool `json:"Sponsor1Available"`
Sponsor2Available bool `json:"Sponsor2Available"`
Sponsor1 string `json:"Sponsor1"`
Sponsor2 string `json:"Sponsor2"`
RulesExplanation string `json:"RulesExplanation"`
}
func (*CarPaintRule) MarshalJSON ¶
func (r *CarPaintRule) MarshalJSON() ([]byte, error)
func (*CarPaintRule) UnmarshalJSON ¶
func (r *CarPaintRule) UnmarshalJSON(data []byte) error
type ConfigurationError ¶
func (*ConfigurationError) Error ¶
func (e *ConfigurationError) Error() string
type DataConstant ¶
type DataHosted ¶
type DataHosted interface {
GetSessions(ctx context.Context) (HostedSessions, error)
GetCombinedSessions(ctx context.Context, opts ...HostedCombinedSessionsOption) (HostedSessions, error)
}
type DataLeague ¶ added in v0.1.22
type DataLeague interface {
Get(ctx context.Context, leagueId int, opts ...LeagueGetOption) (League, error)
Seasons(ctx context.Context, leagueId int, opts ...LeagueSeasonsOption) (LeagueSeasons, error)
SeasonSessions(ctx context.Context, leagueId int, seasonId int, opts ...LeagueSeasonSessionsOption) (LeagueSeasonSessions, error)
}
DataLeague interface defines the methods for interacting with leagues
type DataResults ¶ added in v0.1.20
type DataResults interface {
Get(ctx context.Context, subsessionId int, opts ...ResultsGetOption) (ResultSession, error)
}
type DataSeason ¶ added in v0.1.6
type DataSeason interface {
List(ctx context.Context, year int, quarter int) (Seasons, error)
RaceGuide(ctx context.Context, opts ...RaceGuideOption) (RaceGuide, error)
SpectatorSubSessionIDs(ctx context.Context, opts ...SpectatorSubSessionIDsOption) (SpectatorSubSessionIDs, error)
SpectatorSubSessionIDsDetail(ctx context.Context, opts ...SpectatorSubSessionIDsOption) (SpectatorSubSessionIDsDetail, error)
}
type DataSeries ¶ added in v0.1.6
type DataSeries interface {
Assets(ctx context.Context, opts ...SeriesAssetsOption) (SeriesAssets, error)
Get(ctx context.Context) (Series, error)
Seasons(ctx context.Context, opts ...SeriesSeasonsOption) (SeriesSeasons, error)
}
type DefaultAuthenticator ¶ added in v0.3.1
type DefaultAuthenticator struct {
Authenticator
// contains filtered or unexported fields
}
func NewDefaultAuthenticator ¶ added in v0.3.1
func NewDefaultAuthenticator(irdata IRData) (*DefaultAuthenticator, error)
type DriverHelmet ¶
type DriverSuit ¶ added in v0.1.20
type EventTypes ¶ added in v0.1.6
type EventTypes struct {
EventTypes []int
}
func (*EventTypes) ApplySpectatorSubSessionIDs ¶ added in v0.1.6
func (o *EventTypes) ApplySpectatorSubSessionIDs(v *url.Values)
type ForecastOptions ¶ added in v0.1.7
type ForecastOptions struct {
ForecastType int `json:"forecast_type"`
Precipitation int `json:"precipitation"`
Skies int `json:"skies"`
StopPrecip int `json:"stop_precip"`
Temperature int `json:"temperature"`
WeatherSeed int64 `json:"weather_seed"`
WindDir int `json:"wind_dir"`
WindSpeed int `json:"wind_speed"`
}
type FromOption ¶ added in v0.1.6
func (*FromOption) ApplyRaceGuide ¶ added in v0.1.6
func (o *FromOption) ApplyRaceGuide(v *url.Values)
type HeatSessionInfo ¶ added in v0.1.7
type HeatSessionInfo struct {
ConsolationDeltaMaxFieldSize int `json:"consolation_delta_max_field_size"`
ConsolationDeltaSessionLaps int `json:"consolation_delta_session_laps"`
ConsolationDeltaSessionLengthMinutes int `json:"consolation_delta_session_length_minutes"`
ConsolationFirstMaxFieldSize int `json:"consolation_first_max_field_size"`
ConsolationFirstSessionLaps int `json:"consolation_first_session_laps"`
ConsolationFirstSessionLengthMinutes int `json:"consolation_first_session_length_minutes"`
ConsolationNumPositionToInvert int `json:"consolation_num_position_to_invert"`
ConsolationNumToConsolation int `json:"consolation_num_to_consolation"`
ConsolationNumToMain int `json:"consolation_num_to_main"`
ConsolationRunAlways bool `json:"consolation_run_always"`
ConsolationScoresChampPoints bool `json:"consolation_scores_champ_points"`
Created time.Time `json:"created"`
CustID int `json:"cust_id"`
Description string `json:"description"`
HeatCautionType int `json:"heat_caution_type"`
HeatInfoID int `json:"heat_info_id"`
HeatInfoName string `json:"heat_info_name"`
HeatLaps int `json:"heat_laps"`
HeatLengthMinutes int `json:"heat_length_minutes"`
HeatMaxFieldSize int `json:"heat_max_field_size"`
HeatNumFromEachToMain int `json:"heat_num_from_each_to_main"`
HeatNumPositionToInvert int `json:"heat_num_position_to_invert"`
HeatScoresChampPoints bool `json:"heat_scores_champ_points"`
HeatSessionMinutesEstimate int `json:"heat_session_minutes_estimate"`
Hidden bool `json:"hidden"`
MainLaps int `json:"main_laps"`
MainLengthMinutes int `json:"main_length_minutes"`
MainMaxFieldSize int `json:"main_max_field_size"`
MainNumPositionToInvert int `json:"main_num_position_to_invert"`
MaxEntrants int `json:"max_entrants"`
OpenPractice bool `json:"open_practice"`
PreMainPracticeLengthMinutes int `json:"pre_main_practice_length_minutes"`
PreQualNumToMain int `json:"pre_qual_num_to_main"`
PreQualPracticeLengthMinutes int `json:"pre_qual_practice_length_minutes"`
QualCautionType int `json:"qual_caution_type"`
QualLaps int `json:"qual_laps"`
QualLengthMinutes int `json:"qual_length_minutes"`
QualNumToMain int `json:"qual_num_to_main"`
QualOpenDelaySeconds int `json:"qual_open_delay_seconds"`
QualScoresChampPoints bool `json:"qual_scores_champ_points"`
QualScoring int `json:"qual_scoring"`
QualStyle int `json:"qual_style"`
RaceStyle int `json:"race_style"`
}
type HostedSession ¶
type HostedSession struct {
Session
Admins []SessionDriver `json:"admins"`
}
type HostedSessions ¶
type HostedSessions struct {
Subscribed bool `json:"subscribed"`
Sessions []HostedSession `json:"sessions"`
Success bool `json:"success"`
}
type IRData ¶
type IRData interface {
Email() string
IsLoggedIn() bool
GetLoginExpiration() time.Time
MembersUrl() string
HttpClient() *http.Client
RateLimit() *RateLimit
Car() DataCar
CarClass() DataCarClass
Constant() DataConstant
Hosted() DataHosted
League() DataLeague
Track() DataTrack
Season() DataSeason
Series() DataSeries
Results() DataResults
}
type IncludeEndAfterFromOption ¶ added in v0.1.6
type IncludeEndAfterFromOption struct {
Include bool
}
func (*IncludeEndAfterFromOption) ApplyRaceGuide ¶ added in v0.1.6
func (o *IncludeEndAfterFromOption) ApplyRaceGuide(v *url.Values)
type IncludeLicensesOption ¶ added in v0.1.22
type IncludeLicensesOption struct {
IncludeLicenses bool
}
IncludeLicensesOption implements LeagueGetOption
func (*IncludeLicensesOption) ApplyLeagueGet ¶ added in v0.1.22
func (o *IncludeLicensesOption) ApplyLeagueGet(v *url.Values)
type League ¶ added in v0.1.22
type League struct {
LeagueID int `json:"league_id"`
OwnerID int `json:"owner_id"`
LeagueName string `json:"league_name"`
Created time.Time `json:"created"`
Hidden bool `json:"hidden"`
Message string `json:"message"`
About string `json:"about"`
URL string `json:"url"`
Recruiting bool `json:"recruiting"`
PrivateWall bool `json:"private_wall"`
PrivateRoster bool `json:"private_roster"`
PrivateSchedule bool `json:"private_schedule"`
PrivateResults bool `json:"private_results"`
IsOwner bool `json:"is_owner"`
IsAdmin bool `json:"is_admin"`
RosterCount int `json:"roster_count"`
Owner LeagueMember `json:"owner"`
Image LeagueImage `json:"image"`
Tags LeagueTags `json:"tags"`
LeagueApplications []any `json:"league_applications"`
PendingRequests []any `json:"pending_requests"`
IsMember bool `json:"is_member"`
IsApplicant bool `json:"is_applicant"`
IsInvite bool `json:"is_invite"`
IsIgnored bool `json:"is_ignored"`
Roster []LeagueMember `json:"roster"`
}
type LeagueGetOption ¶ added in v0.1.22
LeagueGetOption interface for options to the Get method
type LeagueImage ¶ added in v0.1.22
type LeagueMember ¶ added in v0.1.22
type LeagueMember struct {
CustID int `json:"cust_id"`
DisplayName string `json:"display_name"`
Helmet Helmet `json:"helmet"`
Owner bool `json:"owner,omitempty"`
Admin bool `json:"admin,omitempty"`
LeagueMailOptOut bool `json:"league_mail_opt_out,omitempty"`
LeaguePmOptOut bool `json:"league_pm_opt_out,omitempty"`
LeagueMemberSince time.Time `json:"league_member_since,omitempty"`
CarNumber any `json:"car_number"`
NickName any `json:"nick_name"`
}
type LeagueSeason ¶ added in v0.2.1
type LeagueSeason struct {
LeagueID int `json:"league_id"`
SeasonID int `json:"season_id"`
PointsSystemID int `json:"points_system_id"`
SeasonName string `json:"season_name"`
Active bool `json:"active"`
Hidden bool `json:"hidden"`
NumDrops int `json:"num_drops"`
NoDropsOnOrAfterRaceNum int `json:"no_drops_on_or_after_race_num"`
PointsCars []LeagueSeasonCar `json:"points_cars"`
DriverPointsCarClasses []LeagueSeasonCarClass `json:"driver_points_car_classes"`
TeamPointsCarClasses []LeagueSeasonCarClass `json:"team_points_car_classes"`
PointsSystemName string `json:"points_system_name"`
PointsSystemDesc string `json:"points_system_desc"`
}
type LeagueSeasonCar ¶ added in v0.2.1
type LeagueSeasonCarClass ¶ added in v0.2.1
type LeagueSeasonCarClass struct {
CarClassID int `json:"car_class_id"`
Name string `json:"name"`
CarsInClass []LeagueSeasonCar `json:"cars_in_class"`
}
type LeagueSeasonSession ¶ added in v0.2.1
type LeagueSeasonSession struct {
Cars []LeagueSeasonSessionCar `json:"cars"`
DriverChanges bool `json:"driver_changes"`
EntryCount int `json:"entry_count"`
HasResults bool `json:"has_results"`
LaunchAt time.Time `json:"launch_at"`
LeagueID int `json:"league_id"`
LeagueSeasonID int `json:"league_season_id"`
LoneQualify bool `json:"lone_qualify"`
PaceCarClassID any `json:"pace_car_class_id"`
PaceCarID any `json:"pace_car_id"`
PasswordProtected bool `json:"password_protected"`
PracticeLength int `json:"practice_length"`
PrivateSessionID int `json:"private_session_id"`
QualifyLaps int `json:"qualify_laps"`
QualifyLength int `json:"qualify_length"`
RaceLaps int `json:"race_laps"`
RaceLength int `json:"race_length"`
SessionID int `json:"session_id"`
SubsessionID int `json:"subsession_id"`
Status int `json:"status"`
TrackID int `json:"track_id"`
TrackName string `json:"track_name"`
}
type LeagueSeasonSessionCar ¶ added in v0.2.1
type LeagueSeasonSessions ¶ added in v0.2.1
type LeagueSeasonSessions struct {
Sessions []LeagueSeasonSession `json:"sessions"`
}
type LeagueSeasonSessionsOption ¶ added in v0.2.1
LeagueSeasonSessionsOption interface for options to the SeasonSessions method
type LeagueSeasons ¶ added in v0.2.1
type LeagueSeasons struct {
Subscribed bool `json:"subscribed"`
Seasons []LeagueSeason `json:"seasons"`
Success bool `json:"success"`
Retired bool `json:"retired"`
LeagueID int `json:"league_id"`
}
type LeagueSeasonsOption ¶ added in v0.2.1
LeagueSeasonsOption interface for options to the Seasons method
type LeagueTags ¶ added in v0.1.22
type LicenseGroupType ¶ added in v0.1.7
type LicenseGroupType struct {
LicenseGroupType int `json:"license_group_type"`
}
type Options ¶
type Options interface {
Apply(data *irdata) error
}
func WithAuthenticator ¶ added in v0.3.2
func WithAuthenticator(f func(ird IRData, def Authenticator) Authenticator) Options
func WithAutoReauthorize ¶
func WithHttpClient ¶
func WithMembersUrl ¶
func WithRateLimitLocking ¶ added in v0.1.18
func WithRateLimitRetry ¶ added in v0.1.18
func WithRateLimitWait ¶ added in v0.1.18
type OptionsAuthenticator ¶ added in v0.3.2
type OptionsAuthenticator struct {
AuthenticatorInit func(ird IRData, def Authenticator) Authenticator
}
func (OptionsAuthenticator) Apply ¶ added in v0.3.2
func (o OptionsAuthenticator) Apply(data *irdata) error
type OptionsAutoReauthorize ¶
type OptionsAutoReauthorize struct {
}
func (OptionsAutoReauthorize) Apply ¶
func (o OptionsAutoReauthorize) Apply(data *irdata) error
type OptionsAutoReauthorizeThreshold ¶
type OptionsAutoReauthorizeThreshold struct {
}
func (OptionsAutoReauthorizeThreshold) Apply ¶
func (o OptionsAutoReauthorizeThreshold) Apply(data *irdata) error
type OptionsHttpClient ¶
func (OptionsHttpClient) Apply ¶
func (o OptionsHttpClient) Apply(data *irdata) error
type OptionsMembersUrl ¶
type OptionsMembersUrl struct {
MembersUrl string
}
func (OptionsMembersUrl) Apply ¶
func (o OptionsMembersUrl) Apply(data *irdata) error
type OptionsRateLimitLocking ¶ added in v0.1.18
type OptionsRateLimitLocking struct {
Enabled bool
}
func (OptionsRateLimitLocking) Apply ¶ added in v0.1.18
func (o OptionsRateLimitLocking) Apply(data *irdata) error
type OptionsRateLimitRetry ¶ added in v0.1.18
type OptionsRateLimitRetry struct {
Attempts int
}
func (OptionsRateLimitRetry) Apply ¶ added in v0.1.18
func (o OptionsRateLimitRetry) Apply(data *irdata) error
type OptionsRateLimitWait ¶ added in v0.1.18
func (OptionsRateLimitWait) Apply ¶ added in v0.1.18
func (o OptionsRateLimitWait) Apply(data *irdata) error
type PackageIDOption ¶
type PackageIDOption struct {
PackageID int
}
func (*PackageIDOption) ApplyHostedCombinedSessions ¶
func (o *PackageIDOption) ApplyHostedCombinedSessions(v *url.Values)
type RaceGuideOption ¶ added in v0.1.6
type RaceGuideSession ¶ added in v0.1.6
type RaceGuideSession struct {
SeasonID int `json:"season_id"`
StartTime time.Time `json:"start_time"`
SuperSession bool `json:"super_session"`
SeriesID int `json:"series_id"`
RaceWeekNum int `json:"race_week_num"`
EndTime time.Time `json:"end_time"`
SessionID int `json:"session_id,omitempty"`
EntryCount int `json:"entry_count"`
}
type RaceTimeDescriptor ¶ added in v0.1.7
type RateLimit ¶ added in v0.1.18
type RateLimit struct {
// contains filtered or unexported fields
}
func (*RateLimit) TotalLimit ¶ added in v0.1.18
type RateLimitExceededError ¶ added in v0.1.18
func (*RateLimitExceededError) Error ¶ added in v0.1.18
func (e *RateLimitExceededError) Error() string
type RedisAuthenticator ¶ added in v0.3.1
type RedisAuthenticator struct {
Authenticator
Logger Logger
KeyPrefix string
LocalCacheDuration time.Duration
// contains filtered or unexported fields
}
func NewRedisAuthenticator ¶ added in v0.3.1
func NewRedisAuthenticator(redis redis.Cmdable, authenticator Authenticator) (*RedisAuthenticator, error)
func NewRedisDefaultAuthenticator ¶ added in v0.3.1
func NewRedisDefaultAuthenticator(redis redis.Cmdable, irdata IRData) (*RedisAuthenticator, error)
type ResultAllowedLicense ¶ added in v0.1.20
type ResultCarClass ¶ added in v0.1.20
type ResultCarInClass ¶ added in v0.1.20
type ResultCarInClass struct {
CarID int `json:"car_id"`
}
type ResultLivery ¶ added in v0.1.20
type ResultLivery struct {
CarID int `json:"car_id"`
Pattern int `json:"pattern"`
Color1 string `json:"color1"`
Color2 string `json:"color2"`
Color3 string `json:"color3"`
NumberFont int `json:"number_font"`
NumberColor1 string `json:"number_color1"`
NumberColor2 string `json:"number_color2"`
NumberColor3 string `json:"number_color3"`
NumberSlant int `json:"number_slant"`
Sponsor1 int `json:"sponsor1"`
Sponsor2 int `json:"sponsor2"`
CarNumber string `json:"car_number"`
WheelColor interface{} `json:"wheel_color"`
RimType int `json:"rim_type"`
}
type ResultRaceSummary ¶ added in v0.1.20
type ResultRaceSummary struct {
SubsessionID int `json:"subsession_id"`
AverageLap int `json:"average_lap"`
LapsComplete int `json:"laps_complete"`
NumCautions int `json:"num_cautions"`
NumCautionLaps int `json:"num_caution_laps"`
NumLeadChanges int `json:"num_lead_changes"`
FieldStrength int `json:"field_strength"`
NumOptLaps int `json:"num_opt_laps"`
HasOptPath bool `json:"has_opt_path"`
SpecialEventType int `json:"special_event_type"`
SpecialEventTypeText string `json:"special_event_type_text"`
}
type ResultSession ¶ added in v0.1.20
type ResultSession struct {
SubsessionID int `json:"subsession_id"`
AllowedLicenses []ResultAllowedLicense `json:"allowed_licenses"`
AssociatedSubsessionIds []int `json:"associated_subsession_ids"`
CanProtest bool `json:"can_protest"`
CarClasses []ResultCarClass `json:"car_classes"`
CautionType int `json:"caution_type"`
CooldownMinutes int `json:"cooldown_minutes"`
CornersPerLap int `json:"corners_per_lap"`
DamageModel int `json:"damage_model"`
DriverChangeParam1 int `json:"driver_change_param1"`
DriverChangeParam2 int `json:"driver_change_param2"`
DriverChangeRule int `json:"driver_change_rule"`
DriverChanges bool `json:"driver_changes"`
EndTime time.Time `json:"end_time"`
EventAverageLap int `json:"event_average_lap"`
EventBestLapTime int `json:"event_best_lap_time"`
EventLapsComplete int `json:"event_laps_complete"`
EventStrengthOfField int `json:"event_strength_of_field"`
EventType int `json:"event_type"`
EventTypeName string `json:"event_type_name"`
HeatInfoID int `json:"heat_info_id"`
LicenseCategory string `json:"license_category"`
LicenseCategoryID int `json:"license_category_id"`
LimitMinutes int `json:"limit_minutes"`
MaxTeamDrivers int `json:"max_team_drivers"`
MaxWeeks int `json:"max_weeks"`
MinTeamDrivers int `json:"min_team_drivers"`
NumCautionLaps int `json:"num_caution_laps"`
NumCautions int `json:"num_cautions"`
NumDrivers int `json:"num_drivers"`
NumLapsForQualAverage int `json:"num_laps_for_qual_average"`
NumLapsForSoloAverage int `json:"num_laps_for_solo_average"`
NumLeadChanges int `json:"num_lead_changes"`
OfficialSession bool `json:"official_session"`
PointsType string `json:"points_type"`
PrivateSessionID int `json:"private_session_id"`
RaceSummary ResultRaceSummary `json:"race_summary"`
RaceWeekNum int `json:"race_week_num"`
ResultsRestricted bool `json:"results_restricted"`
SeasonID int `json:"season_id"`
SeasonName string `json:"season_name"`
SeasonQuarter int `json:"season_quarter"`
SeasonShortName string `json:"season_short_name"`
SeasonYear int `json:"season_year"`
SeriesID int `json:"series_id"`
SeriesLogo string `json:"series_logo"`
SeriesName string `json:"series_name"`
SeriesShortName string `json:"series_short_name"`
SessionID int `json:"session_id"`
SessionResults []ResultSessionResult `json:"session_results"`
SessionSplits []ResultSessionSplit `json:"session_splits"`
SpecialEventType int `json:"special_event_type"`
StartTime time.Time `json:"start_time"`
Track ResultTrack `json:"track"`
TrackState TrackState `json:"track_state"`
Weather ResultWeather `json:"weather"`
}
type ResultSessionResult ¶ added in v0.1.20
type ResultSessionResult struct {
SimsessionNumber int `json:"simsession_number"`
SimsessionName string `json:"simsession_name"`
SimsessionType int `json:"simsession_type"`
SimsessionTypeName string `json:"simsession_type_name"`
SimsessionSubtype int `json:"simsession_subtype"`
WeatherResult ResultSessionWeather `json:"weather_result"`
Results []ResultSubSessionResult `json:"results"`
}
type ResultSessionSplit ¶ added in v0.1.20
type ResultSessionWeather ¶ added in v0.1.20
type ResultSessionWeather struct {
AvgSkies float64 `json:"avg_skies"`
AvgCloudCoverPct float64 `json:"avg_cloud_cover_pct"`
MinCloudCoverPct float64 `json:"min_cloud_cover_pct"`
MaxCloudCoverPct float64 `json:"max_cloud_cover_pct"`
TempUnits float64 `json:"temp_units"`
AvgTemp float64 `json:"avg_temp"`
MinTemp float64 `json:"min_temp"`
MaxTemp float64 `json:"max_temp"`
AvgRelHumidity float64 `json:"avg_rel_humidity"`
WindUnits float64 `json:"wind_units"`
AvgWindSpeed float64 `json:"avg_wind_speed"`
MinWindSpeed float64 `json:"min_wind_speed"`
MaxWindSpeed float64 `json:"max_wind_speed"`
AvgWindDir float64 `json:"avg_wind_dir"`
MaxFog float64 `json:"max_fog"`
FogTimePct float64 `json:"fog_time_pct"`
PrecipTimePct float64 `json:"precip_time_pct"`
PrecipMm float64 `json:"precip_mm"`
PrecipMm2HrBeforeSession float64 `json:"precip_mm2hr_before_session"`
SimulatedStartTime string `json:"simulated_start_time"`
}
type ResultSubSessionResult ¶ added in v0.1.20
type ResultSubSessionResult struct {
CustID int `json:"cust_id"`
DisplayName string `json:"display_name"`
AggregateChampPoints int `json:"aggregate_champ_points"`
Ai bool `json:"ai"`
AverageLap float64 `json:"average_lap"`
BestLapNum int `json:"best_lap_num"`
BestLapTime float64 `json:"best_lap_time"`
BestNlapsNum int `json:"best_nlaps_num"`
BestNlapsTime float64 `json:"best_nlaps_time"`
BestQualLapAt time.Time `json:"best_qual_lap_at"`
BestQualLapNum int `json:"best_qual_lap_num"`
BestQualLapTime float64 `json:"best_qual_lap_time"`
CarClassID int `json:"car_class_id"`
CarClassName string `json:"car_class_name"`
CarClassShortName string `json:"car_class_short_name"`
CarID int `json:"car_id"`
CarName string `json:"car_name"`
ChampPoints int `json:"champ_points"`
ClassInterval int `json:"class_interval"`
ClubID int `json:"club_id"`
ClubName string `json:"club_name"`
ClubPoints int `json:"club_points"`
ClubShortname string `json:"club_shortname"`
CountryCode string `json:"country_code"`
Division int `json:"division"`
DivisionName string `json:"division_name"`
DropRace bool `json:"drop_race"`
FinishPosition int `json:"finish_position"`
FinishPositionInClass int `json:"finish_position_in_class"`
Friend bool `json:"friend"`
Helmet DriverHelmet `json:"helmet"`
Incidents int `json:"incidents"`
Interval int `json:"interval"`
LapsComplete int `json:"laps_complete"`
LapsLead int `json:"laps_lead"`
LeagueAggPoints int `json:"league_agg_points"`
LeaguePoints int `json:"league_points"`
LicenseChangeOval int `json:"license_change_oval"`
LicenseChangeRoad int `json:"license_change_road"`
Livery ResultLivery `json:"livery"`
MaxPctFuelFill int `json:"max_pct_fuel_fill"`
Multiplier int `json:"multiplier"`
NewCpi float64 `json:"new_cpi"`
NewLicenseLevel int `json:"new_license_level"`
NewSubLevel int `json:"new_sub_level"`
NewTtrating int `json:"new_ttrating"`
NewiRating int `json:"newi_rating"`
OldCpi float64 `json:"old_cpi"`
OldLicenseLevel int `json:"old_license_level"`
OldSubLevel int `json:"old_sub_level"`
OldTtrating int `json:"old_ttrating"`
OldiRating int `json:"oldi_rating"`
OptLapsComplete int `json:"opt_laps_complete"`
Position int `json:"position"`
QualLapTime int `json:"qual_lap_time"`
ReasonOut string `json:"reason_out"`
ReasonOutID int `json:"reason_out_id"`
StartingPosition int `json:"starting_position"`
StartingPositionInClass int `json:"starting_position_in_class"`
Suit DriverSuit `json:"suit"`
Watched bool `json:"watched"`
WeightPenaltyKg int `json:"weight_penalty_kg"`
}
type ResultTrack ¶ added in v0.1.20
type ResultTrackState ¶ added in v0.1.20
type ResultWeather ¶ added in v0.1.20
type ResultWeather struct {
AllowFog bool `json:"allow_fog"`
Fog int `json:"fog"`
PrecipMm2HrBeforeFinalSession int `json:"precip_mm2hr_before_final_session"`
PrecipMmFinalSession int `json:"precip_mm_final_session"`
PrecipOption int `json:"precip_option"`
PrecipTimePct int `json:"precip_time_pct"`
RelHumidity int `json:"rel_humidity"`
SimulatedStartTime string `json:"simulated_start_time"`
Skies int `json:"skies"`
TempUnits int `json:"temp_units"`
TempValue int `json:"temp_value"`
TimeOfDay int `json:"time_of_day"`
TrackWater int `json:"track_water"`
Type int `json:"type"`
Version int `json:"version"`
WeatherVarInitial int `json:"weather_var_initial"`
WeatherVarOngoing int `json:"weather_var_ongoing"`
WindDir int `json:"wind_dir"`
WindUnits int `json:"wind_units"`
WindValue int `json:"wind_value"`
}
type ResultsFromOption ¶ added in v0.1.20
type ResultsFromOption struct {
IncludeLicenses bool
}
func (*ResultsFromOption) ApplyResultsGet ¶ added in v0.1.20
func (o *ResultsFromOption) ApplyResultsGet(v *url.Values)
type ResultsGetOption ¶ added in v0.1.20
type ResultsOnlyOption ¶ added in v0.2.1
type ResultsOnlyOption struct {
ResultsOnly bool
}
ResultsOnlyOption implements LeagueSeasonSessionsOption
func (*ResultsOnlyOption) ApplyLeagueSeasonSessions ¶ added in v0.2.1
func (o *ResultsOnlyOption) ApplyLeagueSeasonSessions(v *url.Values)
type RetiredOption ¶ added in v0.2.1
type RetiredOption struct {
Retired bool
}
RetiredOption implements LeagueSeasonsOption
func (*RetiredOption) ApplyLeagueSeasons ¶ added in v0.2.1
func (o *RetiredOption) ApplyLeagueSeasons(v *url.Values)
type Season ¶ added in v0.1.6
type Season struct {
SeasonID int `json:"season_id"`
SeriesID int `json:"series_id"`
SeasonName string `json:"season_name"`
SeriesName string `json:"series_name"`
Official bool `json:"official"`
SeasonYear int `json:"season_year"`
SeasonQuarter int `json:"season_quarter"`
LicenseGroup int `json:"license_group"`
FixedSetup bool `json:"fixed_setup"`
DriverChanges bool `json:"driver_changes"`
RookieSeason string `json:"rookie_season,omitempty"`
}
type SeasonIDs ¶ added in v0.3.3
type SeasonIDs struct {
SeasonIDs []int
}
func (*SeasonIDs) ApplySpectatorSubSessionIDs ¶ added in v0.3.3
type Series ¶ added in v0.1.6
type Series []SeriesItem
type SeriesAsset ¶ added in v0.1.6
type SeriesAssets ¶ added in v0.1.6
type SeriesAssets map[string]SeriesAsset
type SeriesAssetsOption ¶ added in v0.1.6
type SeriesAssetsOption func(*seriesAssetsOptions)
func WithImageBaseUrl ¶ added in v0.1.6
func WithImageBaseUrl(url string) SeriesAssetsOption
type SeriesItem ¶ added in v0.1.17
type SeriesItem struct {
AllowedLicenses []AllowedLicense `json:"allowed_licenses"`
Category string `json:"category"`
CategoryID int `json:"category_id"`
Eligible bool `json:"eligible"`
ForumURL string `json:"forum_url,omitempty"`
MaxStarters int `json:"max_starters"`
MinStarters int `json:"min_starters"`
OvalCautionType int `json:"oval_caution_type"`
RoadCautionType int `json:"road_caution_type"`
SeriesID int `json:"series_id"`
SeriesName string `json:"series_name"`
SeriesShortName string `json:"series_short_name"`
SearchFilters string `json:"search_filters,omitempty"`
}
type SeriesSeason ¶ added in v0.1.7
type SeriesSeason struct {
SeasonID int `json:"season_id"`
SeasonName string `json:"season_name"`
Active bool `json:"active"`
AllowedSeasonMembers any `json:"allowed_season_members"`
CarClassIds []int `json:"car_class_ids"`
CarSwitching bool `json:"car_switching"`
CarTypes []CarType `json:"car_types"`
CautionLapsDoNotCount bool `json:"caution_laps_do_not_count"`
Complete bool `json:"complete"`
CrossLicense bool `json:"cross_license"`
DriverChangeRule int `json:"driver_change_rule"`
DriverChanges bool `json:"driver_changes"`
Drops int `json:"drops"`
EnablePitlaneCollisions bool `json:"enable_pitlane_collisions"`
FixedSetup bool `json:"fixed_setup"`
GreenWhiteCheckeredLimit int `json:"green_white_checkered_limit"`
GridByClass bool `json:"grid_by_class"`
HardcoreLevel int `json:"hardcore_level"`
HasSupersessions bool `json:"has_supersessions"`
IgnoreLicenseForPractice bool `json:"ignore_license_for_practice"`
IncidentLimit int `json:"incident_limit"`
IncidentWarnMode int `json:"incident_warn_mode"`
IncidentWarnParam1 int `json:"incident_warn_param1"`
IncidentWarnParam2 int `json:"incident_warn_param2"`
IsHeatRacing bool `json:"is_heat_racing"`
LicenseGroup int `json:"license_group"`
LicenseGroupTypes []LicenseGroupType `json:"license_group_types"`
LuckyDog bool `json:"lucky_dog"`
MaxTeamDrivers int `json:"max_team_drivers"`
MaxWeeks int `json:"max_weeks"`
MinTeamDrivers int `json:"min_team_drivers"`
Multiclass bool `json:"multiclass"`
MustUseDiffTireTypesInRace bool `json:"must_use_diff_tire_types_in_race"`
NextRaceSession any `json:"next_race_session"`
NumOptLaps int `json:"num_opt_laps"`
Official bool `json:"official"`
OpDuration int `json:"op_duration"`
OpenPracticeSessionTypeID int `json:"open_practice_session_type_id"`
QualifierMustStartRace bool `json:"qualifier_must_start_race"`
RaceWeek int `json:"race_week"`
RaceWeekToMakeDivisions int `json:"race_week_to_make_divisions"`
RegOpenMinutes int `json:"reg_open_minutes,omitempty"`
RegUserCount int `json:"reg_user_count"`
RegionCompetition bool `json:"region_competition"`
RestrictByMember bool `json:"restrict_by_member"`
RestrictToCar bool `json:"restrict_to_car"`
RestrictViewing bool `json:"restrict_viewing"`
ScheduleDescription string `json:"schedule_description"`
Schedules []SeriesSeasonSchedule `json:"schedules"`
SeasonQuarter int `json:"season_quarter"`
SeasonShortName string `json:"season_short_name"`
SeasonYear int `json:"season_year"`
SendToOpenPractice bool `json:"send_to_open_practice"`
SeriesID int `json:"series_id"`
ShortParadeLap bool `json:"short_parade_lap"`
StartDate time.Time `json:"start_date"`
StartOnQualTire bool `json:"start_on_qual_tire"`
StartZone bool `json:"start_zone"`
TrackTypes []TrackType `json:"track_types"`
UnsportConductRuleMode int `json:"unsport_conduct_rule_mode"`
RacePoints int `json:"race_points,omitempty"`
RookieSeason string `json:"rookie_season,omitempty"`
HeatSesInfo HeatSessionInfo `json:"heat_ses_info,omitempty"`
}
type SeriesSeasonSchedule ¶ added in v0.1.7
type SeriesSeasonSchedule struct {
SeasonID int `json:"season_id"`
RaceWeekNum int `json:"race_week_num"`
CarRestrictions []any `json:"car_restrictions"`
Category string `json:"category"`
CategoryID int `json:"category_id"`
EnablePitlaneCollisions bool `json:"enable_pitlane_collisions"`
FullCourseCautions bool `json:"full_course_cautions"`
QualAttached bool `json:"qual_attached"`
RaceLapLimit int `json:"race_lap_limit"`
RaceTimeLimit int `json:"race_time_limit"` // minutes if > 0
RaceTimeDescriptors []RaceTimeDescriptor `json:"race_time_descriptors"`
RaceWeekCars []SeriesSeasonScheduleCar `json:"race_week_cars"`
RestartType string `json:"restart_type"`
ScheduleName string `json:"schedule_name"`
SeasonName string `json:"season_name"`
SeriesID int `json:"series_id"`
SeriesName string `json:"series_name"`
ShortParadeLap bool `json:"short_parade_lap"`
SimulatedTimeMultiplier int `json:"simulated_time_multiplier"`
SpecialEventType any `json:"special_event_type"`
StartDate string `json:"start_date"`
StartType string `json:"start_type"`
StartZone bool `json:"start_zone"`
Track Track `json:"track"`
TrackState TrackState `json:"track_state"`
Weather Weather `json:"weather"`
}
type SeriesSeasonScheduleCar ¶ added in v0.1.14
type SeriesSeasonTrack ¶ added in v0.1.7
type SeriesSeasons ¶ added in v0.1.7
type SeriesSeasons []SeriesSeason
type SeriesSeasonsOption ¶ added in v0.1.7
type SeriesSeasonsOption func(*seriesSeasonsOptions)
func WithIncludeSeries ¶ added in v0.1.7
func WithIncludeSeries(include bool) SeriesSeasonsOption
type ServiceUnavailableError ¶
type ServiceUnavailableError struct {
}
func (*ServiceUnavailableError) Error ¶
func (e *ServiceUnavailableError) Error() string
type Session ¶
type Session struct {
AiAvoidPlayers bool `json:"ai_avoid_players"`
AiMaxSkill int `json:"ai_max_skill,omitempty"`
AiMinSkill int `json:"ai_min_skill,omitempty"`
AiRosterName string `json:"ai_roster_name,omitempty"`
AllowedClubs []interface{} `json:"allowed_clubs"`
AllowedLeagues []interface{} `json:"allowed_leagues"`
AllowedTeams []interface{} `json:"allowed_teams"`
CarTypes []CarType `json:"car_types"`
Cars []SessionCar `json:"cars"`
CarsLeft int `json:"cars_left"`
ConsecCautionsSingleFile bool `json:"consec_cautions_single_file"`
CountByCarClassID map[string]int `json:"count_by_car_class_id"`
CountByCarID map[string]int `json:"count_by_car_id"`
DamageModel int `json:"damage_model"`
DisallowVirtualMirror bool `json:"disallow_virtual_mirror"`
DoNotCountCautionLaps bool `json:"do_not_count_caution_laps"`
DoNotPaintCars bool `json:"do_not_paint_cars"`
DriverChangeRule int `json:"driver_change_rule"`
DriverChanges bool `json:"driver_changes"`
Eligibility SessionEligibility `json:"elig"`
EnablePitlaneCollisions bool `json:"enable_pitlane_collisions"`
EntryCount int `json:"entry_count"`
EventTypes []EventType `json:"event_types"`
Farm SessionServerFarm `json:"farm"`
FixedSetup bool `json:"fixed_setup"`
FullCourseCautions bool `json:"full_course_cautions"`
GreenWhiteCheckeredLimit int `json:"green_white_checkered_limit"`
HardcoreLevel int `json:"hardcore_level"`
Host SessionDriver `json:"host"`
IncidentLimit int `json:"incident_limit"`
IncidentWarnMode int `json:"incident_warn_mode"`
IncidentWarnParam1 int `json:"incident_warn_param1"`
IncidentWarnParam2 int `json:"incident_warn_param2"`
LaunchAt time.Time `json:"launch_at"`
LeagueID int `json:"league_id"`
LeagueSeasonID int `json:"league_season_id"`
LicenseGroupTypes []SessionLicenseGroupType `json:"license_group_types"`
LoneQualify bool `json:"lone_qualify"`
LuckyDog bool `json:"lucky_dog"`
MaxAiDrivers int `json:"max_ai_drivers"`
MaxDrivers int `json:"max_drivers"`
MaxIr int `json:"max_ir"`
MaxLicenseLevel int `json:"max_license_level"`
MaxTeamDrivers int `json:"max_team_drivers"`
MinIr int `json:"min_ir"`
MinLicenseLevel int `json:"min_license_level"`
MinTeamDrivers int `json:"min_team_drivers"`
MulticlassType int `json:"multiclass_type"`
MustUseDiffTireTypesInRace bool `json:"must_use_diff_tire_types_in_race"`
NoLapperWaveArounds bool `json:"no_lapper_wave_arounds"`
NumFastTows int `json:"num_fast_tows"`
NumOptLaps int `json:"num_opt_laps"`
OpenRegExpires time.Time `json:"open_reg_expires"`
OrderID int `json:"order_id"`
PaceCarClassID int `json:"pace_car_class_id"`
PaceCarID int `json:"pace_car_id"`
PasswordProtected bool `json:"password_protected"`
PitsInUse int `json:"pits_in_use"`
PracticeLength int `json:"practice_length"`
PrivateSessionID int `json:"private_session_id"`
QualifierMustStartRace bool `json:"qualifier_must_start_race"`
QualifyLaps int `json:"qualify_laps"`
QualifyLength int `json:"qualify_length"`
RaceLaps int `json:"race_laps"`
RaceLength int `json:"race_length"`
Restarts int `json:"restarts"`
RestrictResults bool `json:"restrict_results"`
RestrictViewing bool `json:"restrict_viewing"`
RollingStarts bool `json:"rolling_starts"`
SessionFull bool `json:"session_full"`
SessionID int `json:"session_id"`
SessionName string `json:"session_name"`
SessionType int `json:"session_type"`
SessionTypes []SessionType `json:"session_types"`
ShortParadeLap bool `json:"short_parade_lap"`
StartOnQualTire bool `json:"start_on_qual_tire"`
StartZone bool `json:"start_zone"`
Status int `json:"status"`
SubsessionID int `json:"subsession_id"`
TeamEntryCount int `json:"team_entry_count"`
TelemetryForceToDisk int `json:"telemetry_force_to_disk"`
TelemetryRestriction int `json:"telemetry_restriction"`
TimeLimit int `json:"time_limit"`
Track SessionTrack `json:"track"`
TrackState SessionTrackState `json:"track_state"`
TrackTypes []TrackType `json:"track_types"`
UnsportConductRuleMode int `json:"unsport_conduct_rule_mode"`
WarmupLength int `json:"warmup_length"`
Weather SessionWeather `json:"weather"`
RegisteredTeams []int `json:"registered_teams,omitempty"`
SessionDesc string `json:"session_desc,omitempty"`
HeatSesInfo SessionHeatInfo `json:"heat_ses_info,omitempty"`
AltAssetID int `json:"alt_asset_id,omitempty"`
}
type SessionCar ¶
type SessionCar struct {
CarID int `json:"car_id"`
CarName string `json:"car_name"`
CarClassID int `json:"car_class_id"`
CarClassName string `json:"car_class_name"`
MaxPctFuelFill int `json:"max_pct_fuel_fill"`
WeightPenaltyKg int `json:"weight_penalty_kg"`
PowerAdjustPct float64 `json:"power_adjust_pct"`
MaxDryTireSets int `json:"max_dry_tire_sets"`
PackageID int `json:"package_id"`
}
type SessionDriver ¶
type SessionDriver struct {
CustID int `json:"cust_id"`
DisplayName string `json:"display_name"`
Helmet DriverHelmet `json:"helmet"`
}
type SessionEligibility ¶
type SessionEligibility struct {
SessionFull bool `json:"session_full"`
CanSpot bool `json:"can_spot"`
CanWatch bool `json:"can_watch"`
CanDrive bool `json:"can_drive"`
HasSessPassword bool `json:"has_sess_password"`
NeedsPurchase bool `json:"needs_purchase"`
OwnCar bool `json:"own_car"`
OwnTrack bool `json:"own_track"`
PurchaseSkus []int `json:"purchase_skus"`
Registered bool `json:"registered"`
}
type SessionEventType ¶
type SessionEventType struct {
EventType int `json:"event_type"`
}
type SessionHeatInfo ¶
type SessionHeatInfo struct {
HeatInfoID int `json:"heat_info_id"`
CustID int `json:"cust_id"`
Hidden bool `json:"hidden"`
Created time.Time `json:"created"`
HeatInfoName string `json:"heat_info_name"`
MaxEntrants int `json:"max_entrants"`
RaceStyle int `json:"race_style"`
OpenPractice bool `json:"open_practice"`
PreQualPracticeLengthMinutes int `json:"pre_qual_practice_length_minutes"`
PreQualNumToMain int `json:"pre_qual_num_to_main"`
QualStyle int `json:"qual_style"`
QualLengthMinutes int `json:"qual_length_minutes"`
QualLaps int `json:"qual_laps"`
QualNumToMain int `json:"qual_num_to_main"`
QualScoring int `json:"qual_scoring"`
QualCautionType int `json:"qual_caution_type"`
QualOpenDelaySeconds int `json:"qual_open_delay_seconds"`
QualScoresChampPoints bool `json:"qual_scores_champ_points"`
HeatLengthMinutes int `json:"heat_length_minutes"`
HeatLaps int `json:"heat_laps"`
HeatMaxFieldSize int `json:"heat_max_field_size"`
HeatNumPositionToInvert int `json:"heat_num_position_to_invert"`
HeatCautionType int `json:"heat_caution_type"`
HeatNumFromEachToMain int `json:"heat_num_from_each_to_main"`
HeatScoresChampPoints bool `json:"heat_scores_champ_points"`
ConsolationNumToConsolation int `json:"consolation_num_to_consolation"`
ConsolationNumToMain int `json:"consolation_num_to_main"`
ConsolationFirstMaxFieldSize int `json:"consolation_first_max_field_size"`
ConsolationFirstSessionLengthMinutes int `json:"consolation_first_session_length_minutes"`
ConsolationFirstSessionLaps int `json:"consolation_first_session_laps"`
ConsolationDeltaMaxFieldSize int `json:"consolation_delta_max_field_size"`
ConsolationDeltaSessionLengthMinutes int `json:"consolation_delta_session_length_minutes"`
ConsolationDeltaSessionLaps int `json:"consolation_delta_session_laps"`
ConsolationNumPositionToInvert int `json:"consolation_num_position_to_invert"`
ConsolationScoresChampPoints bool `json:"consolation_scores_champ_points"`
ConsolationRunAlways bool `json:"consolation_run_always"`
PreMainPracticeLengthMinutes int `json:"pre_main_practice_length_minutes"`
MainLengthMinutes int `json:"main_length_minutes"`
MainLaps int `json:"main_laps"`
MainMaxFieldSize int `json:"main_max_field_size"`
MainNumPositionToInvert int `json:"main_num_position_to_invert"`
HeatSessionMinutesEstimate int `json:"heat_session_minutes_estimate"`
}
type SessionLicenseGroupType ¶
type SessionLicenseGroupType struct {
LicenseGroupType int `json:"license_group_type"`
}
type SessionServerFarm ¶
type SessionTrack ¶
type SessionTrackState ¶
type SessionTrackState struct {
LeaveMarbles bool `json:"leave_marbles"`
PracticeRubber int `json:"practice_rubber"`
QualifyRubber int `json:"qualify_rubber"`
WarmupRubber int `json:"warmup_rubber"`
RaceRubber int `json:"race_rubber"`
PracticeGripCompound int `json:"practice_grip_compound"`
QualifyGripCompound int `json:"qualify_grip_compound"`
WarmupGripCompound int `json:"warmup_grip_compound"`
RaceGripCompound int `json:"race_grip_compound"`
}
type SessionType ¶
type SessionType struct {
SessionType int `json:"session_type"`
}
type SessionWeather ¶
type SessionWeather struct {
Version int `json:"version"`
Type int `json:"type"`
TempUnits int `json:"temp_units"`
TempValue int `json:"temp_value"`
RelHumidity int `json:"rel_humidity"`
Fog int `json:"fog"`
WindDir int `json:"wind_dir"`
WindUnits int `json:"wind_units"`
WindValue int `json:"wind_value"`
Skies int `json:"skies"`
WeatherVarInitial int `json:"weather_var_initial"`
WeatherVarOngoing int `json:"weather_var_ongoing"`
TimeOfDay int `json:"time_of_day"`
SimulatedStartTime string `json:"simulated_start_time"`
SimulatedTimeOffsets []int `json:"simulated_time_offsets"`
SimulatedTimeMultiplier int `json:"simulated_time_multiplier"`
}
type SpectatorSubSessionIDs ¶ added in v0.1.6
type SpectatorSubSessionIDsDetail ¶ added in v0.3.3
type SpectatorSubSessionIDsDetail struct {
Success bool `json:"success"`
EventTypes []int `json:"event_types"`
SeasonIDs []int `json:"season_ids"`
Subsessions []SpectatorSubSessionIDsDetailSubsession `json:"subsessions"`
}
type SpectatorSubSessionIDsDetailSubsession ¶ added in v0.3.3
type SpectatorSubSessionIDsOption ¶ added in v0.1.6
type Track ¶
type Track struct {
AiEnabled bool `json:"ai_enabled"`
AllowPitlaneCollisions bool `json:"allow_pitlane_collisions"`
AllowRollingStart bool `json:"allow_rolling_start"`
AllowStandingStart bool `json:"allow_standing_start"`
AwardExempt bool `json:"award_exempt"`
Category string `json:"category"`
CategoryID int `json:"category_id"`
Closes string `json:"closes"`
ConfigName string `json:"config_name,omitempty"`
CornersPerLap int `json:"corners_per_lap"`
Created time.Time `json:"created"`
FirstSale time.Time `json:"first_sale"`
FreeWithSubscription bool `json:"free_with_subscription"`
FullyLit bool `json:"fully_lit"`
GridStalls int `json:"grid_stalls"`
HasOptPath bool `json:"has_opt_path"`
HasShortParadeLap bool `json:"has_short_parade_lap"`
HasStartZone bool `json:"has_start_zone"`
HasSvgMap bool `json:"has_svg_map"`
IsDirt bool `json:"is_dirt"`
IsOval bool `json:"is_oval"`
IsPsPurchasable bool `json:"is_ps_purchasable"`
LapScoring int `json:"lap_scoring"`
Latitude float64 `json:"latitude"`
Location string `json:"location"`
Longitude float64 `json:"longitude"`
MaxCars int `json:"max_cars"`
NightLighting bool `json:"night_lighting"`
NominalLapTime float64 `json:"nominal_lap_time"`
NumberPitStalls int `json:"number_pitstalls"`
Opens string `json:"opens"`
PackageID int `json:"package_id"`
PitRoadSpeedLimit int `json:"pit_road_speed_limit,omitempty"`
Price float64 `json:"price"`
PriceDisplay string `json:"price_display,omitempty"`
Priority int `json:"priority"`
Purchasable bool `json:"purchasable"`
QualifyLaps int `json:"qualify_laps"`
RestartOnLeft bool `json:"restart_on_left"`
Retired bool `json:"retired"`
SearchFilters string `json:"search_filters"`
SiteURL string `json:"site_url,omitempty"`
Sku int `json:"sku"`
SoloLaps int `json:"solo_laps"`
StartOnLeft bool `json:"start_on_left"`
SupportsGripCompound bool `json:"supports_grip_compound"`
TechTrack bool `json:"tech_track"`
TimeZone string `json:"time_zone"`
TrackConfigLength float64 `json:"track_config_length"`
TrackDirPath string `json:"track_dirpath"`
TrackID int `json:"track_id"`
TrackName string `json:"track_name"`
TrackTypes []TrackType `json:"track_types"`
Banking string `json:"banking,omitempty"`
}
type TrackAssets ¶ added in v0.1.13
type TrackAssets struct {
Coordinates string `json:"coordinates"`
Detail *string `json:"detail_copy"`
DetailTechSpecs *string `json:"detail_tech_specs_copy"`
DetailVideo *string `json:"detail_video"`
Folder string `json:"folder"`
GalleryImages string `json:"gallery_images"`
GalleryPrefix string `json:"gallery_prefix"`
LargeImage string `json:"large_image"`
SmallImage string `json:"small_image"`
Logo string `json:"logo"`
North string `json:"north"`
NumSvgImages int `json:"num_svg_images"`
TrackID int `json:"track_id"`
TrackMap string `json:"track_map"`
TrackMapLayers map[string]string `json:"track_map_layers"`
}
type TrackState ¶ added in v0.1.7
type TrackState struct {
LeaveMarbles bool `json:"leave_marbles"`
}
type Weather ¶ added in v0.1.7
type Weather struct {
AllowFog bool `json:"allow_fog"`
Fog int `json:"fog"`
ForecastOptions ForecastOptions `json:"forecast_options"`
PrecipOption int `json:"precip_option"`
RelHumidity int `json:"rel_humidity"`
SimulatedStartTime string `json:"simulated_start_time"`
SimulatedStartUtcTime time.Time `json:"simulated_start_utc_time"`
SimulatedTimeMultiplier int `json:"simulated_time_multiplier"`
SimulatedTimeOffsets []int `json:"simulated_time_offsets"`
Skies int `json:"skies"`
TempUnits int `json:"temp_units"`
TempValue int `json:"temp_value"`
TimeOfDay int `json:"time_of_day"`
Type int `json:"type"`
Version int `json:"version"`
WeatherSummary WeatherSummary `json:"weather_summary"`
WeatherURL string `json:"weather_url"`
WeatherVarInitial int `json:"weather_var_initial"`
WeatherVarOngoing int `json:"weather_var_ongoing"`
WindDir int `json:"wind_dir"`
WindUnits int `json:"wind_units"`
WindValue int `json:"wind_value"`
}
type WeatherSummary ¶ added in v0.1.7
type WeatherSummary struct {
MaxPrecipRate float64 `json:"max_precip_rate"`
MaxPrecipRateDesc string `json:"max_precip_rate_desc"`
PrecipChance float64 `json:"precip_chance"`
SkiesHigh int `json:"skies_high"`
SkiesLow int `json:"skies_low"`
TempHigh float64 `json:"temp_high"`
TempLow float64 `json:"temp_low"`
TempUnits int `json:"temp_units"`
WindHigh float64 `json:"wind_high"`
WindLow float64 `json:"wind_low"`
WindUnits int `json:"wind_units"`
}
Source Files
¶
- auth.go
- authenticator.go
- authenticator_redis.go
- car.go
- car_class.go
- car_class_data.go
- car_data.go
- constant.go
- constant_data.go
- data.go
- driver.go
- err.go
- hosted.go
- hosted_data.go
- league.go
- league_data.go
- link.go
- logger.go
- options.go
- ratelimit.go
- results.go
- results_data.go
- season.go
- season_data.go
- series.go
- series_data.go
- session_data.go
- track.go
- track_data.go
Click to show internal directories.
Click to hide internal directories.