github.com/navikt/knorten@v0.0.0-20240419132333-1333f46ed8b6/pkg/api/user.go (about) 1 package api 2 3 import ( 4 "net/http" 5 6 "github.com/navikt/knorten/pkg/api/middlewares" 7 8 "github.com/gin-contrib/sessions" 9 "github.com/gin-gonic/gin" 10 ) 11 12 func (c *client) setupUserRoutes() { 13 c.router.GET("/oversikt", func(ctx *gin.Context) { 14 session := sessions.Default(ctx) 15 16 user, err := getUser(ctx) 17 if err != nil { 18 session.AddFlash(err.Error()) 19 err := session.Save() 20 if err != nil { 21 c.log.WithError(err).Error("problem saving session") 22 ctx.Redirect(http.StatusSeeOther, "/") 23 return 24 } 25 26 ctx.Redirect(http.StatusSeeOther, "/") 27 return 28 } 29 30 flashes := session.Flashes() 31 err = session.Save() 32 if err != nil { 33 c.log.WithError(err).Error("problem saving session") 34 return 35 } 36 37 services, err := c.repo.ServicesForUser(ctx, user.Email) 38 ctx.HTML(http.StatusOK, "oversikt/index", gin.H{ 39 "errors": err, 40 "flashes": flashes, 41 "user": services, 42 "gcpProject": c.gcpProject, 43 "gcpZone": c.gcpZone, 44 "loggedIn": ctx.GetBool(middlewares.LoggedInKey), 45 "isAdmin": ctx.GetBool(middlewares.AdminKey), 46 }) 47 }) 48 }