diff --git a/README.md b/README.md index 3084bb5c17ad754726f57ea7e286e5ae7a98e235..76973f5cc3db5f899e2cfb777488a3cd9ba33dee 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,17 @@ 1. python3 -m venv venv 2. source venv/bin/activate 3. cp environment.sh.example environment.sh -4. Ki kell tĂślteni a kĂśrnyezeti vĂĄltozĂłkat. +4. Ki kell tĂślteni a kĂśrnyezeti vĂĄltozĂłkat. +Az authsch-s adatokat az https://auth.sch.bme.hu/ fejlesztĹi konzol menĂźpontja alatt lehet legenerĂĄlni Ăşj kliens hozzĂĄadĂĄsĂĄval. +AtirĂĄnyĂtĂĄsi cĂm: `http://127.0.0.1:3000/api/v1/complete/authsch` +```shell script + export SECRET_KEY=<Ide bĂĄrmi kerĂźlhet> + export AUTHSCH_KEY=<authsch-s Kliens azonosĂtĂł> + export AUTHSCH_SECRET=<authsch-s Kliens kulcs> + export MEDIA_ROOT=static/ + ``` 5. source environment.sh -6. pip install -r requirements/development.txt +6. pip install -r requirements/dev.txt 7. python3 src/manage.py runserver ## FormĂĄlis KĂśvetelmĂŠnyek diff --git a/requirements/dev.txt b/requirements/dev.txt new file mode 100644 index 0000000000000000000000000000000000000000..edbd1da50338f464116e39b86bfd56d8458836d3 --- /dev/null +++ b/requirements/dev.txt @@ -0,0 +1,69 @@ +attrs==19.1.0 +backports.csv==1.0.7 +certifi==2019.6.16 +chardet==3.0.4 +Click==7.0 +configparser==3.8.1 +coreapi==2.3.3 +coreschema==0.0.4 +defusedxml==0.6.0 +diff-match-patch==20181111 +Django==2.2.4 +django-extensions==2.2.1 +django-import-export==1.2.0 +django-social-authsch==0.1 +django-solo==1.1.3 +djangorestframework==3.10.2 +drf-yasg==1.16.1 +entrypoints==0.3 +et-xmlfile==1.0.1 +first==2.0.2 +flake8==3.7.8 +future==0.17.1 +idna==2.8 +importlib-metadata==0.19 +inflection==0.3.1 +itypes==1.1.0 +jdcal==1.4.1 +jedi==0.14.1 +Jinja2==2.10.1 +json-rpc==1.12.1 +MarkupSafe==1.1.1 +mccabe==0.6.1 +more-itertools==7.2.0 +oauthlib==3.1.0 +odfpy==1.4.0 +openpyxl==2.6.3 +packaging==19.1 +parso==0.5.1 +pip-tools==4.1.0 +pluggy==0.12.0 +pycodestyle==2.5.0 +pydocstyle==4.0.1 +pyflakes==2.1.1 +PyJWT==1.7.1 +pyparsing==2.4.2 +python-jsonrpc-server==0.2.0 +python-language-server==0.28.2 +python3-openid==3.1.0 +pytz==2019.2 +PyYAML==5.1.2 +requests==2.22.0 +requests-oauthlib==1.2.0 +rope==0.14.0 +ruamel.yaml==0.16.5 +ruamel.yaml.clib==0.1.2 +six==1.12.0 +snowballstemmer==1.9.0 +social-auth-app-django==3.1.0 +social-auth-core==3.2.0 +sqlparse==0.3.0 +tablib==0.13.0 +typing==3.7.4.1 +unicodecsv==0.14.1 +uritemplate==3.0.0 +urllib3==1.25.3 +xlrd==1.2.0 +xlwt==1.3.0 +yapf==0.28.0 +zipp==0.6.0 diff --git a/src/account/views.py b/src/account/views.py index 0a5d2a1cdb0e7800f52be8b06f248484eadce42b..86f48daa3ca6dfdc42fd6b2892d6da551106acb7 100644 --- a/src/account/views.py +++ b/src/account/views.py @@ -1,7 +1,7 @@ from rest_framework import viewsets from rest_framework import permissions from rest_framework.response import Response -from rest_framework.decorators import list_route +from rest_framework.decorators import action from common.permissions import IsSafeOrPatch from . import models @@ -27,7 +27,7 @@ class ProfileViewSet(viewsets.ModelViewSet): return models.Profile.objects.all() return models.Profile.objects.filter(pk=user.profile.id) - @list_route(methods=['get']) + @action(detail=False) def me(self, request): serializer = self.serializer_class(request.user.profile) return Response(serializer.data) diff --git a/src/kszkepzes/settings/base.py b/src/kszkepzes/settings/base.py index b831a0ec690d3c2ff85248e79972ab90f1b260f2..6e651b7376abf8c9c2f3d6154ac2a92732222198 100644 --- a/src/kszkepzes/settings/base.py +++ b/src/kszkepzes/settings/base.py @@ -48,6 +48,7 @@ INSTALLED_APPS = [ 'stats', 'news', 'document', + 'drf_yasg', ] MIDDLEWARE = [ diff --git a/src/kszkepzes/urls.py b/src/kszkepzes/urls.py index f5e414edc9604b99a6d4118130f32b1e4b25b724..67088315709b743e661111ea6affc543565cede8 100644 --- a/src/kszkepzes/urls.py +++ b/src/kszkepzes/urls.py @@ -4,7 +4,27 @@ from django.conf import settings from django.contrib import admin from django.contrib.auth import views as auth_views +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,), +) + urlpatterns = [ + url(r'^api/v1/swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'), + url(r'^api/v1/swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), + url(r'^api/v1/redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), url(r'^admin/', admin.site.urls), url(r'^api/v1/', include('social_django.urls', namespace='social')), url(r'^api/v1/homework/', include('homework.urls')),