mirror of
https://github.com/makeplane/plane.git
synced 2026-07-13 14:01:45 +02:00
chore: workspace user favorite pages (#1056)
This commit is contained in:
committed by
GitHub
parent
1299005de6
commit
104a6f41fc
@@ -6,6 +6,7 @@ from plane.ee.views import (
|
||||
WorkspacePageViewSet,
|
||||
WorkspacePagesDescriptionViewSet,
|
||||
WorkspacePageVersionEndpoint,
|
||||
WorkspacePageFavoriteEndpoint,
|
||||
)
|
||||
|
||||
|
||||
@@ -90,4 +91,9 @@ urlpatterns = [
|
||||
WorkspacePageVersionEndpoint.as_view(),
|
||||
name="workspace-page-version",
|
||||
),
|
||||
path(
|
||||
"workspaces/<str:slug>/favorite-pages/<uuid:pk>/",
|
||||
WorkspacePageFavoriteEndpoint.as_view(),
|
||||
name="page-favorites",
|
||||
),
|
||||
]
|
||||
|
||||
@@ -16,6 +16,7 @@ from plane.ee.views.app.page import (
|
||||
WorkspacePageViewSet,
|
||||
WorkspacePagesDescriptionViewSet,
|
||||
WorkspacePageVersionEndpoint,
|
||||
WorkspacePageFavoriteEndpoint,
|
||||
)
|
||||
from plane.ee.views.app.views import (
|
||||
IssueViewEEViewSet,
|
||||
|
||||
@@ -3,4 +3,5 @@ from .workspace import (
|
||||
WorkspacePageViewSet,
|
||||
WorkspacePagesDescriptionViewSet,
|
||||
WorkspacePageVersionEndpoint,
|
||||
WorkspacePageFavoriteEndpoint,
|
||||
)
|
||||
|
||||
@@ -455,3 +455,31 @@ class WorkspacePageVersionEndpoint(BaseAPIView):
|
||||
# Serialize the page versions
|
||||
serializer = WorkspacePageVersionSerializer(page_versions, many=True)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class WorkspacePageFavoriteEndpoint(BaseAPIView):
|
||||
|
||||
model = UserFavorite
|
||||
|
||||
@check_feature_flag(FeatureFlag.WORKSPACE_PAGES)
|
||||
def post(self, request, slug, pk):
|
||||
workspace = Workspace.objects.get(slug=slug)
|
||||
_ = UserFavorite.objects.create(
|
||||
entity_identifier=pk,
|
||||
entity_type="page",
|
||||
user=request.user,
|
||||
workspace_id=workspace.id,
|
||||
)
|
||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
@check_feature_flag(FeatureFlag.WORKSPACE_PAGES)
|
||||
def delete(self, request, slug, pk):
|
||||
page_favorite = UserFavorite.objects.get(
|
||||
project__isnull=True,
|
||||
user=request.user,
|
||||
workspace__slug=slug,
|
||||
entity_identifier=pk,
|
||||
entity_type="page",
|
||||
)
|
||||
page_favorite.delete(soft=False)
|
||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
Reference in New Issue
Block a user