/*
* Copyright (C) 2024 Jonni Liljamo <jonni@liljamo.com>
*
* This file is licensed under GPL-3.0-or-later, see NOTICE and LICENSE for
* more information.
*/
package handlers
import (
"context"
"git.src.quest/~liljamo/emerwen-web/internal/consts"
"github.com/gin-gonic/gin"
)
// BaseContext constructs a new context with values that are needed for every
// page.
func BaseContext(c *gin.Context) context.Context {
var ctx context.Context
if loggedIn, ok := c.Value(consts.KeyLoggedIn).(bool); ok {
ctx = context.WithValue(c.Request.Context(), consts.KeyLoggedIn, loggedIn)
}
if userName, ok := c.Value(consts.KeyUserName).(string); ok {
ctx = context.WithValue(ctx, consts.KeyUserName, userName)
}
return ctx
}