refactor-code-modules #1

Merged
pk merged 3 commits from refactor-code-modules into master 2025-05-27 19:30:13 +01:00
7 changed files with 38 additions and 38 deletions
Showing only changes of commit 5bfa8422ca - Show all commits

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
logs/
badgerdb/
notes.md

View File

@ -15,10 +15,6 @@ const (
CollectionName = "shares"
)
type Handlers struct {
DB *clover.DB
}
func InitDatabase() (*clover.DB, error) {
store, err := badgerstore.Open("badgerdb")
if err != nil {
@ -79,4 +75,4 @@ func PrintAllHashes(db *clover.DB) {
hash := doc.Get("Hash")
fmt.Println(hash)
}
}
}

View File

@ -97,4 +97,4 @@ func IngestBlockDir(db *clover.DB, dirPath string) {
}
log.Printf("Ingested and deleted %s", dirPath)
}
}

52
main.go
View File

@ -1,38 +1,36 @@
package main
import (
"fmt"
"log"
"net/http"
"os"
"os/signal"
"syscall"
"fmt"
"log"
"net/http"
"os"
"os/signal"
"syscall"
"pool-stats/database"
"pool-stats/ingest"
"pool-stats/web"
"pool-stats/database"
"pool-stats/ingest"
"pool-stats/web"
)
func main() {
db, err := database.InitDatabase()
if err != nil {
log.Fatalf("Failed to initialize database: %v", err)
}
defer db.Close()
db, err := database.InitDatabase()
if err != nil {
log.Fatalf("Failed to initialize database: %v", err)
}
defer db.Close()
database.PrintAllHashes(db)
go ingest.WatchAndIngest(db)
go ingest.WatchAndIngest(db)
go func() {
handlers := web.Handlers{DB: db}
http.HandleFunc("/", handlers.IndexHandler)
fmt.Println("Listening on :8081")
log.Fatal(http.ListenAndServe(":8081", nil))
}()
go func() {
handlers := database.Handlers{DB: db}
http.HandleFunc("/", handlers.IndexHandler)
fmt.Println("Listening on :8081")
log.Fatal(http.ListenAndServe(":8081", nil))
}()
fmt.Println("Waiting for ctrl-c")
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
<-sigs
fmt.Println("Waiting for ctrl-c")
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
<-sigs
}

View File

@ -43,4 +43,4 @@ func (s *ShareLog) ParseCreateDate() (time.Time, error) {
return time.Time{}, err
}
return time.Unix(sec, nsec), nil
}
}

View File

@ -69,4 +69,4 @@ func GetStats(db *clover.DB) ([]models.ShareStat, error) {
}
return stats, nil
}
}

View File

@ -4,11 +4,16 @@ import (
"html/template"
"net/http"
"pool-stats/database"
"pool-stats/stats"
"github.com/ostafen/clover/v2"
)
func (h database.Handlers) IndexHandler(w http.ResponseWriter, r *http.Request) {
type Handlers struct {
DB *clover.DB
}
func (h Handlers) IndexHandler(w http.ResponseWriter, r *http.Request) {
shareStats, err := stats.GetStats(h.DB)
if err != nil {
http.Error(w, "Failed to load stats", 500)
@ -17,4 +22,4 @@ func (h database.Handlers) IndexHandler(w http.ResponseWriter, r *http.Request)
tmpl := template.Must(template.ParseFiles("templates/index.html"))
tmpl.Execute(w, shareStats)
}
}