package odds import ( "context" "encoding/json" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type Service interface { FetchNonLiveOdds(ctx context.Context) error FetchNonLiveOddsByEventID(ctx context.Context, eventIDStr string) (domain.BaseNonLiveOddResponse, error) ParseOddSections(ctx context.Context, res json.RawMessage, sportID int64) (domain.ParseOddSectionsRes, error) GetPrematchOdds(ctx context.Context, eventID string) ([]domain.OddMarket, error) GetPrematchOddsByUpcomingID(ctx context.Context, upcomingID string) ([]domain.OddMarket, error) GetPaginatedPrematchOddsByUpcomingID(ctx context.Context, upcomingID string, limit domain.ValidInt64, offset domain.ValidInt64) ([]domain.OddMarket, error) GetALLPrematchOdds(ctx context.Context) ([]domain.OddMarket, error) // GetRawOddsByMarketID(ctx context.Context, marketID string, upcomingID string) (domain.OddMarket, error) DeleteOddsForEvent(ctx context.Context, eventID string) error // Odd History InsertOddHistory(ctx context.Context, odd domain.CreateOddHistory) (domain.OddHistory, error) GetAllOddHistory(ctx context.Context, filter domain.OddHistoryFilter) ([]domain.OddHistory, error) GetInitialOddPerDay(ctx context.Context, filter domain.OddHistoryFilter) ([]domain.OddHistory, error) // Disabling Odds InsertDisabledOdd(ctx context.Context, odd domain.CreateDisabledOdd) (domain.DisabledOdd, error) GetAllDisabledOdds(ctx context.Context) ([]domain.DisabledOdd, error) GetDisabledOddByRawOddID(ctx context.Context, rawOddID int64) (domain.DisabledOdd, error) GetDisabledOddByID(ctx context.Context, id int64) (domain.DisabledOdd, error) DeleteDisabledOddsByID(ctx context.Context, id int64) error DeleteDisabledOddsByRawOddID(ctx context.Context, id int64) error // Custom Odds // InsertCustomOdds(ctx context.Context, odd domain.CreateCustomOdd) (domain.CustomOdd, error) // GetAllCustomOdds(ctx context.Context, filter domain.CustomOddFilter) ([]domain.CustomOdd, error) // GetCustomOddByID(ctx context.Context, id int64) (domain.CustomOdd, error) // GetCustomOddByOddID(ctx context.Context, oddId int64, companyID int64) (domain.CustomOdd, error) // DeleteCustomOddByID(ctx context.Context, id int64) error // DeleteCustomOddsByOddID(ctx context.Context, oddId int64, companyID int64) error // DeleteCustomOddByEventID(ctx context.Context, eventID string) error }