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 criteria.Filter, ...) (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 *criteria.Pagination) (entities.SetupList, error)
- func (s *Setup) ListUserSetups(ctx context.Context, userID uuid.UUID, pg *criteria.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 *criteria.SortBy) ([]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 *criteria.Pagination) (entities.StrategyList, error)
- func (s *Strategy) List(ctx context.Context, qf criteria.Filter, pg *criteria.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( dao *data.AccessObject, repoFactory factories.RepositoryFactory, ) *Cars
type Setup ¶
type Setup struct {
// contains filtered or unexported fields
}
func NewSetup ¶
func NewSetup( dao *data.AccessObject, repoFactory factories.RepositoryFactory, svcFactory factories.ServiceFactory, ) *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 *criteria.SortBy, ) ([]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, criteria.Filter, *criteria.Pagination) (entities.SetupList, error)
GetByID(context.Context, uuid.UUID, uuid.UUID) (*entities.Setup, error)
ListUserSetups(context.Context, uuid.UUID, *criteria.Pagination) (entities.SetupList, error)
ListUserAIGeneratedSetups(context.Context, uuid.UUID, uuid.UUID, *criteria.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, *criteria.SortBy) ([]entities.SetupGroup, error)
}
type Strategy ¶
type Strategy struct {
// contains filtered or unexported fields
}
func NewStrategy ¶
func NewStrategy( dao *data.AccessObject, repoFactory factories.RepositoryFactory, svcFactory factories.ServiceFactory, ) *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 *criteria.Pagination, ) (entities.StrategyList, error)
func (*Strategy) List ¶
func (s *Strategy) List( ctx context.Context, qf criteria.Filter, pg *criteria.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, *criteria.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( dao *data.AccessObject, repoFactory factories.RepositoryFactory, ) *TrackLayouts
func (*TrackLayouts) Get ¶
func (tl *TrackLayouts) Get(ctx context.Context) (entities.TrackLayoutList, error)
func (*TrackLayouts) GetByID ¶
func (tl *TrackLayouts) GetByID(ctx context.Context, id uuid.UUID) (*entities.TrackLayout, error)
type TrackUseCase ¶
type Tracks ¶
type Tracks struct {
// contains filtered or unexported fields
}
func NewTracks ¶
func NewTracks( dao *data.AccessObject, repoFactory factories.RepositoryFactory, ) *Tracks
Click to show internal directories.
Click to hide internal directories.