package event import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type Service interface { // FetchLiveEvents(ctx context.Context) error FetchUpcomingEvents(ctx context.Context) error GetAllEvents(ctx context.Context, filter domain.EventFilter) ([]domain.BaseEvent, int64, error) GetEventByID(ctx context.Context, ID int64) (domain.BaseEvent, error) // GetAndStoreMatchResult(ctx context.Context, eventID int64) error UpdateFinalScore(ctx context.Context, eventID int64, fullScore string, status domain.EventStatus) error UpdateEventStatus(ctx context.Context, eventID int64, status domain.EventStatus) error IsEventMonitored(ctx context.Context, eventID int64) (bool, error) UpdateEventMonitored(ctx context.Context, eventID int64, IsMonitored bool) error GetSportAndLeagueIDs(ctx context.Context, eventID int64) ([]int64, error) // Event Settings Views GetEventsWithSettings(ctx context.Context, companyID int64, filter domain.EventFilter) ([]domain.EventWithSettings, int64, error) GetEventWithSettingByID(ctx context.Context, ID int64, companyID int64) (domain.EventWithSettings, error) UpdateTenantEventSettings(ctx context.Context, event domain.UpdateTenantEventSettings) error UpdateGlobalEventSettings(ctx context.Context, event domain.UpdateGlobalEventSettings) error // Stats GetEventStats(ctx context.Context, filter domain.EventStatsFilter) (domain.EventStats, error) GetEventStatsByInterval(ctx context.Context, filter domain.EventStatsByIntervalFilter) ([]domain.EventStatsByInterval, error) }