2018-02-02 21:53:16 +00:00
package postgres
2018-02-02 19:58:59 +00:00
2018-02-08 16:12:08 +00:00
import (
"github.com/vulcanize/vulcanizedb/pkg/core"
)
2018-02-02 19:58:59 +00:00
2018-02-12 16:54:05 +00:00
type WatchedEventRepository struct {
* DB
}
func ( watchedEventRepository WatchedEventRepository ) GetWatchedEvents ( name string ) ( [ ] * core . WatchedEvent , error ) {
rows , err := watchedEventRepository . DB . Queryx ( ` SELECT name, block_number, address, tx_hash, index, topic0, topic1, topic2, topic3, data FROM watched_event_logs where name=$1 ` , name )
2018-02-02 19:58:59 +00:00
if err != nil {
return nil , err
}
defer rows . Close ( )
2018-02-08 16:12:08 +00:00
lgs := make ( [ ] * core . WatchedEvent , 0 )
2018-02-02 19:58:59 +00:00
for rows . Next ( ) {
2018-02-08 16:12:08 +00:00
lg := new ( core . WatchedEvent )
2018-02-02 19:58:59 +00:00
err := rows . StructScan ( lg )
if err != nil {
return nil , err
}
lgs = append ( lgs , lg )
}
if err = rows . Err ( ) ; err != nil {
return nil , err
}
return lgs , nil
}