Base view que redirige dependiendo del metodo requerido

This commit is contained in:
Daniel Cortes
2020-06-27 15:28:31 -04:00
parent b37c44accd
commit b06d66abe5
2 changed files with 16 additions and 8 deletions

View File

@@ -3,9 +3,9 @@ from django.urls import path
from users import api_views from users import api_views
urlpatterns = [ urlpatterns = [
path('user/', api_views.get_user), path('user/', api_views.user),
path('user/<int:user_id>', api_views.get_user), path('user/<int:user_id>', api_views.user),
path('user/social_networks', api_views.get_social_networks), path('user/social_networks', api_views.social_networks),
path('user/<int:user_id>/social_networks', api_views.get_social_networks) path('user/<int:user_id>/social_networks', api_views.social_networks)
] ]

View File

@@ -6,8 +6,13 @@ from users.models import User, SocialNetworks
@protected_resource() @protected_resource()
def user(request, user_id=None):
if request.method == 'GET':
return _get_user(request, user_id)
@require_GET @require_GET
def get_user(request, user_id=None): def _get_user(request, user_id=None):
user = request.user user = request.user
if user_id is not None: if user_id is not None:
@@ -26,8 +31,12 @@ def get_user(request, user_id=None):
@protected_resource() @protected_resource()
@require_GET def social_networks(request, user_id=None):
def get_social_networks(request, user_id=None): if request.method == 'GET':
return _get_social_networks(request, user_id)
def _get_social_networks(request, user_id=None):
if user_id is None: if user_id is None:
user_id = request.user.id user_id = request.user.id
@@ -44,5 +53,4 @@ def get_social_networks(request, user_id=None):
'youtube': social_networks.youtube, 'youtube': social_networks.youtube,
'twitch': social_networks.twitch 'twitch': social_networks.twitch
} }
return JsonResponse(encoded_social_networks) return JsonResponse(encoded_social_networks)