package repository import ( "context" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" "github.com/SamuelTariku/FortuneBet-Backend/internal/ports" ) // Interface for creating new event stats store func NewEventStatStore(s *Store) ports.EventStatStore { return s } func (s *Store) GetTotalEventStats(ctx context.Context, filter domain.EventStatsFilter) (domain.EventStats, error) { stats, err := s.queries.GetTotalEventStats(ctx, dbgen.GetTotalEventStatsParams{ LeagueID: filter.LeagueID.ToPG(), SportID: filter.SportID.ToPG(), }) if err != nil { return domain.EventStats{}, err } return domain.ConvertDBEventStats(stats), nil } func (s *Store) GetTotalEventStatsByInterval(ctx context.Context, filter domain.EventStatsByIntervalFilter) ([]domain.EventStatsByInterval, error) { stats, err := s.queries.GetTotalEventStatsByInterval(ctx, dbgen.GetTotalEventStatsByIntervalParams{ Interval: filter.Interval.ToPG(), LeagueID: filter.LeagueID.ToPG(), SportID: filter.SportID.ToPG(), }) if err != nil { return nil, err } return domain.ConvertDBEventStatsByIntervalList(stats), nil } func (s *Store) UpdateEventBetStats(ctx context.Context) error { return s.queries.UpdateEventBetStats(ctx) }