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 }