- Introduced EventWithSettings and EventWithSettingsRes structs for enhanced event data handling. - Implemented conversion functions for creating and updating event settings. - Added support for fetching events with settings from the database. - Created new report data structures for comprehensive reporting capabilities. - Implemented event statistics retrieval and filtering by league and sport. - Added handlers for event statistics endpoints in the web server. - Introduced DateInterval type for managing time intervals in reports.
31 lines
1.5 KiB
Go
31 lines
1.5 KiB
Go
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)
|
|
}
|