Minor upgrades and test fixes.
[wolnelektury.git] / src / api / urls.py
1 # This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
3 #
4 from django.urls import path, include
5 from django.views.decorators.csrf import csrf_exempt
6 from django.views.generic import TemplateView
7 import catalogue.views
8 from stats.utils import piwik_track_view
9 from . import views
10
11
12 urlpatterns1 = [
13     path('login/', csrf_exempt(views.LoginView.as_view())),
14     path('', include('catalogue.api.urls2')),
15 ]
16
17
18 urlpatterns = [
19     path('2/', include((urlpatterns1, 'api'), namespace="v2")),
20
21     path('oauth/request_token/', csrf_exempt(views.OAuth1RequestTokenView.as_view())),
22     path('oauth/authorize/', views.oauth_user_auth, name='oauth_user_auth'),
23     path('oauth/access_token/', csrf_exempt(views.OAuth1AccessTokenView.as_view())),
24     path('login/', csrf_exempt(views.LoginView.as_view())),
25
26     path('', TemplateView.as_view(template_name='api/main.html'), name='api'),
27
28     # info boxes (used by mobile app)
29     path('book/<int:book_id>/info.html', catalogue.views.book_info),
30     path('tag/<int:tag_id>/info.html', catalogue.views.tag_info),
31
32     # reading data
33     path('reading/<slug:slug>/',
34          piwik_track_view(views.BookUserDataView.as_view()),
35          name='api_reading'),
36     path('reading/<slug:slug>/<slug:state>/',
37          piwik_track_view(views.BookUserDataView.as_view()),
38          name='api_reading'),
39     path('username/',
40          piwik_track_view(views.UserView.as_view()),
41          name='api_username'),
42
43     path('blog',
44          piwik_track_view(views.BlogView.as_view())),
45
46     path('', include('social.api.urls')),
47     path('', include('catalogue.api.urls')),
48
49 ]