github.com/status-im/status-go@v1.1.0/services/appmetrics/api.go (about)

     1  package appmetrics
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/pborman/uuid"
     7  
     8  	"github.com/ethereum/go-ethereum/log"
     9  	"github.com/status-im/status-go/appmetrics"
    10  )
    11  
    12  func NewAPI(db *appmetrics.Database) *API {
    13  	return &API{db: db, sessionID: uuid.NewRandom().String()}
    14  }
    15  
    16  type API struct {
    17  	db        *appmetrics.Database
    18  	sessionID string
    19  }
    20  
    21  func (api *API) ValidateAppMetrics(ctx context.Context, appMetrics []appmetrics.AppMetric) error {
    22  	log.Debug("[AppMetricsAPI::ValidateAppMetrics]")
    23  	return api.db.ValidateAppMetrics(appMetrics)
    24  }
    25  
    26  func (api *API) SaveAppMetrics(ctx context.Context, appMetrics []appmetrics.AppMetric) error {
    27  	log.Debug("[AppMetricsAPI::SaveAppMetrics]")
    28  	return api.db.SaveAppMetrics(appMetrics, api.sessionID)
    29  }
    30  
    31  func (api *API) GetAppMetrics(ctx context.Context, limit int, offset int) (appmetrics.Page, error) {
    32  	log.Debug("[AppMetricsAPI::GetAppMetrics]")
    33  	return api.db.GetAppMetrics(limit, offset)
    34  }