49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
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)
|