diff --git a/pkg/neo4j/neo4j.go b/pkg/neo4j/neo4j.go index d38d093..f7bfbfc 100644 --- a/pkg/neo4j/neo4j.go +++ b/pkg/neo4j/neo4j.go @@ -65,6 +65,12 @@ func (r *CollectedResult) Len() int { return len(r.records) } +// Err returns any error from iteration (always nil for pre-collected results) +// This method satisfies the resultiter.Neo4jResultIterator interface +func (r *CollectedResult) Err() error { + return nil +} + // init registers the neo4j database factory func init() { database.RegisterNeo4jFactory(func( diff --git a/pkg/neo4j/query-events.go b/pkg/neo4j/query-events.go index 5ea77ad..3ee574c 100644 --- a/pkg/neo4j/query-events.go +++ b/pkg/neo4j/query-events.go @@ -10,7 +10,6 @@ import ( "git.mleku.dev/mleku/nostr/encoders/hex" "git.mleku.dev/mleku/nostr/encoders/tag" "next.orly.dev/pkg/database/indexes/types" - "next.orly.dev/pkg/interfaces/resultiter" "next.orly.dev/pkg/interfaces/store" ) @@ -170,7 +169,7 @@ RETURN e.id AS id, // Add limit if specified limitClause := "" - if *f.Limit > 0 { + if f.Limit != nil && *f.Limit > 0 { params["limit"] = *f.Limit limitClause = " LIMIT $limit" } @@ -182,19 +181,13 @@ RETURN e.id AS id, } // parseEventsFromResult converts Neo4j query results to Nostr events -func (n *N) parseEventsFromResult(result any) ([]*event.E, error) { +func (n *N) parseEventsFromResult(result *CollectedResult) ([]*event.E, error) { events := make([]*event.E, 0) ctx := context.Background() - // Type assert to the result iterator interface - resultIter, ok := result.(resultiter.Neo4jResultIterator) - if !ok { - return nil, fmt.Errorf("invalid result type: expected resultiter.Neo4jResultIterator") - } - // Iterate through result records - for resultIter.Next(ctx) { - record := resultIter.Record() + for result.Next(ctx) { + record := result.Record() if record == nil { continue } @@ -252,7 +245,7 @@ func (n *N) parseEventsFromResult(result any) ([]*event.E, error) { events = append(events, e) } - if err := resultIter.Err(); err != nil { + if err := result.Err(); err != nil { return nil, fmt.Errorf("error iterating results: %w", err) } diff --git a/pkg/version/version b/pkg/version/version index ae99bf7..4426b61 100644 --- a/pkg/version/version +++ b/pkg/version/version @@ -1 +1 @@ -v0.32.0 \ No newline at end of file +v0.32.1 \ No newline at end of file