Issue #3 Api para obtener datos de usuario
This commit is contained in:
48
users/api_views.py
Normal file
48
users/api_views.py
Normal 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)
|
||||
Reference in New Issue
Block a user