core: fix token intent not defaulting correctly
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
09e3d616e9
commit
033c9a3bd3
|
@ -1,4 +1,5 @@
|
||||||
"""Tokens API Viewset"""
|
"""Tokens API Viewset"""
|
||||||
|
from typing import Any
|
||||||
from django.http.response import Http404
|
from django.http.response import Http404
|
||||||
from drf_spectacular.utils import OpenApiResponse, extend_schema
|
from drf_spectacular.utils import OpenApiResponse, extend_schema
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
|
@ -23,11 +24,12 @@ class TokenSerializer(ManagedSerializer, ModelSerializer):
|
||||||
|
|
||||||
user = UserSerializer(required=False)
|
user = UserSerializer(required=False)
|
||||||
|
|
||||||
def validate_intent(self, value: str) -> str:
|
def validate(self, data: dict[Any, str]) -> dict[Any, str]:
|
||||||
"""Ensure only API or App password tokens are created."""
|
"""Ensure only API or App password tokens are created."""
|
||||||
if value not in [TokenIntents.INTENT_API, TokenIntents.INTENT_APP_PASSWORD]:
|
data.setdefault("intent", TokenIntents.INTENT_API)
|
||||||
raise ValidationError(f"Invalid intent {value}")
|
if data.get("intent") not in [TokenIntents.INTENT_API, TokenIntents.INTENT_APP_PASSWORD]:
|
||||||
return value
|
raise ValidationError(f"Invalid intent {data.get('intent')}")
|
||||||
|
return data
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
||||||
|
|
Reference in New Issue