Unfinished api refractoring

This commit is contained in:
michigg 2017-11-30 12:37:14 +01:00
parent 6db2413da8
commit 580fb79dba
16 changed files with 43 additions and 60 deletions

View File

@ -1,3 +0,0 @@
from django.contrib import admin
# Register your models here.

View File

@ -1,5 +0,0 @@
from django.apps import AppConfig
class ApiConfig(AppConfig):
name = 'api'

View File

@ -1,3 +0,0 @@
from django.db import models
# Create your models here.

View File

@ -1,3 +0,0 @@
from django.test import TestCase
# Create your tests here.

View File

@ -1,29 +0,0 @@
"""ofu_app URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url, include
from rest_framework import routers
from api.views import food_views
router = routers.DefaultRouter()
router.register(r'food', food_views.FoodViewSet, base_name='Food')
router.register(r'happy-hour', food_views.HappyHourViewSet, base_name='HappyHours')
urlpatterns = [
# url(r'^api/v1/', ),
url(r'^api/v1/', include(router.urls)),
url(r'^api/auth/', include('rest_framework.urls', namespace='rest_framework'))
]

View File

@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from rest_framework import generics
class APIRoot(generics.GenericAPIView):
"""
My API documentation
"""

View File

@ -1,7 +1,6 @@
from tkinter.constants import ALL
from rest_framework import serializers
from apps.food.models import Menu, SingleFood, HappyHour, Allergene
from rest_framework import serializers
class AllergensSerializer(serializers.HyperlinkedModelSerializer):

View File

@ -4,7 +4,7 @@ from __future__ import unicode_literals
from datetime import datetime
from datetime import timedelta
from api.serializers.food_serializers import MenuSerializer, HappyHourSerializer
from apps.food.api.serializers import MenuSerializer, HappyHourSerializer
from apps.food.models import Menu, HappyHour
from rest_framework import viewsets
@ -14,7 +14,7 @@ from rest_framework.permissions import AllowAny
# @api_view(['GET'])
@permission_classes((AllowAny,))
class FoodViewSet(viewsets.ModelViewSet):
class FoodViewSet(viewsets.ModelViewSet, ):
"""
API endpoint that allows users to be viewed or edited.
"""

View File

@ -13,9 +13,30 @@ Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.conf.urls import url, include
from rest_framework import routers
from apps.food import views
from apps.food.api import views as api_views
# API Version 1.0
apiRouter_v1 = routers.DefaultRouter()
apiRouter_v1.register(r'food', api_views.FoodViewSet, base_name='Food')
apiRouter_v1.register(r'happy-hour', api_views.HappyHourViewSet, base_name='HappyHours')
# API Version 1.1
apiRouter_v1_1 = routers.DefaultRouter()
apiRouter_v1_1.register(r'foods', api_views.FoodViewSet, base_name='Food')
apiRouter_v1_1.register(r'foods/food/(?P<location>[feldkirchenstrasse, markusstrasse, erba, austrasse])/$',
api_views.FoodViewSet, base_name='Food')
apiRouter_v1_1.register(r'foods/food/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$', api_views.FoodViewSet,
base_name='Food')
apiRouter_v1_1.register(
r'foods/food/(?P<location>)[feldkirchenstrasse, markusstrasse, erba, austrasse]/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$',
api_views.FoodViewSet, base_name='Food')
apiRouter_v1_1.register(r'foods/food/today/$', api_views.FoodViewSet, base_name='Food')
apiRouter_v1_1.register(r'foods/food/week/$', api_views.FoodViewSet, base_name='Food')
apiRouter_v1_1.register(r'happy-hour', api_views.HappyHourViewSet, base_name='HappyHours')
urlpatterns = [
url(r'^$', views.food, name='food'),
@ -35,4 +56,5 @@ urlpatterns = [
# Food Rating
url(r'^daily/rating/$', views.food_rating, name='rating-food'),
url(r'^weekly/rating/$', views.food_rating, name='rating-food'),
]

View File

@ -40,7 +40,6 @@ INSTALLED_APPS = [
'apps.events',
'apps.donar',
'apps.registration',
'api',
'rest_framework',
'analytical',
]

View File

@ -17,8 +17,18 @@ from core import views
from django.conf.urls import url, include
from django.contrib import admin
from django.contrib.auth import views as auth_views
from rest_framework import routers
from apps.food import urls as food_urls
# API router
api_router_v1 = routers.DefaultRouter()
api_router_v1.registry.extend(food_urls.apiRouter_v1.registry)
api_router_v1_1 = routers.DefaultRouter()
api_router_v1_1.registry.extend(food_urls.apiRouter_v1_1.registry)
urlpatterns = [
# -- User Managment --
url(r'^login/$', auth_views.login, {'template_name': 'registration/login.jinja'}, name='login'),
url(r'^logout/$', auth_views.logout, {'next_page': 'home'}, name='logout'),
url(r'^admin/', admin.site.urls),
@ -34,5 +44,8 @@ urlpatterns = [
url(r'^links/$', views.links, name='links-home'),
url(r'^impressum/$', views.impressum, name='impressum'),
url(r'', include('api.urls'))
# -- API --
url(r'^api/v1/', include(api_router_v1.urls)),
url(r'^api/v1.1/', include(api_router_v1_1.urls)),
url(r'^api/auth/', include('rest_framework.urls', namespace='rest_framework'))
]

2
ofu_app/requirements.txt Normal file
View File

@ -0,0 +1,2 @@
django
djangorestframework

View File

@ -6,6 +6,7 @@
<div class="container">
<div class="row pt-5">
<form type="get" action="{{ url('search-rooms') }}" style="margin: 0">
{% csrf_token %}
<input id="search_room" type="text" name="search_room" placeholder="Search...">
<button id="search_submit" type="submit">Search</button>
</form>