Versions in this module Expand all Collapse all v1 v1.1.2 Jul 15, 2026 v1.1.1 Jul 15, 2026 v1.1.0 May 4, 2026 Changes in this version + const ErrCodePositiveInteger v1.0.1 May 2, 2026 v1.0.0 Mar 27, 2026 Changes in this version type JournalEntry + ReplayVideo string type SaveJournalEntryRequest + ReplayVideo string v0 v0.5.3 Mar 22, 2026 v0.5.2 Jan 16, 2026 v0.5.1 Jan 16, 2026 Changes in this version + const ErrCodeEndBeforeStart + const ErrCodeInvalidISO8601 + const ErrCodeInvalidInteger + const ErrCodeInvalidValue + const ErrCodeMutualExclusive + const ErrCodeRequired + func NewAnalyticsDimensionsEndpoint(svc AnalyticsService) http.Handler + func NewAnalyticsEndpoint(svc AnalyticsService) http.Handler + func NewDeleteJournalEntryEndpoint(journalService DeleteJournalEntryStore) http.Handler + func NewDeleteRacesEndpoint(store DeleteRacesStore) http.Handler + func NewGetDriverEndpoint(driverStore GetDriverStore) http.Handler + func NewGetJournalEntryEndpoint(journalService GetJournalEntryStore) http.Handler + func NewGetRaceEndpoint(raceStore GetRaceStore) http.Handler + func NewGetRacesEndpoint(raceStore GetRacesStore) http.Handler + func NewListJournalEntriesEndpoint(journalService ListJournalEntriesStore) http.Handler + func NewRouter(raceStore Store, journalService JournalService, ...) http.Handler + func NewSaveJournalEndpoint(journalService JournalServiceForSave) http.Handler + type AnalyticsGroup struct + CarID *int64 + SeriesID *int64 + Summary AnalyticsSummary + TrackID *int64 + type AnalyticsPeriod struct + Period string + Summary AnalyticsSummary + type AnalyticsResponse struct + GroupedBy []AnalyticsGroup + Summary AnalyticsSummary + TimeSeries []AnalyticsPeriod + type AnalyticsService interface + GetAnalytics func(ctx context.Context, req analytics.AnalyticsRequest) (*analytics.AnalyticsResult, error) + GetDimensions func(ctx context.Context, driverID int64, from, to time.Time) (*analytics.Dimensions, error) + type AnalyticsSummary struct + AvgFinishPosition float64 + AvgIncidents float64 + AvgStartPosition float64 + CPIDelta float64 + CPIEnd float64 + CPIGain float64 + CPILoss float64 + CPIStart float64 + IRatingDelta int + IRatingEnd int + IRatingGain int + IRatingLoss int + IRatingStart int + Podiums int + PositionsGained float64 + RaceCount int + Top5Finishes int + TotalIncidents int + Wins int + type DeleteJournalEntryStore interface + Delete func(ctx context.Context, driverID, raceID int64) error + type DeleteRacesStore interface + DeleteDriverRaces func(ctx context.Context, driverID int64) error + type DimensionsResponse struct + Cars []int64 + Series []int64 + Tracks []int64 + type DriverInfo struct + DriverID int64 + DriverName string + FirstLogin time.Time + IngestionBlockedUntil *time.Time + LastLogin time.Time + LoginCount int64 + MemberSince time.Time + RacesIngestedTo *time.Time + SessionCount int64 + type GetDriverStore interface + GetDriver func(ctx context.Context, driverID int64) (*store.Driver, error) + type GetJournalEntryStore interface + Get func(ctx context.Context, driverID, raceID int64) (*journal.Entry, error) + type GetRaceStore interface + GetDriverSession func(ctx context.Context, driverID int64, startTime time.Time) (*store.DriverSession, error) + type GetRacesStore interface + GetDriverSessionsByTimeRange func(ctx context.Context, driverID int64, from, to time.Time) ([]store.DriverSession, error) + type JournalEntry struct + CreatedAt time.Time + Notes string + Race *Race + RaceID int64 + Tags []string + UpdatedAt time.Time + type JournalService interface + type JournalServiceForSave interface + Save func(ctx context.Context, input journal.SaveInput) (*journal.Entry, error) + ValidateRaceExists func(ctx context.Context, driverID, raceID int64) (bool, error) + type ListJournalEntriesStore interface + List func(ctx context.Context, input journal.ListInput) ([]journal.Entry, error) + type Race struct + CarID int64 + FinishPosition int + FinishPositionInClass int + ID int64 + Incidents int + NewCPI float64 + NewIRating int + NewLicenseLevel int + NewSubLevel int + OldCPI float64 + OldIRating int + OldLicenseLevel int + OldSubLevel int + ReasonOut string + SeriesID int64 + SeriesName string + StartPosition int + StartPositionInClass int + StartTime time.Time + SubsessionID int64 + TrackID int64 + type SaveJournalEntryRequest struct + Notes string + Tags []string + type Store interface