summaryrefslogtreecommitdiff
path: root/auth/middlewares.go
diff options
context:
space:
mode:
Diffstat (limited to 'auth/middlewares.go')
-rw-r--r--auth/middlewares.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/auth/middlewares.go b/auth/middlewares.go
index 7f90677..1534b16 100644
--- a/auth/middlewares.go
+++ b/auth/middlewares.go
@@ -20,6 +20,16 @@ var (
type userContext struct{}
+func UserFromContext[U any](ctx context.Context) (U, bool) {
+ user, ok := ctx.Value(userContext{}).(U)
+ return user, ok
+}
+
+func LoginFromContext[U core.WithLanguage](ctx context.Context) core.Login[U] {
+ user, ok := UserFromContext[U](ctx)
+ return core.LoginFromUser(user, ok)
+}
+
func Unauthorized(w http.ResponseWriter, err error) {
w.WriteHeader(http.StatusUnauthorized)
if err != nil {