@@ -1,8 +1,26 @@ | |||||
asgiref==3.5.2 | asgiref==3.5.2 | ||||
certifi==2022.6.15 | |||||
charset-normalizer==2.1.0 | |||||
coreapi==2.3.3 | |||||
coreschema==0.0.4 | |||||
Django==4.0.6 | Django==4.0.6 | ||||
django-cors-headers==3.13.0 | |||||
django-filter==22.1 | django-filter==22.1 | ||||
djangorestframework==3.13.1 | djangorestframework==3.13.1 | ||||
drf-yasg==1.20.0 | |||||
drfpasswordless==1.5.8 | drfpasswordless==1.5.8 | ||||
idna==3.3 | |||||
inflection==0.5.1 | |||||
itypes==1.2.0 | |||||
Jinja2==3.1.2 | |||||
Markdown==3.3.7 | Markdown==3.3.7 | ||||
MarkupSafe==2.1.1 | |||||
packaging==21.3 | |||||
pyparsing==3.0.9 | |||||
pytz==2022.1 | pytz==2022.1 | ||||
requests==2.28.1 | |||||
ruamel.yaml==0.17.21 | |||||
ruamel.yaml.clib==0.2.6 | |||||
sqlparse==0.4.2 | sqlparse==0.4.2 | ||||
uritemplate==4.1.1 | |||||
urllib3==1.26.9 |
@@ -19,9 +19,11 @@ INSTALLED_APPS = [ | |||||
'django.contrib.sessions', | 'django.contrib.sessions', | ||||
'django.contrib.messages', | 'django.contrib.messages', | ||||
'django.contrib.staticfiles', | 'django.contrib.staticfiles', | ||||
'corsheaders', | |||||
'rest_framework', | 'rest_framework', | ||||
'rest_framework.authtoken', | 'rest_framework.authtoken', | ||||
'drfpasswordless' | |||||
'drfpasswordless', | |||||
'drf_yasg' | |||||
] | ] | ||||
PASSWORDLESS_AUTH = { | PASSWORDLESS_AUTH = { | ||||
@@ -32,6 +34,7 @@ PASSWORDLESS_AUTH = { | |||||
MIDDLEWARE = [ | MIDDLEWARE = [ | ||||
'django.middleware.security.SecurityMiddleware', | 'django.middleware.security.SecurityMiddleware', | ||||
'django.contrib.sessions.middleware.SessionMiddleware', | 'django.contrib.sessions.middleware.SessionMiddleware', | ||||
'corsheaders.middleware.CorsMiddleware', | |||||
'django.middleware.common.CommonMiddleware', | 'django.middleware.common.CommonMiddleware', | ||||
'django.middleware.csrf.CsrfViewMiddleware', | 'django.middleware.csrf.CsrfViewMiddleware', | ||||
'django.contrib.auth.middleware.AuthenticationMiddleware', | 'django.contrib.auth.middleware.AuthenticationMiddleware', | ||||
@@ -39,6 +42,8 @@ MIDDLEWARE = [ | |||||
'django.middleware.clickjacking.XFrameOptionsMiddleware', | 'django.middleware.clickjacking.XFrameOptionsMiddleware', | ||||
] | ] | ||||
CORS_ALLOWED_ORIGINS = ['*'] | |||||
ROOT_URLCONF = 'workx_backend.urls' | ROOT_URLCONF = 'workx_backend.urls' | ||||
REST_FRAMEWORK = { | REST_FRAMEWORK = { | ||||
@@ -2,13 +2,30 @@ from django.contrib import admin | |||||
from django.urls import path, include | from django.urls import path, include | ||||
from rest_framework import routers | from rest_framework import routers | ||||
from workx_backend.views import UserViewSet | from workx_backend.views import UserViewSet | ||||
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="Snippets API", | |||||
default_version='v1', | |||||
description="Test 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 = routers.DefaultRouter() | ||||
router.register(r'users', UserViewSet) | router.register(r'users', UserViewSet) | ||||
urlpatterns = [ | urlpatterns = [ | ||||
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), | |||||
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), | |||||
path('admin/', admin.site.urls), | path('admin/', admin.site.urls), | ||||
path('api/', include(router.urls)), | path('api/', include(router.urls)), | ||||
path('', include('drfpasswordless.urls')), | path('', include('drfpasswordless.urls')), | ||||
] | ] | ||||