github.com/diadata-org/diadata@v1.4.593/internal/pkg/filtersBlockService/FilterTLT.go (about) 1 // TLT Time last trade 2 3 package filters 4 5 import ( 6 "time" 7 8 "github.com/diadata-org/diadata/pkg/dia" 9 models "github.com/diadata-org/diadata/pkg/model" 10 log "github.com/sirupsen/logrus" 11 ) 12 13 type FilterTLT struct { 14 asset dia.Asset 15 exchange string 16 lastTradeTime time.Time 17 } 18 19 func NewFilterTLT(asset dia.Asset, exchange string) *FilterTLT { 20 s := &FilterTLT{ 21 asset: asset, 22 exchange: exchange, 23 } 24 return s 25 } 26 27 func (s *FilterTLT) filterPointForBlock() *dia.FilterPoint { 28 return nil 29 } 30 31 func (s *FilterTLT) compute(trade dia.Trade) { 32 s.lastTradeTime = trade.Time 33 } 34 35 func (s *FilterTLT) save(ds models.Datastore) error { 36 err := ds.SetLastTradeTimeForExchange(s.asset, s.exchange, s.lastTradeTime) 37 if err != nil { 38 log.Errorln("FilterTLT Error:", err) 39 } 40 return err 41 } 42 43 func (s *FilterTLT) finalCompute(time time.Time) float64 { 44 return 0.0 45 }