ln-stream/main.go
2024-02-15 22:58:19 -05:00

56 lines
1.3 KiB
Go

package main
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
"ln-stream/lnd"
"ln-stream/memgraph"
"ln-stream/routes"
"log"
)
func main() {
var err error
err = godotenv.Load(".env")
if err != nil {
log.Fatalf("Failed to load .env file: %v", err)
}
// Connect to Neo4j instance and drop the database
routes.Driver, err = memgraph.ConnectNeo4j()
if err != nil {
log.Fatalf("Failed to connect to Neo4j: %v", err)
}
defer memgraph.CloseDriver(routes.Driver)
// Connect to lnd
routes.LndServices, err = lnd.ConnectToLND()
if err != nil {
log.Fatalf("Failed to create new lnd services: %v", err)
}
defer routes.LndServices.Close()
router := gin.Default()
// Handle the button click
router.GET("/reset-graph", routes.ResetGraphHandler)
// Handle the button click to toggle the routine
router.GET("/toggle-updates", routes.ToggleUpdatesHandler)
router.GET("/get-status", routes.GetStatusHandler)
// Serve static files (HTML, CSS, JS)
router.StaticFile("/static/script.js", "./static/script.js")
router.StaticFile("/static/style.css", "./static/style.css")
router.StaticFile("/", "./index.html")
// Subscribe to graph topology updates
//go routes.SubscribeToGraphUpdates()
routes.IsRoutineRunning = false
// Start the server
fmt.Println("Server started at http://localhost:8080")
router.Run(":8080")
}