move config to lib

This commit is contained in:
kiwiidb
2022-01-19 14:40:27 +01:00
parent a83fbc6067
commit b8fb826ea5
3 changed files with 18 additions and 17 deletions

View File

@@ -18,11 +18,11 @@ type AuthController struct {
svc *lib.LndhubService
}
func NewAuthController(svc *lib.LndhubService, secret []byte, expiry int) *AuthController {
func NewAuthController(svc *lib.LndhubService) *AuthController {
return &AuthController{
svc: svc,
JWTSecret: secret,
JWTExpiry: expiry,
JWTSecret: svc.Config.JWTSecret,
JWTExpiry: svc.Config.JWTExpiry,
}
}

View File

@@ -9,9 +9,20 @@ import (
)
type LndhubService struct {
Config *Config
DB *bun.DB
LndClient *lnrpc.LightningClient
}
type Config struct {
DatabaseUri string `envconfig:"DATABASE_URI" required:"true"`
SentryDSN string `envconfig:"SENTRY_DSN"`
LogFilePath string `envconfig:"LOG_FILE_PATH"`
JWTSecret []byte `envconfig:"JWT_SECRET" required:"true"`
JWTExpiry int `envconfig:"JWT_EXPIRY" default:"604800"` // in seconds
LNDAddress string `envconfig:"LND_ADDRESS" required:"true"`
LNDMacaroonHex string `envconfig:"LND_MACAROON_HEX" required:"true"`
LNDCertHex string `envconfig:"LND_CERT_HEX"`
}
func (svc *LndhubService) CurrentBalance(ctx context.Context, userId int64) (int64, error) {
var balance int64

18
main.go
View File

@@ -26,26 +26,15 @@ import (
"github.com/ziflex/lecho/v3"
)
type Config struct {
DatabaseUri string `envconfig:"DATABASE_URI" required:"true"`
SentryDSN string `envconfig:"SENTRY_DSN"`
LogFilePath string `envconfig:"LOG_FILE_PATH"`
JWTSecret []byte `envconfig:"JWT_SECRET" required:"true"`
JWTExpiry int `envconfig:"JWT_EXPIRY" default:"604800"` // in seconds
LNDAddress string `envconfig:"LND_ADDRESS" required:"true"`
LNDMacaroonHex string `envconfig:"LND_MACAROON_HEX" required:"true"`
LNDCertHex string `envconfig:"LND_CERT_HEX"`
}
func main() {
var c Config
c := &lib.Config{}
// Load configruation from environment variables
err := godotenv.Load(".env")
if err != nil {
fmt.Println("Failed to load .env file")
}
err = envconfig.Process("", &c)
err = envconfig.Process("", c)
if err != nil {
panic(err)
}
@@ -113,11 +102,12 @@ func main() {
logger.Infof("Connected to LND: %s - %s", getInfo.Alias, getInfo.IdentityPubkey)
svc := &lib.LndhubService{
Config: c,
DB: dbConn,
LndClient: &lndClient,
}
e.POST("/auth", controllers.NewAuthController(svc, c.JWTSecret, c.JWTExpiry).Auth)
e.POST("/auth", controllers.NewAuthController(svc).Auth)
e.POST("/create", controllers.NewCreateUserController(svc).CreateUser)
secured := e.Group("", tokens.Middleware(c.JWTSecret))