diff --git a/swh/deposit/api/private/urls.py b/swh/deposit/api/private/urls.py new file mode 100644 index 00000000..3a7e532a --- /dev/null +++ b/swh/deposit/api/private/urls.py @@ -0,0 +1,37 @@ +# Copyright (C) 2017 The Software Heritage developers +# See the AUTHORS file at the top-level directory of this distribution +# License: GNU General Public License version 3, or any later version +# See top-level LICENSE file for more information + +from django.conf.urls import url + +from ...config import PRIVATE_GET_RAW_CONTENT +from ...config import PRIVATE_PUT_DEPOSIT, PRIVATE_GET_DEPOSIT_METADATA +from ...config import PRIVATE_CHECK_DEPOSIT +from .deposit_read import SWHDepositReadArchives +from .deposit_read import SWHDepositReadMetadata +from .deposit_update_status import SWHUpdateStatusDeposit +from .deposit_check import SWHChecksDeposit + +urlpatterns = [ + # Retrieve deposit's raw archives' content + # -> GET + url(r'^(?P[^/]+)/(?P[^/]+)/raw/$', + SWHDepositReadArchives.as_view(), + name=PRIVATE_GET_RAW_CONTENT), + # Update deposit's status + # -> PUT + url(r'^(?P[^/]+)/(?P[^/]+)/update/$', + SWHUpdateStatusDeposit.as_view(), + name=PRIVATE_PUT_DEPOSIT), + # Retrieve metadata information on a specific deposit + # -> GET + url(r'^(?P[^/]+)/(?P[^/]+)/meta/$', + SWHDepositReadMetadata.as_view(), + name=PRIVATE_GET_DEPOSIT_METADATA), + # Check archive and metadata information on a specific deposit + # -> GET + url(r'^(?P[^/]+)/(?P[^/]+)/check/$', + SWHChecksDeposit.as_view(), + name=PRIVATE_CHECK_DEPOSIT), +] diff --git a/swh/deposit/api/urls.py b/swh/deposit/api/urls.py index 98250ca9..1aba2429 100644 --- a/swh/deposit/api/urls.py +++ b/swh/deposit/api/urls.py @@ -1,97 +1,68 @@ # Copyright (C) 2017 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information """swh URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.10/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from ..config import EDIT_SE_IRI, EM_IRI, CONT_FILE_IRI -from ..config import SD_IRI, COL_IRI, STATE_IRI, PRIVATE_GET_RAW_CONTENT -from ..config import PRIVATE_PUT_DEPOSIT, PRIVATE_GET_DEPOSIT_METADATA -from ..config import PRIVATE_CHECK_DEPOSIT +from ..config import SD_IRI, COL_IRI, STATE_IRI from .deposit import SWHDeposit from .deposit_status import SWHDepositStatus from .deposit_update import SWHUpdateMetadataDeposit from .deposit_update import SWHUpdateArchiveDeposit from .deposit_content import SWHDepositContent from .service_document import SWHServiceDocument -from .private.deposit_read import SWHDepositReadArchives -from .private.deposit_read import SWHDepositReadMetadata -from .private.deposit_update_status import SWHUpdateStatusDeposit -from .private.deposit_check import SWHChecksDeposit urlpatterns = [ # PUBLIC API # SD IRI - Service Document IRI # -> GET url(r'^servicedocument/', SWHServiceDocument.as_view(), name=SD_IRI), # Col IRI - Collection IRI # -> POST url(r'^(?P[^/]+)/$', SWHDeposit.as_view(), name=COL_IRI), # EM IRI - Atom Edit Media IRI (update archive IRI) # -> PUT (update-in-place existing archive) # -> POST (add new archive) url(r'^(?P[^/]+)/(?P[^/]+)/media/$', SWHUpdateArchiveDeposit.as_view(), name=EM_IRI), # Edit IRI - Atom Entry Edit IRI (update metadata IRI) # SE IRI - Sword Edit IRI ;; possibly same as Edit IRI # -> PUT (update in place) # -> POST (add new metadata) url(r'^(?P[^/]+)/(?P[^/]+)/metadata/$', SWHUpdateMetadataDeposit.as_view(), name=EDIT_SE_IRI), # State IRI # -> GET url(r'^(?P[^/]+)/(?P[^/]+)/status/$', SWHDepositStatus.as_view(), name=STATE_IRI), # Cont/File IRI # -> GET url(r'^(?P[^/]+)/(?P[^/]+)/content/$', SWHDepositContent.as_view(), name=CONT_FILE_IRI), # specification is not clear about # FILE-IRI, we assume it's the same as # the CONT-IRI one - - # PRIVATE API - - # Retrieve deposit's raw archives' content - # -> GET - url(r'^(?P[^/]+)/(?P[^/]+)/raw/$', - SWHDepositReadArchives.as_view(), - name=PRIVATE_GET_RAW_CONTENT), - # Update deposit's status - # -> PUT - url(r'^(?P[^/]+)/(?P[^/]+)/update/$', - SWHUpdateStatusDeposit.as_view(), - name=PRIVATE_PUT_DEPOSIT), - # Retrieve metadata information on a specific deposit - # -> GET - url(r'^(?P[^/]+)/(?P[^/]+)/meta/$', - SWHDepositReadMetadata.as_view(), - name=PRIVATE_GET_DEPOSIT_METADATA), - # Check archive and metadata information on a specific deposit - # -> GET - url(r'^(?P[^/]+)/(?P[^/]+)/check/$', - SWHChecksDeposit.as_view(), - name=PRIVATE_CHECK_DEPOSIT), ] diff --git a/swh/deposit/urls.py b/swh/deposit/urls.py index 13cf6ae4..1ddb71ed 100644 --- a/swh/deposit/urls.py +++ b/swh/deposit/urls.py @@ -1,44 +1,45 @@ # Copyright (C) 2017 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information """swhdeposit URL Configuration The :data:`urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.11/topics/http/urls/ Examples: - Function views: 1. Add an import: ``from my_app import views`` 2. Add a URL to urlpatterns: ``url(r'^$', views.home, name='home')`` - Class-based views: 1. Add an import: ``from other_app.views import Home`` 2. Add a URL to urlpatterns: ``url(r'^$', Home.as_view(), name='home')`` - Including another URLconf: 1. Import the include function: ``from django.conf.urls import url, include`` 2. Add a URL to urlpatterns: ``url(r'^blog/', include('blog.urls'))`` """ from django.conf.urls import url, include from django.http import HttpResponse from rest_framework.urlpatterns import format_suffix_patterns def index(req): return HttpResponse('SWH Deposit API') urlpatterns = [ url(r'^$', index, name='home'), url(r'^1/', include('swh.deposit.api.urls')), + url(r'^1/private/', include('swh.deposit.api.private.urls')), ] urlpatterns = format_suffix_patterns(urlpatterns)