Newer
Older
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django.urls import include, path
from rest_framework import routers
PublicationPublicSearchAPIViewSet,
PubFractionPublicAPIViewSet,
from submissions.api.viewsets import (
SubmissionPublicAPIViewSet,
SubmissionPublicSearchAPIViewSet,
)
from finances.api.viewsets import SubsidyFinAdminAPIViewSet, SubsidyPublicAPIViewSet
# Next two: old style, to be deprecated:
from conflicts.viewsets import ConflictOfInterestViewSet
from news.viewsets import NewsItemViewSet
from api.views.omniauth import OmniAuthUserInfoView
import api.views.search as search_views
router = routers.SimpleRouter()
router.register("search/publications", PublicationPublicSearchAPIViewSet)
router.register("search/submissions", SubmissionPublicSearchAPIViewSet)
#############################
# publicly-accessible routes
#############################
router.register("publications", PublicationPublicAPIViewSet)
router.register("pubfractions", PubFractionPublicAPIViewSet)
router.register("submissions", SubmissionPublicAPIViewSet)
router.register("organizations", OrganizationPublicAPIViewSet)
router.register("nap", OrganizationNAPViewSet)
router.register("finadmin/subsidies", SubsidyFinAdminAPIViewSet)
router.register("subsidies", SubsidyPublicAPIViewSet)
# Next two: old style, to be deprecated:
router.register(r"news", NewsItemViewSet)
router.register(r"conflicts", ConflictOfInterestViewSet)
urlpatterns = router.urls
urlpatterns += [
path( # /api/omniauth/userinfo/, for SciPost as GitLab/OmniAuth authorization server
"omniauth/userinfo/", OmniAuthUserInfoView.as_view(), name="omniauth_userinfo"
path( # /api/available_search_tabs/
"available_search_tabs/",
search_views.available_search_tabs,
name="available_search_tabs",