core: fix token intent not defaulting correctly
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -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
	
	Block a user
	 Jens Langhammer
					Jens Langhammer