// Package middleware defines all the middlewares for the application
package middleware
import (
"github.com/gin-gonic/gin"
"net/http"
)
// UserIDKey is the key used to set and get the user id in the context of the current request
const UserIDKey = "UserID"
// Auth middleware redirects to /login and aborts the current request if there is no authenticated user
func Auth() gin.HandlerFunc {
return func(c *gin.Context) {
_, exists := c.Get(UserIDKey)
if !exists {
c.Redirect(http.StatusTemporaryRedirect, "/login")
c.Abort()
return
}