diff --git a/database/mainpage.go b/database/mainpage.go index 1d13fdf..6f0781e 100644 --- a/database/mainpage.go +++ b/database/mainpage.go @@ -1,18 +1,29 @@ package database import ( + "context" "github.com/gin-gonic/gin" - "time" + "github.com/jackc/pgx/v4/pgxpool" + "log" "trikotwaschliste/models" ) -func DbMainpage() gin.H { +func DbMainpage(pool *pgxpool.Pool) gin.H { var items []models.Washlist - items = append(items, models.Washlist{ - Person: "Gerda", - Date: time.Now(), - IsWashed: true, - }) + witems, err := pool.Query(context.Background(), "SELECT pe.name, ga.created_at, wa.washed \nFROM washlist wa\nINNER JOIN persons pe ON wa.personid = pe.id\nINNER JOIN gamedata ga ON wa.gamedataid = ga.id") + if err != nil { + log.Println(err.Error()) + } + + var item models.Washlist + for witems.Next() { + err = witems.Scan(&item.Person, &item.Date, &item.IsWashed) + if err != nil { + log.Println(err.Error()) + } + items = append(items, item) + } + return gin.H{"items": items} } diff --git a/handler/mainpage.go b/handler/mainpage.go index b235c55..d543d57 100644 --- a/handler/mainpage.go +++ b/handler/mainpage.go @@ -2,12 +2,13 @@ package handler import ( "github.com/gin-gonic/gin" + "github.com/jackc/pgx/v4/pgxpool" "net/http" "trikotwaschliste/database" ) -func MainPage() gin.HandlerFunc { +func MainPage(pool *pgxpool.Pool) gin.HandlerFunc { return func(c *gin.Context) { - c.HTML(http.StatusAccepted, "index.html", database.DbMainpage()) + c.HTML(http.StatusAccepted, "index.html", database.DbMainpage(pool)) } } diff --git a/routes/routes.go b/routes/routes.go index c2952bf..8a48c22 100644 --- a/routes/routes.go +++ b/routes/routes.go @@ -7,5 +7,5 @@ import ( ) func RoutesInit(router *gin.Engine, pool *pgxpool.Pool) { - router.GET("/", handler.MainPage()) + router.GET("/", handler.MainPage(pool)) }