diff --git a/CHANGELOG.md b/CHANGELOG.md index ac490d64a..725589747 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to ### Changed - ♿️(frontend) use semantic `
` structure in document info card #2379 +- 🚚(global) move favorite documents API endpoint to `/documents/favorites/` ## [v5.4.1] - 2026-07-09 diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index 5d9991bcb..e491b84b6 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -484,7 +484,7 @@ class DocumentViewSet( 8. **Favorite**: Get list of favorite documents for a user. Mark or unmark a document as favorite. Examples: - - GET /documents/favorite_list/ + - GET /documents/favorites/ - POST, DELETE /documents/{id}/favorite/ 9. **Create for Owner**: Create a document via server-to-server on behalf of a user. @@ -836,6 +836,7 @@ class DocumentViewSet( detail=False, methods=["get"], permission_classes=[permissions.IsAuthenticated], + url_path="favorites", ) def favorite_list(self, request, *args, **kwargs): """Get list of favorite documents for the current user.""" diff --git a/src/backend/core/tests/documents/test_api_documents_favorite_list.py b/src/backend/core/tests/documents/test_api_documents_favorite_list.py index e28e0f777..a07c905e0 100644 --- a/src/backend/core/tests/documents/test_api_documents_favorite_list.py +++ b/src/backend/core/tests/documents/test_api_documents_favorite_list.py @@ -16,7 +16,7 @@ def test_api_document_favorite_list_anonymous(): """Anonymous users should receive a 401 error.""" client = APIClient() - response = client.get("/api/v1.0/documents/favorite_list/") + response = client.get("/api/v1.0/documents/favorites/") assert response.status_code == 401 @@ -27,7 +27,7 @@ def test_api_document_favorite_list_authenticated_no_favorite(): client = APIClient() client.force_login(user) - response = client.get("/api/v1.0/documents/favorite_list/") + response = client.get("/api/v1.0/documents/favorites/") assert response.status_code == 200 assert response.json() == { @@ -53,7 +53,7 @@ def test_api_document_favorite_list_authenticated_with_favorite(): user=user, role=models.RoleChoices.READER, document__favorited_by=[user] ).document - response = client.get("/api/v1.0/documents/favorite_list/") + response = client.get("/api/v1.0/documents/favorites/") assert response.status_code == 200 assert response.json() == { @@ -107,7 +107,7 @@ def test_api_document_favorite_list_with_favorite_children(): other_root = factories.DocumentFactory(creator=user, users=[user]) factories.DocumentFactory.create_batch(2, parent=other_root) - response = client.get("/api/v1.0/documents/favorite_list/") + response = client.get("/api/v1.0/documents/favorites/") assert response.status_code == 200 assert response.json()["count"] == 3 @@ -149,7 +149,7 @@ def test_api_document_favorite_list_sorted_by_updated_at(): updated_at=now + timedelta(seconds=3) ) - response = client.get("/api/v1.0/documents/favorite_list/") + response = client.get("/api/v1.0/documents/favorites/") assert response.status_code == 200 assert response.json()["count"] == 3 @@ -176,7 +176,7 @@ def test_api_document_favorite_list_with_deleted_child(): child1.delete() - response = client.get("/api/v1.0/documents/favorite_list/") + response = client.get("/api/v1.0/documents/favorites/") assert response.status_code == 200 assert response.json()["count"] == 2 diff --git a/src/backend/core/tests/external_api/test_external_api_documents_favorite.py b/src/backend/core/tests/external_api/test_external_api_documents_favorite.py index 86883a9da..c9ee47055 100644 --- a/src/backend/core/tests/external_api/test_external_api_documents_favorite.py +++ b/src/backend/core/tests/external_api/test_external_api_documents_favorite.py @@ -35,7 +35,7 @@ def test_external_api_documents_favorites_list_allowed( document__favorited_by=[user_specific_sub], ).document - response = client.get("/external_api/v1.0/documents/favorite_list/") + response = client.get("/external_api/v1.0/documents/favorites/") assert response.status_code == 200 data = response.json() diff --git a/src/frontend/apps/impress/src/features/docs/doc-management/api/useDocsFavorite.tsx b/src/frontend/apps/impress/src/features/docs/doc-management/api/useDocsFavorite.tsx index 3baa45102..5f47bc3c6 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-management/api/useDocsFavorite.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-management/api/useDocsFavorite.tsx @@ -26,7 +26,7 @@ export const getDocsFavorite = async ( } const response = await fetchAPI( - `documents/favorite_list/?${searchParams.toString()}`, + `documents/favorites/?${searchParams.toString()}`, ); if (!response.ok) {