From f266cd84140b9fa2dc5b3cee77c5c92ccc53d1c2 Mon Sep 17 00:00:00 2001 From: Nikhil <118773738+pablohashescobar@users.noreply.github.com> Date: Thu, 16 Oct 2025 15:36:48 +0530 Subject: [PATCH] [WEB-5162] fix: add exporter URL patterns for exporting issues (#7977) * feat: add exporter URL patterns for exporting issues and update session cookie age handling * fix: ensure ADMIN_SESSION_COOKIE_AGE is an integer for consistent session handling --- apps/api/plane/app/urls/__init__.py | 2 ++ apps/api/plane/app/urls/exporter.py | 12 ++++++++++++ apps/api/plane/app/urls/issue.py | 7 ------- apps/api/plane/settings/common.py | 4 ++-- 4 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 apps/api/plane/app/urls/exporter.py diff --git a/apps/api/plane/app/urls/__init__.py b/apps/api/plane/app/urls/__init__.py index 8cfc18dbb..3feab4cb5 100644 --- a/apps/api/plane/app/urls/__init__.py +++ b/apps/api/plane/app/urls/__init__.py @@ -17,6 +17,7 @@ from .views import urlpatterns as view_urls from .webhook import urlpatterns as webhook_urls from .workspace import urlpatterns as workspace_urls from .timezone import urlpatterns as timezone_urls +from .exporter import urlpatterns as exporter_urls urlpatterns = [ *analytic_urls, @@ -38,4 +39,5 @@ urlpatterns = [ *api_urls, *webhook_urls, *timezone_urls, + *exporter_urls, ] diff --git a/apps/api/plane/app/urls/exporter.py b/apps/api/plane/app/urls/exporter.py new file mode 100644 index 000000000..0bcb4621b --- /dev/null +++ b/apps/api/plane/app/urls/exporter.py @@ -0,0 +1,12 @@ +from django.urls import path + +from plane.app.views import ExportIssuesEndpoint + + +urlpatterns = [ + path( + "workspaces//export-issues/", + ExportIssuesEndpoint.as_view(), + name="export-issues", + ), +] \ No newline at end of file diff --git a/apps/api/plane/app/urls/issue.py b/apps/api/plane/app/urls/issue.py index 0521a33dc..1d809e248 100644 --- a/apps/api/plane/app/urls/issue.py +++ b/apps/api/plane/app/urls/issue.py @@ -7,7 +7,6 @@ from plane.app.views import ( IssueLinkViewSet, IssueAttachmentEndpoint, CommentReactionViewSet, - ExportIssuesEndpoint, IssueActivityEndpoint, IssueArchiveViewSet, IssueCommentViewSet, @@ -141,12 +140,6 @@ urlpatterns = [ IssueAttachmentV2Endpoint.as_view(), name="project-issue-attachments", ), - ## Export Issues - path( - "workspaces//export-issues/", - ExportIssuesEndpoint.as_view(), - name="export-issues", - ), ## End Issues ## Issue Activity path( diff --git a/apps/api/plane/settings/common.py b/apps/api/plane/settings/common.py index e8eb77e3b..d47bf6293 100644 --- a/apps/api/plane/settings/common.py +++ b/apps/api/plane/settings/common.py @@ -300,14 +300,14 @@ DATA_UPLOAD_MAX_MEMORY_SIZE = int(os.environ.get("FILE_SIZE_LIMIT", 5242880)) SESSION_COOKIE_SECURE = secure_origins SESSION_COOKIE_HTTPONLY = True SESSION_ENGINE = "plane.db.models.session" -SESSION_COOKIE_AGE = os.environ.get("SESSION_COOKIE_AGE", 604800) +SESSION_COOKIE_AGE = int(os.environ.get("SESSION_COOKIE_AGE", 604800)) SESSION_COOKIE_NAME = os.environ.get("SESSION_COOKIE_NAME", "session-id") SESSION_COOKIE_DOMAIN = os.environ.get("COOKIE_DOMAIN", None) SESSION_SAVE_EVERY_REQUEST = os.environ.get("SESSION_SAVE_EVERY_REQUEST", "0") == "1" # Admin Cookie ADMIN_SESSION_COOKIE_NAME = "admin-session-id" -ADMIN_SESSION_COOKIE_AGE = os.environ.get("ADMIN_SESSION_COOKIE_AGE", 3600) +ADMIN_SESSION_COOKIE_AGE = int(os.environ.get("ADMIN_SESSION_COOKIE_AGE", 3600)) # CSRF cookies CSRF_COOKIE_SECURE = secure_origins