Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hackdna/update api urls #3348

Merged
merged 17 commits into from
Apr 26, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
31 changes: 9 additions & 22 deletions refinery/config/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,16 @@

from core.forms import RegistrationFormWithCustomFields
from core.models import AuthenticationFormUsernameOrEmail
from core.urls import core_router
from core.urls import core_api_urls
from core.utils import verify_recaptcha
from core.views import CustomRegistrationView, user_profile, user_profile_edit
from data_set_manager.urls import data_set_manager_router
from file_store.urls import file_store_router
from tool_manager.urls import tool_manager_router
from data_set_manager.urls import data_set_manager_api_urls
from file_store.urls import file_store_api_urls
from tool_manager.urls import tool_manager_api_urls
from tool_manager.views import AutoRelaunchProxy
from user_files_manager.urls import user_files_router
from user_files_manager.urls import user_files_api_urls
from user_files_manager.views import user_files, user_files_csv

from . import utils

logger = logging.getLogger(__name__)

urlpatterns = [
Expand Down Expand Up @@ -54,23 +52,12 @@
url(r'^files/$', user_files, name='user_files'),
url(r'^files_download$', user_files_csv, name='user_files_csv'),
url(r'^{}/'.format(settings.DJANGO_DOCKER_ENGINE_BASE_URL),
include(AutoRelaunchProxy().url_patterns()))
include(AutoRelaunchProxy().url_patterns())),
url(r'^api/v2/', include(core_api_urls + data_set_manager_api_urls +
file_store_api_urls + tool_manager_api_urls +
user_files_api_urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

# Django REST Framework Url Routing
# RouterCombiner.extend(<router instance>) to include DRF Routers defined in
# other apps urls.py files
router = utils.RouterCombiner()
router.extend(core_router)
router.extend(data_set_manager_router)
router.extend(file_store_router)
router.extend(tool_manager_router)
router.extend(user_files_router)
# Wire up our DRF APIs using automatic URL routing
urlpatterns += [
url(r"^api/v2/", include(router.urls)),
]

# for using DjDT with mod_wsgi
# https://github.com/django-debug-toolbar/django-debug-toolbar/issues/529
if settings.DEBUG:
Expand Down
18 changes: 0 additions & 18 deletions refinery/config/utils.py

This file was deleted.

40 changes: 18 additions & 22 deletions refinery/core/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@
from rest_framework.routers import DefaultRouter

from constants import UUID_RE
from .views import (AnalysisViewSet, DataSetViewSet, EventViewSet,
GroupViewSet, GroupMemberAPIView, InvitationViewSet,
ObtainAuthTokenValidSession, OpenIDToken,
SiteProfileViewSet, UserProfileViewSet, WorkflowViewSet)

from . import views

urlpatterns = [
Expand Down Expand Up @@ -47,25 +44,24 @@
name='workflow_slug'),
]

# DRF url routing
core_router = DefaultRouter()
core_router.register(r'workflows', WorkflowViewSet)
core_router.register(r'data_sets', DataSetViewSet, 'data_sets')
core_router.register(r'groups', GroupViewSet, 'groups')
core_router.register(r'invitations', InvitationViewSet, 'invitations')
core_router.urls.extend([
url(r'^events/$', EventViewSet.as_view()),
router = DefaultRouter()
router.register(r'data_sets', views.DataSetViewSet, 'data_sets')
router.register(r'groups', views.GroupViewSet, 'groups')
router.register(r'invitations', views.InvitationViewSet, 'invitations')
router.register(r'workflows', views.WorkflowViewSet)

core_api_urls = router.urls + [
url(r'^analyses/$', views.AnalysisViewSet.as_view()),
url(r'^events/$', views.EventViewSet.as_view()),
url(r'^groups/(?P<uuid>' + UUID_RE + r')/members/$',
GroupMemberAPIView.as_view()),
views.GroupMemberAPIView.as_view()),
url(r'^groups/(?P<uuid>' + UUID_RE + r')/members/(?P<id>\d)/$',
GroupMemberAPIView.as_view()),
views.GroupMemberAPIView.as_view()),
url(r'^user_profile/(?P<uuid>' + UUID_RE + r')/$',
UserProfileViewSet.as_view()),
url(r'^analyses/$', AnalysisViewSet.as_view()),
views.UserProfileViewSet.as_view()),
url(r'^analyses/(?P<uuid>' + UUID_RE + r')/$',
AnalysisViewSet.as_view()),
url(r'^openid_token/$',
OpenIDToken.as_view(), name="openid-token"),
url(r'^obtain-auth-token/', ObtainAuthTokenValidSession.as_view()),
url(r'^site_profiles/$', SiteProfileViewSet.as_view()),
])
views.AnalysisViewSet.as_view()),
url(r'^openid_token/$', views.OpenIDToken.as_view(), name='openid-token'),
url(r'^obtain-auth-token/', views.ObtainAuthTokenValidSession.as_view()),
url(r'^site_profiles/$', views.SiteProfileViewSet.as_view()),
]
24 changes: 11 additions & 13 deletions refinery/data_set_manager/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
from rest_framework.routers import DefaultRouter

from constants import UUID_RE
from .views import (AddFileToNodeView, AssayAPIView, AssayAttributeAPIView,
AssayFileAPIView, NodeViewSet, StudyViewSet)

from . import views

urlpatterns = [
Expand Down Expand Up @@ -43,16 +42,15 @@
name='take_ownership_of_public_dataset')
]

# DRF url routing
data_set_manager_router = DefaultRouter()
data_set_manager_router.register(r'^nodes', NodeViewSet, 'nodes')
data_set_manager_router.urls.extend([
url(r'^assays/$', AssayAPIView.as_view()),
router = DefaultRouter()
router.register(r'nodes', views.NodeViewSet, 'nodes')

data_set_manager_api_urls = router.urls + [
url(r'^assays/$', views.AssayAPIView.as_view()),
url(r'^assays/(?P<uuid>' + UUID_RE + ')/files/$',
AssayFileAPIView.as_view()),
views.AssayFileAPIView.as_view()),
url(r'^assays/(?P<uuid>' + UUID_RE + ')/attributes/$',
AssayAttributeAPIView.as_view()),
url(r'^data_set_manager/add-file/$',
AddFileToNodeView.as_view()),
url(r'^studies/$', StudyViewSet.as_view()),
])
views.AssayAttributeAPIView.as_view()),
url(r'^data_set_manager/add-file/$', views.AddFileToNodeView.as_view()),
url(r'^studies/$', views.StudyViewSet.as_view()),
]
8 changes: 2 additions & 6 deletions refinery/file_store/urls.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
from django.conf.urls import url

from constants import UUID_RE
from rest_framework.routers import DefaultRouter

from file_store.views import FileStoreItems

# DRF url routing
file_store_router = DefaultRouter()
file_store_router.urls.extend([
file_store_api_urls = [
url(r'^file_store_items/(?P<uuid>' + UUID_RE + r')/$',
FileStoreItems.as_view())
])
]
12 changes: 7 additions & 5 deletions refinery/tool_manager/urls.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from rest_framework.routers import DefaultRouter

from .views import ToolDefinitionsViewSet, ToolsViewSet
from . import views

# DRF url routing
tool_manager_router = DefaultRouter()
tool_manager_router.register(r'tools', ToolsViewSet, base_name='tools')
tool_manager_router.register(r'tool_definitions', ToolDefinitionsViewSet,
base_name='tooldefinitions')
router = DefaultRouter()
router.register(r'tools', views.ToolsViewSet, base_name='tools')
router.register(r'tool_definitions', views.ToolDefinitionsViewSet,
base_name='tooldefinitions')

tool_manager_api_urls = router.urls
11 changes: 4 additions & 7 deletions refinery/user_files_manager/urls.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
from django.conf.urls import url

from rest_framework.routers import DefaultRouter
from . import views

from .views import UserFiles

user_files_router = DefaultRouter()
user_files_router.urls.extend([
url(r'^files/$', UserFiles.as_view())
])
user_files_api_urls = [
url(r'^files/$', views.UserFiles.as_view())
]