Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
from django.conf.urls import include, url
from . import views
from rest_framework import routers
from rest_framework_swagger.views import get_swagger_view

router = routers.DefaultRouter()
router.register(r'rovers', views.RoverViewSet, base_name='rover')
router.register(r'block-diagrams', views.BlockDiagramViewSet)


urlpatterns = [
url(r'^$', get_swagger_view(title='rovercode API')),
url(r'^v1/', include(router.urls, namespace='v1')),
]
42 changes: 40 additions & 2 deletions api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,26 @@


class RoverViewSet(viewsets.ModelViewSet):
"""API endpoint that allows rovers to be viewed or edited."""
"""API endpoint that allows rovers to be viewed or edited.

retrieve:
Return a rover instance.

list:
Return all rovers.

create:
Register a new rover.

delete:
Remove an existing rover.

partial_update:
Update one or more fields on an existing rover.

update:
Update a rover.
"""

serializer_class = RoverSerializer
permission_classes = (permissions.IsAuthenticated, )
Expand All @@ -26,7 +45,26 @@ def perform_create(self, serializer):


class BlockDiagramViewSet(viewsets.ModelViewSet):
"""API endpoint that allows block diagrams to be viewed or edited."""
"""API endpoint that allows block diagrams to be viewed or edited.

retrieve:
Return a block diagram instance.

list:
Return all block diagrams.

create:
Create a new block diagram.

delete:
Remove an existing block diagram.

partial_update:
Update one or more fields on an existing block diagram.

update:
Update a block diagram.
"""

queryset = BlockDiagram.objects.all()
serializer_class = BlockDiagramSerializer
Expand Down
5 changes: 5 additions & 0 deletions config/settings/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
'allauth.socialaccount', # registration
'rest_framework',
'oauth2_provider',
'rest_framework_swagger',
)

# Apps specific for this project go here.
Expand Down Expand Up @@ -256,6 +257,7 @@
AUTH_USER_MODEL = 'users.User'
LOGIN_REDIRECT_URL = 'users:redirect'
LOGIN_URL = 'account_login'
LOGOUT_URL = 'account_logout'

# SLUGLIFIER
AUTOSLUG_SLUGIFY_FUNCTION = 'slugify.slugify'
Expand All @@ -280,6 +282,9 @@
# REST FRAMEWORK CONFIGURATION
# ------------------------------------------------------------------------------
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
'rest_framework.authentication.SessionAuthentication',
Expand Down
1 change: 1 addition & 0 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ redis>=2.10.5

# Your custom requirements go here
djangorestframework~=3.5.3
django-rest-swagger==2.2.0
django-filter==1.0.1
pylint==1.6.5
pylint-django==0.8.0
Expand Down
21 changes: 20 additions & 1 deletion rovercode_web/blog/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,26 @@ def post_detail(request, slug):


class PostViewSet(viewsets.ModelViewSet):
"""API endpoint that allows posts to be viewed or edited."""
"""API endpoint that allows posts to be viewed or edited.

retrieve:
Return a blog post instance.

list:
Return all blog posts.

create:
Create a new blog post.

delete:
Remove an existing blog post.

partial_update:
Update one or more fields on an existing blog post.

update:
Update a blog post.
"""

serializer_class = PostSerializer
queryset = Post.objects.all()
Expand Down