Ver Fonte

middleware.Instance

- revert back uuids
Alexey Kim há 1 ano atrás
pai
commit
fd86634bf2
4 ficheiros alterados com 15 adições e 6 exclusões
  1. 1 0
      go.mod
  2. 2 0
      go.sum
  3. 1 1
      graph/auth
  4. 11 5
      middleware/instance.go

+ 1 - 0
go.mod

@@ -3,6 +3,7 @@ module beejay.kim/craft/api
 go 1.20
 
 require (
+	github.com/gofrs/uuid v4.4.0+incompatible
 	github.com/golang-jwt/jwt/v5 v5.0.0
 	github.com/labstack/echo-jwt/v4 v4.2.0
 	github.com/labstack/echo/v4 v4.11.1

+ 2 - 0
go.sum

@@ -3,6 +3,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
+github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
 github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
 github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
 github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=

+ 1 - 1
graph/auth

@@ -1 +1 @@
-Subproject commit 05e2f1b6a7f0e3eb2110bb835006859dac077819
+Subproject commit 0dd3c13e9dc6aaefb04a85a07cba2c90748be5a3

+ 11 - 5
middleware/instance.go

@@ -3,6 +3,7 @@ package middleware
 import (
 	"context"
 	"fmt"
+	"github.com/gofrs/uuid"
 	"github.com/labstack/echo/v4"
 	"net/http"
 )
@@ -15,18 +16,23 @@ func InstanceId() echo.MiddlewareFunc {
 				return echo.NewHTTPError(http.StatusForbidden, "missing or malformed instance id")
 			}
 
-			value := context.WithValue(c.Request().Context(), keyInstanceId, s)
+			id, err := uuid.FromString(s)
+			if err != nil {
+				return echo.NewHTTPError(http.StatusForbidden, "missing or malformed instance id")
+			}
+
+			value := context.WithValue(c.Request().Context(), keyInstanceId, id)
 			c.SetRequest(c.Request().WithContext(value))
 			return next(c)
 		}
 	}
 }
 
-func GetInstanceId(ctx context.Context) (*string, error) {
-	id, ok := ctx.Value(keyInstanceId).(string)
+func GetInstanceId(ctx context.Context) (uuid.UUID, error) {
+	id, ok := ctx.Value(keyInstanceId).(uuid.UUID)
 	if !ok {
-		return nil, fmt.Errorf("missing or malformed instance id")
+		return uuid.Nil, fmt.Errorf("missing or malformed instance id")
 	}
 
-	return &id, nil
+	return id, nil
 }