usecases

package
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CarUseCase

type CarUseCase interface {
	Get(context.Context) (entities.CarList, error)
	GetByID(context.Context, uuid.UUID) (*entities.Car, error)
}

type Cars

type Cars struct {
	// contains filtered or unexported fields
}

func NewCars

func NewCars(repo repositories.Car) *Cars

func (*Cars) Get

func (o *Cars) Get(ctx context.Context) (entities.CarList, error)

func (*Cars) GetByID

func (o *Cars) GetByID(ctx context.Context, id uuid.UUID) (*entities.Car, error)

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) Create

func (s *Setup) Create(ctx context.Context, setup *entities.Setup) error

func (*Setup) GetByID

func (s *Setup) GetByID(ctx context.Context, userID, id uuid.UUID) (*entities.Setup, error)

func (*Setup) GetPublicList

func (s *Setup) GetPublicList(
	ctx context.Context,
	userID uuid.UUID,
	qf infraHttp.QueryFilter,
	pg *infraHttp.Pagination,
) (entities.SetupList, error)

func (*Setup) GetSetupFile

func (s *Setup) GetSetupFile(ctx context.Context, setupID uuid.UUID) (*entities.SetupFile, error)

func (*Setup) ListUserAIGeneratedSetups

func (s *Setup) ListUserAIGeneratedSetups(
	ctx context.Context,
	setupID, userID uuid.UUID,
	pg *infraHttp.Pagination,
) (entities.SetupList, error)

func (*Setup) ListUserSetups

func (s *Setup) ListUserSetups(
	ctx context.Context,
	userID uuid.UUID,
	pg *infraHttp.Pagination,
) (entities.SetupList, error)

func (*Setup) RecordVote

func (s *Setup) RecordVote(ctx context.Context, setupID, userID uuid.UUID, upvote bool) (int64, error)

func (*Setup) Update

func (s *Setup) Update(ctx context.Context, setup *entities.Setup, user *entities.User) 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 (s *Strategy) ApplyRaceProgress(
	ctx context.Context,
	strategyID, userID uuid.UUID,
	passphrase string,
	progress *entities.RaceProgress,
) (*entities.SavedStrategy, error)

func (*Strategy) CalculatePitTime

func (s *Strategy) CalculatePitTime(
	ctx context.Context,
	strategyID uuid.UUID,
	pitDetails entities.PitstopDetails,
) (*entities.CalculatedPitTime, error)

func (*Strategy) CalculateRaceStrategy

func (s *Strategy) CalculateRaceStrategy(
	ctx context.Context,
	info entities.RaceInfo,
	stratID uuid.UUID,
) (*entities.RaceStrategy, error)

func (*Strategy) EditStint

func (s *Strategy) EditStint(
	ctx context.Context,
	strategyID, userID uuid.UUID,
	passphrase string,
	stintAdj entities.StintAdjustment,
) (*entities.SavedStrategy, error)

func (*Strategy) Get

func (s *Strategy) Get(ctx context.Context, id, userID uuid.UUID) (*entities.SavedStrategy, error)

func (*Strategy) GetUserStrategies

func (s *Strategy) GetUserStrategies(
	ctx context.Context,
	userID uuid.UUID,
	pg *infraHttp.Pagination,
) (entities.StrategyList, error)

func (*Strategy) List

func (*Strategy) Save

func (s *Strategy) Save(ctx context.Context, saveStrat models.SaveStrategy) (*entities.SavedStrategy, error)

func (*Strategy) SetStrategyRaceInfo

func (s *Strategy) SetStrategyRaceInfo(
	ctx context.Context,
	strategyID, userID uuid.UUID,
	passphrase string,
	update *models.RaceInfoUpdate,
) (*entities.SavedStrategy, error)

type TrackLayoutUseCase

type TrackLayoutUseCase interface {
	Get(context.Context) (entities.TrackLayoutList, error)
	GetByID(context.Context, uuid.UUID) (*entities.TrackLayout, error)
}

type TrackLayouts

type TrackLayouts struct {
	// contains filtered or unexported fields
}

func NewTrackLayouts

func NewTrackLayouts(repo repositories.TrackLayout) *TrackLayouts

func (*TrackLayouts) Get

func (*TrackLayouts) GetByID

func (o *TrackLayouts) GetByID(ctx context.Context, id uuid.UUID) (*entities.TrackLayout, error)

type TrackUseCase

type TrackUseCase interface {
	Get(context.Context) (entities.TrackList, error)
	GetByID(context.Context, uuid.UUID) (*entities.Track, error)
}

type Tracks

type Tracks struct {
	// contains filtered or unexported fields
}

func NewTracks

func NewTracks(repo repositories.Track) *Tracks

func (*Tracks) Get

func (o *Tracks) Get(ctx context.Context) (entities.TrackList, error)

func (*Tracks) GetByID

func (o *Tracks) GetByID(ctx context.Context, id uuid.UUID) (*entities.Track, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL