package repository import ( "context" "fmt" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) func (s *Store) InsertOddHistory(ctx context.Context, odd domain.CreateOddHistory) (domain.OddHistory, error) { dbOddHistory, err := s.queries.InsertOddHistory(ctx, domain.ConvertCreateOddHistory(odd)) if err != nil { return domain.OddHistory{}, fmt.Errorf("InsertOddHistory failed: %w", err) } return domain.ConvertDBOddHistory(dbOddHistory), nil } func (s *Store) GetAllOddHistory(ctx context.Context, filter domain.OddHistoryFilter) ([]domain.OddHistory, error) { dbOddHistories, err := s.queries.GetAllOddHistory(ctx, dbgen.GetAllOddHistoryParams{ OddID: filter.OddID.ToPG(), MarketID: filter.MarketID.ToPG(), RawOddID: filter.RawOddID.ToPG(), EventID: filter.EventID.ToPG(), CreatedAfter: filter.CreatedAfter.ToPG(), CreatedBefore: filter.CreatedBefore.ToPG(), }) if err != nil { return nil, fmt.Errorf("GetAllOddHistory failed: %w", err) } return domain.ConvertOddHistories(dbOddHistories), nil } func (s *Store) GetInitialOddPerDay(ctx context.Context, filter domain.OddHistoryFilter) ([]domain.OddHistory, error) { dbOddHistories, err := s.queries.GetInitialOddPerDay(ctx, dbgen.GetInitialOddPerDayParams{ OddID: filter.OddID.ToPG(), MarketID: filter.MarketID.ToPG(), RawOddID: filter.RawOddID.ToPG(), EventID: filter.EventID.ToPG(), CreatedAfter: filter.CreatedAfter.ToPG(), CreatedBefore: filter.CreatedBefore.ToPG(), DateTrunc: "day", }) if err != nil { return nil, fmt.Errorf("GetInitialOddPerDay failed: %w", err) } return domain.ConvertOddHistories(dbOddHistories), nil }