feat(web/auth): add IsLoginWithUserID for request without exit

This commit is contained in:
genofire 2022-09-20 20:57:06 +02:00
parent 1fd4f64a9f
commit d7a9f17792
1 changed files with 13 additions and 5 deletions

View File

@ -12,15 +12,12 @@ import (
"dev.sum7.eu/genofire/golang-lib/web" "dev.sum7.eu/genofire/golang-lib/web"
) )
// GetCurrentUserID get UserID of session in golang-gin // IsLoginWithUserID get UserID of session in golang-gin
func GetCurrentUserID(c *gin.Context) (uuid.UUID, bool) { func IsLoginWithUserID(c *gin.Context) (uuid.UUID, bool) {
session := sessions.Default(c) session := sessions.Default(c)
v := session.Get("user_id") v := session.Get("user_id")
if v == nil { if v == nil {
c.JSON(http.StatusUnauthorized, web.HTTPError{
Message: ErrAPINoSession.Error(),
})
return uuid.Nil, false return uuid.Nil, false
} }
@ -28,6 +25,17 @@ func GetCurrentUserID(c *gin.Context) (uuid.UUID, bool) {
return id, true return id, true
} }
// GetCurrentUserID get UserID of session in golang-gin
func GetCurrentUserID(c *gin.Context) (uuid.UUID, bool) {
id, ok := IsLoginWithUserID(c)
if !ok {
c.JSON(http.StatusUnauthorized, web.HTTPError{
Message: ErrAPINoSession.Error(),
})
}
return id, ok
}
// GetCurrentUser get User of session from database in golang-gin // GetCurrentUser get User of session from database in golang-gin
func GetCurrentUser(c *gin.Context, ws *web.Service) (*User, bool) { func GetCurrentUser(c *gin.Context, ws *web.Service) (*User, bool) {
id, ok := GetCurrentUserID(c) id, ok := GetCurrentUserID(c)