Documentation
¶
Index ¶
- type CarUseCase
- type Cars
- type Setup
- func (s *Setup) Create(ctx context.Context, setup *entities.Setup) error
- func (s *Setup) GetByID(ctx context.Context, userID, id uuid.UUID) (*entities.Setup, error)
- func (s *Setup) GetPublicList(ctx context.Context, userID uuid.UUID, qf infraHttp.QueryFilter, ...) (entities.SetupList, error)
- func (s *Setup) GetSetupFile(ctx context.Context, setupID uuid.UUID) (*entities.SetupFile, error)
- func (s *Setup) ListUserAIGeneratedSetups(ctx context.Context, setupID, userID uuid.UUID, pg *infraHttp.Pagination) (entities.SetupList, error)
- func (s *Setup) ListUserSetups(ctx context.Context, userID uuid.UUID, pg *infraHttp.Pagination) (entities.SetupList, error)
- func (s *Setup) RecordVote(ctx context.Context, setupID, userID uuid.UUID, upvote bool) (int64, error)
- func (s *Setup) TrackGroupedSetupList(ctx context.Context, userID uuid.UUID, qo *infraHttp.QueryOrderBy) ([]entities.SetupGroup, error)
- func (s *Setup) Update(ctx context.Context, setup *entities.Setup, user *entities.User) error
- type SetupUseCase
- type Strategy
- func (s *Strategy) ApplyRaceProgress(ctx context.Context, strategyID, userID uuid.UUID, passphrase string, ...) (*entities.SavedStrategy, error)
- func (s *Strategy) CalculatePitTime(ctx context.Context, strategyID uuid.UUID, pitDetails entities.PitstopDetails) (*entities.CalculatedPitTime, error)
- func (s *Strategy) CalculateRaceStrategy(ctx context.Context, info entities.RaceInfo, stratID uuid.UUID) (*entities.RaceStrategy, error)
- func (s *Strategy) EditStint(ctx context.Context, strategyID, userID uuid.UUID, passphrase string, ...) (*entities.SavedStrategy, error)
- func (s *Strategy) Get(ctx context.Context, id, userID uuid.UUID) (*entities.SavedStrategy, error)
- func (s *Strategy) GetUserStrategies(ctx context.Context, userID uuid.UUID, pg *infraHttp.Pagination) (entities.StrategyList, error)
- func (s *Strategy) List(ctx context.Context, qf infraHttp.QueryFilter, pg *infraHttp.Pagination) (entities.StrategyList, error)
- func (s *Strategy) Save(ctx context.Context, saveStrat models.SaveStrategy) (*entities.SavedStrategy, error)
- func (s *Strategy) SetStrategyRaceInfo(ctx context.Context, strategyID, userID uuid.UUID, passphrase string, ...) (*entities.SavedStrategy, error)
- type StrategyUseCase
- type TrackLayoutUseCase
- type TrackLayouts
- type TrackUseCase
- type Tracks
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CarUseCase ¶
type Cars ¶
type Cars struct {
// contains filtered or unexported fields
}
func NewCars ¶
func NewCars(repo repositories.Car) *Cars
type Setup ¶
type Setup struct {
// contains filtered or unexported fields
}
func NewSetup ¶
func NewSetup( dao *data.AccessObject, setupSvc *services.Setup, trackSvc *services.Track, setupRepo repositories.Setup, setupStore repositories.SetupStorage, userRepo repositories.User, eventPublisher services.EventPublisher, ) *Setup
func (*Setup) GetPublicList ¶
func (*Setup) GetSetupFile ¶
func (*Setup) ListUserAIGeneratedSetups ¶
func (*Setup) ListUserSetups ¶
func (*Setup) RecordVote ¶
func (*Setup) TrackGroupedSetupList ¶
func (s *Setup) TrackGroupedSetupList( ctx context.Context, userID uuid.UUID, qo *infraHttp.QueryOrderBy, ) ([]entities.SetupGroup, error)
TODO(slax0rr): This function, and possibly many others here need to be reviewed, and properly split between the application level use cases and domain level services. But for purposes of quick delivery, this is now entirely in the application level use case.
type SetupUseCase ¶
type SetupUseCase interface { Create(context.Context, *entities.Setup) error Update(context.Context, *entities.Setup, *entities.User) error GetPublicList(context.Context, uuid.UUID, infraHttp.QueryFilter, *infraHttp.Pagination) (entities.SetupList, error) GetByID(context.Context, uuid.UUID, uuid.UUID) (*entities.Setup, error) ListUserSetups(context.Context, uuid.UUID, *infraHttp.Pagination) (entities.SetupList, error) ListUserAIGeneratedSetups(context.Context, uuid.UUID, uuid.UUID, *infraHttp.Pagination) (entities.SetupList, error) GetSetupFile(context.Context, uuid.UUID) (*entities.SetupFile, error) RecordVote(context.Context, uuid.UUID, uuid.UUID, bool) (int64, error) TrackGroupedSetupList(context.Context, uuid.UUID, *infraHttp.QueryOrderBy) ([]entities.SetupGroup, error) }
type Strategy ¶
type Strategy struct {
// contains filtered or unexported fields
}
func NewStrategy ¶
func NewStrategy( dao *data.AccessObject, stratRepo repositories.Strategy, trackSvc *services.Track, raceStratUC *services.RaceStrategy, raceProgressUC *services.RaceProgress, stintUC services.StintService, pitstopSvc services.PitstopService, ) *Strategy
func (*Strategy) ApplyRaceProgress ¶
func (*Strategy) CalculatePitTime ¶
func (s *Strategy) CalculatePitTime( ctx context.Context, strategyID uuid.UUID, pitDetails entities.PitstopDetails, ) (*entities.CalculatedPitTime, error)
func (*Strategy) CalculateRaceStrategy ¶
func (*Strategy) GetUserStrategies ¶
func (s *Strategy) GetUserStrategies( ctx context.Context, userID uuid.UUID, pg *infraHttp.Pagination, ) (entities.StrategyList, error)
func (*Strategy) List ¶
func (s *Strategy) List( ctx context.Context, qf infraHttp.QueryFilter, pg *infraHttp.Pagination, ) (entities.StrategyList, error)
func (*Strategy) Save ¶
func (s *Strategy) Save(ctx context.Context, saveStrat models.SaveStrategy) (*entities.SavedStrategy, error)
func (*Strategy) SetStrategyRaceInfo ¶
type StrategyUseCase ¶
type StrategyUseCase interface { CalculateRaceStrategy(context.Context, entities.RaceInfo, uuid.UUID) (*entities.RaceStrategy, error) Save(context.Context, models.SaveStrategy) (*entities.SavedStrategy, error) SetStrategyRaceInfo( context.Context, uuid.UUID, uuid.UUID, string, *models.RaceInfoUpdate, ) (*entities.SavedStrategy, error) Get(context.Context, uuid.UUID, uuid.UUID) (*entities.SavedStrategy, error) GetUserStrategies(context.Context, uuid.UUID, *infraHttp.Pagination) (entities.StrategyList, error) ApplyRaceProgress( context.Context, uuid.UUID, uuid.UUID, string, *entities.RaceProgress, ) (*entities.SavedStrategy, error) EditStint( context.Context, uuid.UUID, uuid.UUID, string, entities.StintAdjustment, ) (*entities.SavedStrategy, error) CalculatePitTime(context.Context, uuid.UUID, entities.PitstopDetails) (*entities.CalculatedPitTime, error) }
type TrackLayoutUseCase ¶
type TrackLayouts ¶
type TrackLayouts struct {
// contains filtered or unexported fields
}
func NewTrackLayouts ¶
func NewTrackLayouts(repo repositories.TrackLayout) *TrackLayouts
func (*TrackLayouts) Get ¶
func (o *TrackLayouts) Get(ctx context.Context) (entities.TrackLayoutList, error)
func (*TrackLayouts) GetByID ¶
func (o *TrackLayouts) GetByID(ctx context.Context, id uuid.UUID) (*entities.TrackLayout, error)
type TrackUseCase ¶
Click to show internal directories.
Click to hide internal directories.