Fix lastSession returns 5xx with api key
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
@@ -54,15 +54,16 @@ var (
|
|||||||
|
|
||||||
func SessionDirective(ctx context.Context, obj any, next graphql.Resolver, required types.SessionRequirement) (any, error) {
|
func SessionDirective(ctx context.Context, obj any, next graphql.Resolver, required types.SessionRequirement) (any, error) {
|
||||||
session := SessionFromContext(ctx)
|
session := SessionFromContext(ctx)
|
||||||
|
apiKey := APIKeyFromContext(ctx)
|
||||||
|
|
||||||
switch required {
|
switch required {
|
||||||
case types.SessionRequirementOptional:
|
case types.SessionRequirementOptional:
|
||||||
case types.SessionRequirementPresent:
|
case types.SessionRequirementPresent:
|
||||||
if session == nil {
|
if session == nil && apiKey == nil {
|
||||||
return nil, ErrUnauthenticated
|
return nil, ErrUnauthenticated
|
||||||
}
|
}
|
||||||
case types.SessionRequirementNone:
|
case types.SessionRequirementNone:
|
||||||
if session != nil {
|
if session != nil && apiKey != nil {
|
||||||
return nil, ErrAlreadyAuthenticated
|
return nil, ErrAlreadyAuthenticated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user