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  }