feat: update staff data
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
authdomain "legalgo-BE-go/internal/domain/auth"
|
||||
"net/http"
|
||||
"strings"
|
||||
@@ -13,16 +13,16 @@ func GetTokenDetail(r *http.Request) (authdomain.AuthToken, error) {
|
||||
var data authdomain.AuthToken
|
||||
|
||||
if authHeader == "" {
|
||||
return data, errors.New("unauthorized")
|
||||
return data, fmt.Errorf("unauthorized")
|
||||
}
|
||||
|
||||
if !strings.HasPrefix(authHeader, "Bearer") {
|
||||
return data, errors.New("invalid token")
|
||||
return data, fmt.Errorf("invalid token")
|
||||
}
|
||||
|
||||
token := strings.Split(authHeader, " ")
|
||||
if len(token) < 2 {
|
||||
return data, errors.New("invalid token")
|
||||
return data, fmt.Errorf("invalid token")
|
||||
}
|
||||
data, err := DestructToken(token[1])
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
@@ -37,6 +36,7 @@ func GenerateToken(data authdomain.AuthToken) (string, error) {
|
||||
string(jwtclaimenum.EMAIL): data.Email,
|
||||
string(jwtclaimenum.ROLE): data.Role,
|
||||
string(jwtclaimenum.SESSION_ID): data.SessionID,
|
||||
string(jwtclaimenum.ID): data.ID,
|
||||
string(jwtclaimenum.EXPIRED_AT): now.Add(time.Minute * time.Duration(config.REDIS_TIMEOUT)).Unix(),
|
||||
}
|
||||
|
||||
@@ -66,32 +66,38 @@ func DestructToken(s string) (authdomain.AuthToken, error) {
|
||||
claims, ok := token.Claims.(jwt.MapClaims)
|
||||
|
||||
if !ok {
|
||||
return data, errors.New("failed to parse token")
|
||||
return data, fmt.Errorf("failed to parse token")
|
||||
}
|
||||
|
||||
if !token.Valid {
|
||||
return data, errors.New("invalid token")
|
||||
return data, fmt.Errorf("invalid token")
|
||||
}
|
||||
|
||||
email, ok := claims[string(jwtclaimenum.EMAIL)].(string)
|
||||
if !ok {
|
||||
return data, errors.New("invalid email")
|
||||
return data, fmt.Errorf("invalid email")
|
||||
}
|
||||
|
||||
sessionId, ok := claims[string(jwtclaimenum.SESSION_ID)].(string)
|
||||
if !ok {
|
||||
return data, errors.New("invalid session_id")
|
||||
return data, fmt.Errorf("invalid session_id")
|
||||
}
|
||||
|
||||
role, ok := claims[string(jwtclaimenum.ROLE)].(string)
|
||||
if !ok {
|
||||
return data, errors.New("invalid role")
|
||||
return data, fmt.Errorf("invalid role")
|
||||
}
|
||||
|
||||
id, ok := claims[string(jwtclaimenum.ID)].(string)
|
||||
if !ok {
|
||||
return data, fmt.Errorf("invalid id")
|
||||
}
|
||||
|
||||
data = authdomain.AuthToken{
|
||||
Email: email,
|
||||
SessionID: sessionId,
|
||||
Role: role,
|
||||
ID: id,
|
||||
}
|
||||
|
||||
return data, nil
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@@ -11,14 +11,14 @@ func StructToMap(s any) (map[string]any, error) {
|
||||
val := reflect.ValueOf(s)
|
||||
|
||||
if val.Kind() != reflect.Struct {
|
||||
return nil, errors.New("provided value is not struct")
|
||||
return nil, fmt.Errorf("provided value is not struct")
|
||||
}
|
||||
|
||||
for i := range val.NumField() {
|
||||
field := val.Type().Field(i)
|
||||
value := val.Field(i)
|
||||
|
||||
if value.IsZero() || value.IsNil() {
|
||||
if !value.IsValid() {
|
||||
continue
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user