61 lines
1.9 KiB
Go
61 lines
1.9 KiB
Go
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 convertOddHistories(list []dbgen.OddHistory) []domain.OddHistory {
|
|
result := make([]domain.OddHistory, 0, len(list))
|
|
for _, item := range list {
|
|
result = append(result, domain.ConvertDBOddHistory(item))
|
|
}
|
|
return result
|
|
}
|
|
|
|
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 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(),
|
|
})
|
|
|
|
if err != nil {
|
|
return nil, fmt.Errorf("GetInitialOddPerDay failed: %w", err)
|
|
}
|
|
return convertOddHistories(dbOddHistories), nil
|
|
}
|