feat: update staff data

This commit is contained in:
ericprd
2025-03-14 12:41:11 +08:00
parent 1297c71200
commit 11bc19360c
31 changed files with 130 additions and 115 deletions
+4 -4
View File
@@ -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])
+12 -6
View File
@@ -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
+3 -3
View File
@@ -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
}