29 lines
589 B
Go
29 lines
589 B
Go
package utils
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
func (u *Utils) GetUserUuidFromContext(c *gin.Context) (string, error) {
|
|
if c == nil {
|
|
return "", errors.New("context is nil")
|
|
}
|
|
|
|
uuidRaw, exists := c.Get("userUuid")
|
|
if !exists {
|
|
return "", errors.New("user uuid not found in context")
|
|
}
|
|
|
|
userUuidStr, ok := uuidRaw.(string)
|
|
if !ok {
|
|
return "", errors.New("user uuid is not a string")
|
|
}
|
|
|
|
userUuid, err := uuid.Parse(userUuidStr)
|
|
if err != nil {
|
|
return "", errors.New("error parsing user uuid")
|
|
}
|
|
return userUuid.String(), nil
|
|
}
|