Issue #3 Api para obtener datos de usuario

This commit is contained in:
Daniel Cortes
2020-06-27 15:07:13 -04:00
parent 7e566ebeea
commit b37c44accd
3 changed files with 60 additions and 0 deletions

48
users/api_views.py Normal file
View File

@@ -0,0 +1,48 @@
from django.http import JsonResponse
from django.views.decorators.http import require_GET
from oauth2_provider.decorators import protected_resource
from users.models import User, SocialNetworks
@protected_resource()
@require_GET
def get_user(request, user_id=None):
user = request.user
if user_id is not None:
user = User.objects.filter(pk=user_id)
if user.count() != 1:
return JsonResponse({'status': 404, 'error': f'No existe un usuario con id {user_id}'})
user = user[0]
encoded_user = {
'id': user.id,
'username': user.username,
'email': user.email,
}
return JsonResponse(encoded_user)
@protected_resource()
@require_GET
def get_social_networks(request, user_id=None):
if user_id is None:
user_id = request.user.id
social_networks = SocialNetworks.objects.filter(user_id=user_id)
if social_networks.count() != 1:
return JsonResponse({'status': 404, 'error': f'No existe redes sociales de un usuario con id {user_id}'})
social_networks = social_networks[0]
encoded_social_networks = {
'twitter': social_networks.twitter,
'facebook': social_networks.facebook,
'instagram': social_networks.instagram,
'youtube': social_networks.youtube,
'twitch': social_networks.twitch
}
return JsonResponse(encoded_social_networks)