* chore: new asset duplicate endpoint added * chore: change the type in url * chore: added rate limiting for image duplication endpoint * chore: added rate limiting per asset id * chore: added throttle class * chore: added validations for entity * chore: added extra validations * chore: removed the comment * chore: reverted the frontend code * chore: added the response key * feat: handle image duplication for web * feat: custom image duplication update * fix: remove paste logic for image * fix : remove entity validation * refactor: remove entity id for duplication * feat: handle duplication in utils * feat: add asset duplication registry * chore: update the set attribute method * fix: add ref for api check * chore :remove logs * chore : add entity types types * refactor: rename duplication success status value * chore: update attribute to enums * chore: update variable name * chore: set uploading state * chore : update enum name * chore : update replace command * chore: fix retry UI * chore: remove default logic * refactor: optimize imports in custom image extension files and improve error handling in image duplication * fix:type error * Update packages/editor/src/core/extensions/custom-image/components/node-view.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: enhance asset duplication handler to ignore HTTP sources --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com> Co-authored-by: VipinDevelops <vipinchaudhary1809@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
110 lines
3.2 KiB
Python
110 lines
3.2 KiB
Python
from django.urls import path
|
|
|
|
|
|
from plane.app.views import (
|
|
FileAssetEndpoint,
|
|
UserAssetsEndpoint,
|
|
FileAssetViewSet,
|
|
# V2 Endpoints
|
|
WorkspaceFileAssetEndpoint,
|
|
UserAssetsV2Endpoint,
|
|
StaticFileAssetEndpoint,
|
|
AssetRestoreEndpoint,
|
|
ProjectAssetEndpoint,
|
|
ProjectBulkAssetEndpoint,
|
|
AssetCheckEndpoint,
|
|
DuplicateAssetEndpoint,
|
|
WorkspaceAssetDownloadEndpoint,
|
|
ProjectAssetDownloadEndpoint,
|
|
)
|
|
|
|
|
|
urlpatterns = [
|
|
path(
|
|
"workspaces/<str:slug>/file-assets/",
|
|
FileAssetEndpoint.as_view(),
|
|
name="file-assets",
|
|
),
|
|
path(
|
|
"workspaces/file-assets/<uuid:workspace_id>/<str:asset_key>/",
|
|
FileAssetEndpoint.as_view(),
|
|
name="file-assets",
|
|
),
|
|
path("users/file-assets/", UserAssetsEndpoint.as_view(), name="user-file-assets"),
|
|
path(
|
|
"users/file-assets/<str:asset_key>/",
|
|
UserAssetsEndpoint.as_view(),
|
|
name="user-file-assets",
|
|
),
|
|
path(
|
|
"workspaces/file-assets/<uuid:workspace_id>/<str:asset_key>/restore/",
|
|
FileAssetViewSet.as_view({"post": "restore"}),
|
|
name="file-assets-restore",
|
|
),
|
|
# V2 Endpoints
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/",
|
|
WorkspaceFileAssetEndpoint.as_view(),
|
|
name="workspace-file-assets",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/<uuid:asset_id>/",
|
|
WorkspaceFileAssetEndpoint.as_view(),
|
|
name="workspace-file-assets",
|
|
),
|
|
path(
|
|
"assets/v2/user-assets/",
|
|
UserAssetsV2Endpoint.as_view(),
|
|
name="user-file-assets",
|
|
),
|
|
path(
|
|
"assets/v2/user-assets/<uuid:asset_id>/",
|
|
UserAssetsV2Endpoint.as_view(),
|
|
name="user-file-assets",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/restore/<uuid:asset_id>/",
|
|
AssetRestoreEndpoint.as_view(),
|
|
name="asset-restore",
|
|
),
|
|
path(
|
|
"assets/v2/static/<uuid:asset_id>/",
|
|
StaticFileAssetEndpoint.as_view(),
|
|
name="static-file-asset",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/projects/<uuid:project_id>/",
|
|
ProjectAssetEndpoint.as_view(),
|
|
name="bulk-asset-update",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/projects/<uuid:project_id>/<uuid:pk>/",
|
|
ProjectAssetEndpoint.as_view(),
|
|
name="bulk-asset-update",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/projects/<uuid:project_id>/<uuid:entity_id>/bulk/",
|
|
ProjectBulkAssetEndpoint.as_view(),
|
|
name="bulk-asset-update",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/check/<uuid:asset_id>/",
|
|
AssetCheckEndpoint.as_view(),
|
|
name="asset-check",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/duplicate-assets/<uuid:asset_id>/",
|
|
DuplicateAssetEndpoint.as_view(),
|
|
name="duplicate-assets",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/download/<uuid:asset_id>/",
|
|
WorkspaceAssetDownloadEndpoint.as_view(),
|
|
name="workspace-asset-download",
|
|
),
|
|
path(
|
|
"assets/v2/workspaces/<str:slug>/projects/<uuid:project_id>/download/<uuid:asset_id>/",
|
|
ProjectAssetDownloadEndpoint.as_view(),
|
|
name="project-asset-download",
|
|
),
|
|
]
|