mirror of
https://github.com/status-im/status-go.git
synced 2025-01-21 20:20:29 +00:00
1097b14a7f
* Migrations in place, how to run them? * Remove down migrations and touch database.go * Database and Database Test package in place, added functions to get and store app metrics * make generate output * Minor bug fix on app metrics insert and select * Add a validation layer to restrict what can be saved in the database * Make validation more terse, throw error if schema doesn't exist, expose appmetrics service * service updates * Compute all errors before sending them out * Trying to bring a closjure to appmetrics go * Expose appmetrics via an api, skip fancy * Address value as Jason Dawt Rawmasage to ease parsing * Introduce a buffered chan with magic cap of 8 to minimize writes to DB. Tests for service and API. Also expose GetAppMetrics function. * Lint issues * Remove autoincrement, undo waku.json changes, fix error being shadowed, return nil where nil ought to be returned, get rid of buffered channel * Bump migration number * Fix API factory usage * Add comment re:json.RawMessage instead of strings * Get rid of test vars, throw save error inside the loop * Update version Co-authored-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
40 lines
625 B
Go
40 lines
625 B
Go
package appmetrics
|
|
|
|
import (
|
|
"github.com/ethereum/go-ethereum/p2p"
|
|
"github.com/ethereum/go-ethereum/rpc"
|
|
|
|
"github.com/status-im/status-go/appmetrics"
|
|
)
|
|
|
|
func NewService(db *appmetrics.Database) *Service {
|
|
return &Service{db: db}
|
|
}
|
|
|
|
type Service struct {
|
|
db *appmetrics.Database
|
|
}
|
|
|
|
func (s *Service) Start(*p2p.Server) error {
|
|
return nil
|
|
}
|
|
|
|
func (s *Service) Stop() error {
|
|
return nil
|
|
}
|
|
|
|
func (s *Service) APIs() []rpc.API {
|
|
return []rpc.API{
|
|
{
|
|
Namespace: "appmetrics",
|
|
Version: "0.1.0",
|
|
Service: NewAPI(s.db),
|
|
Public: true,
|
|
},
|
|
}
|
|
}
|
|
|
|
func (s *Service) Protocols() []p2p.Protocol {
|
|
return nil
|
|
}
|