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 } func (u *Utils) GetAllTokensFromContext(c *gin.Context) (string, string, string, error) { if c == nil { return "", "", "", errors.New("context is nil") } //get user uuid userRaw, exists := c.Get("userUuid") if !exists { return "", "", "", errors.New("user uuid not found in context") } userUuidStr, ok := userRaw.(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") } //get refresh token uuid refreshRaw, exists := c.Get("refreshUuid") if !exists { return "", "", "", errors.New("refresh uuid not found in context") } refreshUuidStr, ok := refreshRaw.(string) if !ok { return "", "", "", errors.New("refresh uuid is not a string") } refreshUuid, err := uuid.Parse(refreshUuidStr) if err != nil { return "", "", "", errors.New("error parsing refresh uuid") } //get session token uuid sessionRaw, exists := c.Get("sessionUuid") if !exists { return "", "", "", errors.New("session uuid not found in context") } sessionUuidStr, ok := sessionRaw.(string) if !ok { return "", "", "", errors.New("session uuid is not a string") } sessionUuid, err := uuid.Parse(sessionUuidStr) if err != nil { return "", "", "", errors.New("error parsing session uuid") } return userUuid.String(), refreshUuid.String(), sessionUuid.String(), nil }