Files
realy/basic/main.go

45 lines
773 B
Go

package main
import (
"fmt"
"github.com/fiatjaf/relayer"
"github.com/jmoiron/sqlx"
"github.com/jmoiron/sqlx/reflectx"
"github.com/kelseyhightower/envconfig"
)
type BasicRelay struct {
PostgresDatabase string `envconfig:"POSTGRESQL_DATABASE"`
DB *sqlx.DB
}
func (b *BasicRelay) Name() string {
return "BasicRelay"
}
func (b *BasicRelay) Init() error {
err := envconfig.Process("", b)
if err != nil {
return fmt.Errorf("couldn't process envconfig: %w", err)
}
if db, err := initDB(b.PostgresDatabase); err != nil {
return fmt.Errorf("failed to open database: %w", err)
} else {
db.Mapper = reflectx.NewMapperFunc("json", sqlx.NameMapper)
b.DB = db
}
go cleanupRoutine(b.DB)
return nil
}
func main() {
var b BasicRelay
relayer.Start(&b)
}