All checks were successful
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 1m17s
40 lines
556 B
Go
40 lines
556 B
Go
package core
|
|
|
|
import (
|
|
"net/http"
|
|
"spend-sparrow/internal/types"
|
|
)
|
|
|
|
type ContextKey string
|
|
|
|
var SessionKey ContextKey = "session"
|
|
var UserKey ContextKey = "user"
|
|
|
|
func GetUser(r *http.Request) *types.User {
|
|
obj := r.Context().Value(UserKey)
|
|
if obj == nil {
|
|
return nil
|
|
}
|
|
|
|
user, ok := obj.(*types.User)
|
|
if !ok {
|
|
return nil
|
|
}
|
|
|
|
return user
|
|
}
|
|
|
|
func GetSession(r *http.Request) *types.Session {
|
|
obj := r.Context().Value(SessionKey)
|
|
if obj == nil {
|
|
return nil
|
|
}
|
|
|
|
session, ok := obj.(*types.Session)
|
|
if !ok {
|
|
return nil
|
|
}
|
|
|
|
return session
|
|
}
|