Breaking: Removes API v1 and the related serializer (#12166)

This commit is contained in:
Trenton H
2026-02-25 20:06:43 -08:00
committed by GitHub
parent 503845ce5b
commit 53ac338946
4 changed files with 2 additions and 81 deletions

View File

@@ -549,28 +549,6 @@ class ColorField(serializers.Field):
return 1
class TagSerializerVersion1(MatchingModelSerializer, OwnedObjectSerializer):
colour = ColorField(source="color", default="#a6cee3")
class Meta:
model = Tag
fields = (
"id",
"slug",
"name",
"colour",
"match",
"matching_algorithm",
"is_insensitive",
"is_inbox_tag",
"document_count",
"owner",
"permissions",
"user_can_change",
"set_permissions",
)
class TagSerializer(MatchingModelSerializer, OwnedObjectSerializer):
def get_text_color(self, obj) -> str:
try:

View File

@@ -2419,57 +2419,6 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED, endpoint)
def test_tag_color_default(self) -> None:
response = self.client.post("/api/tags/", {"name": "tag"}, format="json")
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(Tag.objects.get(id=response.data["id"]).color, "#a6cee3")
self.assertEqual(
self.client.get(
f"/api/tags/{response.data['id']}/",
headers={"Accept": "application/json; version=1"},
format="json",
).data["colour"],
1,
)
def test_tag_color(self) -> None:
response = self.client.post(
"/api/tags/",
data={"name": "tag", "colour": 3},
headers={"Accept": "application/json; version=1"},
format="json",
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(Tag.objects.get(id=response.data["id"]).color, "#b2df8a")
self.assertEqual(
self.client.get(
f"/api/tags/{response.data['id']}/",
headers={"Accept": "application/json; version=1"},
format="json",
).data["colour"],
3,
)
def test_tag_color_invalid(self) -> None:
response = self.client.post(
"/api/tags/",
data={"name": "tag", "colour": 34},
headers={"Accept": "application/json; version=1"},
format="json",
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
def test_tag_color_custom(self) -> None:
tag = Tag.objects.create(name="test", color="#abcdef")
self.assertEqual(
self.client.get(
f"/api/tags/{tag.id}/",
headers={"Accept": "application/json; version=1"},
format="json",
).data["colour"],
1,
)
def test_get_existing_notes(self) -> None:
"""
GIVEN:

View File

@@ -181,7 +181,6 @@ from documents.serialisers import ShareLinkSerializer
from documents.serialisers import StoragePathSerializer
from documents.serialisers import StoragePathTestSerializer
from documents.serialisers import TagSerializer
from documents.serialisers import TagSerializerVersion1
from documents.serialisers import TasksViewSerializer
from documents.serialisers import TrashSerializer
from documents.serialisers import UiSettingsViewSerializer
@@ -472,6 +471,7 @@ class CorrespondentViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet):
@extend_schema_view(**generate_object_with_permissions_schema(TagSerializer))
class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet):
model = Tag
serializer_class = TagSerializer
document_count_through = Document.tags.through
document_count_source_field = "tag_id"
@@ -479,12 +479,6 @@ class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet):
Lower("name"),
)
def get_serializer_class(self, *args, **kwargs):
if int(self.request.version) == 1:
return TagSerializerVersion1
else:
return TagSerializer
pagination_class = StandardPagination
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
filter_backends = (

View File

@@ -377,7 +377,7 @@ REST_FRAMEWORK = {
"DEFAULT_VERSION": "9", # match src-ui/src/environments/environment.prod.ts
# Make sure these are ordered and that the most recent version appears
# last. See api.md#api-versioning when adding new versions.
"ALLOWED_VERSIONS": ["1", "2", "3", "4", "5", "6", "7", "8", "9"],
"ALLOWED_VERSIONS": ["2", "3", "4", "5", "6", "7", "8", "9"],
# DRF Spectacular default schema
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
}