package repository import ( "context" "fmt" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) func (s *Store) InsertEventHistory(ctx context.Context, eventHistory domain.CreateEventHistory) (domain.EventHistory, error) { dbEventHistory, err := s.queries.InsertEventHistory(ctx, domain.ConvertCreateEventHistory(eventHistory)) if err != nil { return domain.EventHistory{}, fmt.Errorf("InsertEventHistory failed: %w", err) } return domain.ConvertDBEventHistory(dbEventHistory), nil } func convertEventHistory(list []dbgen.EventHistory) []domain.EventHistory { result := make([]domain.EventHistory, 0, len(list)) for _, item := range list { result = append(result, domain.ConvertDBEventHistory(item)) } return result } func (s *Store) GetAllEventHistory(ctx context.Context, filter domain.EventHistoryFilter) ([]domain.EventHistory, error) { dbEventHistories, err := s.queries.GetAllEventHistory(ctx, dbgen.GetAllEventHistoryParams{ EventID: filter.EventID.ToPG(), CreatedAfter: filter.CreatedAfter.ToPG(), CreatedBefore: filter.CreatedBefore.ToPG(), }) if err != nil { return nil, fmt.Errorf("GetAllEventHistory failed: %w", err) } return convertEventHistory(dbEventHistories), nil } func (s *Store) GetInitialEventPerDay(ctx context.Context, filter domain.EventHistoryFilter) ([]domain.EventHistory, error) { dbEventHistories, err := s.queries.GetInitialEventPerDay(ctx, dbgen.GetInitialEventPerDayParams{ EventID: filter.EventID.ToPG(), CreatedAfter: filter.CreatedAfter.ToPG(), CreatedBefore: filter.CreatedBefore.ToPG(), }) if err != nil { return nil, fmt.Errorf("GetInitialEventPerDay failed: %w", err) } return convertEventHistory(dbEventHistories), nil }