94 lines
3.6 KiB
Python
94 lines
3.6 KiB
Python
"""qrtr_services URL Configuration
|
|
|
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
https://docs.djangoproject.com/en/2.2/topics/http/urls/
|
|
Examples:
|
|
Function views
|
|
1. Add an import: from my_app import views
|
|
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
|
Class-based views
|
|
1. Add an import: from other_app.views import Home
|
|
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
|
Including another URLconf
|
|
1. Import the include() function: from django.urls import include, path
|
|
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
|
"""
|
|
from django.contrib import admin
|
|
from django.urls import include, path, re_path
|
|
from rest_framework import routers
|
|
from allauth.account.views import confirm_email
|
|
import allauth
|
|
from dj_rest_auth.registration.views import VerifyEmailView
|
|
|
|
|
|
from user.views import (UserViewSet,
|
|
GroupViewSet,
|
|
ConfirmEmailSuccessView
|
|
)
|
|
|
|
from qrtr_account.views import (AccountViewSet,
|
|
BankAccountViewSet,
|
|
InstitutionViewSet,
|
|
TransactionViewSet,
|
|
SliceViewSet, SliceTransactionViewSet,
|
|
FacebookLogin,
|
|
TwitterLogin)
|
|
|
|
from connection.views import ConnectionViewSet, ConnectionTypeViewSet
|
|
|
|
|
|
from rest_framework import permissions
|
|
from drf_yasg.views import get_schema_view
|
|
from drf_yasg import openapi
|
|
|
|
|
|
schema_view = get_schema_view(
|
|
openapi.Info(
|
|
title="Qrtr API",
|
|
default_version='v1',
|
|
description="",
|
|
terms_of_service="https://www.google.com/policies/terms/",
|
|
contact=openapi.Contact(email="contact@snippets.local"),
|
|
license=openapi.License(name="BSD License"),
|
|
),
|
|
public=True,
|
|
permission_classes=[permissions.AllowAny],
|
|
)
|
|
|
|
router = routers.DefaultRouter()
|
|
router.register(r'users', UserViewSet)
|
|
router.register(r'groups', GroupViewSet)
|
|
router.register(r'accounts', AccountViewSet)
|
|
router.register(r'bank-accounts', BankAccountViewSet)
|
|
router.register(r'institutions', InstitutionViewSet)
|
|
router.register(r'transactions', TransactionViewSet)
|
|
router.register(r'slices', SliceViewSet)
|
|
router.register(r'slices/(?P<slice_pk>\d+)/transactions',
|
|
SliceTransactionViewSet, basename='slices')
|
|
#router.register(r'connections',ConnectionViewSet)
|
|
router.register(r'connectiontypes', ConnectionTypeViewSet)
|
|
|
|
# Wire up our API using automatic URL routing.
|
|
# Additionally, we include login URLs for the browsable API.
|
|
|
|
apipatterns = [
|
|
path('', include(router.urls)),
|
|
path('auth/', include('dj_rest_auth.urls'), name='auth'),
|
|
path('auth/registration/', include('dj_rest_auth.registration.urls')),
|
|
re_path('auth/registration/account-confirm-email/(?P<key>.+)/',
|
|
confirm_email, name='account_confirm_email'),
|
|
path('auth/facebook/', FacebookLogin.as_view(), name='fb_login'),
|
|
path('auth/twitter/', TwitterLogin.as_view(), name='twitter_login'),
|
|
path('connection/', include('connection.urls'), name='Connection Settings'),
|
|
]
|
|
|
|
urlpatterns = [
|
|
path('admin/', admin.site.urls),
|
|
path('api/v1/', include(apipatterns), name='api'),
|
|
# path('api/v1/schema/', SpectacularAPIView.as_view(), name='schema'),
|
|
path('api/v1/docs', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
|
|
path('api/v1/schema/redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
|
|
path('accounts/', include('allauth.urls')),
|
|
path('accounts/profile/', ConfirmEmailSuccessView.as_view()),
|
|
]
|