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