Reordenadas las funciones de vistas de lista
This commit is contained in:
116
lists/views.py
116
lists/views.py
@@ -28,64 +28,6 @@ def list_view(request, user_id):
|
|||||||
return JsonResponse({'status': 404, 'error': 'La ruta no existe'}, status=404)
|
return JsonResponse({'status': 404, 'error': 'La ruta no existe'}, status=404)
|
||||||
|
|
||||||
|
|
||||||
def list_item_view(request, user_id, list_item_id):
|
|
||||||
"""
|
|
||||||
Punto de entrada a las vistas de item de lista de un usuario
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Tiene que existir un usuario con el id entregado.
|
|
||||||
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}'}, status=404)
|
|
||||||
user = user[0]
|
|
||||||
|
|
||||||
# Tiene que existir un item de lista de usuario con el id entregado
|
|
||||||
list_item = ListItem.objects.filter(id=list_item_id, user_id=user_id)
|
|
||||||
if list_item.count() == 0:
|
|
||||||
return JsonResponse({'status': 404, 'error': 'No existe el list_item'}, status=404)
|
|
||||||
list_item = list_item[0]
|
|
||||||
|
|
||||||
if request.method == 'GET':
|
|
||||||
return _get_list_item(request, user, list_item)
|
|
||||||
if request.method == 'PUT':
|
|
||||||
return _update_list_item(request, user, list_item)
|
|
||||||
elif request.method == 'DELETE':
|
|
||||||
return _remove_list_item(request, user, list_item)
|
|
||||||
else:
|
|
||||||
return JsonResponse({'status': 404, 'error': 'La ruta no existe'}, status=404)
|
|
||||||
|
|
||||||
|
|
||||||
def tag_view(request, user_id, tag_id=None):
|
|
||||||
"""
|
|
||||||
Punto de entrada para las vistas de tags
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Tiene que existir un usuario con el id entregado.
|
|
||||||
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}'}, status=404)
|
|
||||||
user = user[0]
|
|
||||||
|
|
||||||
# Tag id puede ser none, pero si no lo es, tiene que existir
|
|
||||||
tag = None
|
|
||||||
if tag_id:
|
|
||||||
tag = Tag.objects.filter(pk=tag_id)
|
|
||||||
if tag.count() != 1:
|
|
||||||
return JsonResponse({'status': 404, 'error': f'No existe una tag con id {tag}'}, status=404)
|
|
||||||
tag = tag[0]
|
|
||||||
|
|
||||||
if request.method == 'GET':
|
|
||||||
return _get_tags(request, user)
|
|
||||||
elif request.method == 'POST':
|
|
||||||
return _post_tag(request, user)
|
|
||||||
elif request.method == 'PUT' and tag:
|
|
||||||
return _put_tag(request, user, tag)
|
|
||||||
elif request.method == 'DELETE' and tag:
|
|
||||||
return _delete_tag(request, user, tag)
|
|
||||||
else:
|
|
||||||
return JsonResponse({'status': 404, 'error': 'La ruta no existe'}, status=404)
|
|
||||||
|
|
||||||
|
|
||||||
def _get_list(request, user):
|
def _get_list(request, user):
|
||||||
"""Retorna la lista de un usuario"""
|
"""Retorna la lista de un usuario"""
|
||||||
|
|
||||||
@@ -153,6 +95,33 @@ def _add_to_list(request, user):
|
|||||||
return JsonResponse({'status': 200})
|
return JsonResponse({'status': 200})
|
||||||
|
|
||||||
|
|
||||||
|
def list_item_view(request, user_id, list_item_id):
|
||||||
|
"""
|
||||||
|
Punto de entrada a las vistas de item de lista de un usuario
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Tiene que existir un usuario con el id entregado.
|
||||||
|
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}'}, status=404)
|
||||||
|
user = user[0]
|
||||||
|
|
||||||
|
# Tiene que existir un item de lista de usuario con el id entregado
|
||||||
|
list_item = ListItem.objects.filter(id=list_item_id, user_id=user_id)
|
||||||
|
if list_item.count() == 0:
|
||||||
|
return JsonResponse({'status': 404, 'error': 'No existe el list_item'}, status=404)
|
||||||
|
list_item = list_item[0]
|
||||||
|
|
||||||
|
if request.method == 'GET':
|
||||||
|
return _get_list_item(request, user, list_item)
|
||||||
|
if request.method == 'PUT':
|
||||||
|
return _update_list_item(request, user, list_item)
|
||||||
|
elif request.method == 'DELETE':
|
||||||
|
return _remove_list_item(request, user, list_item)
|
||||||
|
else:
|
||||||
|
return JsonResponse({'status': 404, 'error': 'La ruta no existe'}, status=404)
|
||||||
|
|
||||||
|
|
||||||
def _get_list_item(request, user, list_item):
|
def _get_list_item(request, user, list_item):
|
||||||
"""Obtiene un item de la lista del usuario"""
|
"""Obtiene un item de la lista del usuario"""
|
||||||
|
|
||||||
@@ -210,6 +179,37 @@ def _remove_list_item(request, user, list_item):
|
|||||||
return JsonResponse({'status': 200})
|
return JsonResponse({'status': 200})
|
||||||
|
|
||||||
|
|
||||||
|
def tag_view(request, user_id, tag_id=None):
|
||||||
|
"""
|
||||||
|
Punto de entrada para las vistas de tags
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Tiene que existir un usuario con el id entregado.
|
||||||
|
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}'}, status=404)
|
||||||
|
user = user[0]
|
||||||
|
|
||||||
|
# Tag id puede ser none, pero si no lo es, tiene que existir
|
||||||
|
tag = None
|
||||||
|
if tag_id:
|
||||||
|
tag = Tag.objects.filter(pk=tag_id)
|
||||||
|
if tag.count() != 1:
|
||||||
|
return JsonResponse({'status': 404, 'error': f'No existe una tag con id {tag}'}, status=404)
|
||||||
|
tag = tag[0]
|
||||||
|
|
||||||
|
if request.method == 'GET':
|
||||||
|
return _get_tags(request, user)
|
||||||
|
elif request.method == 'POST':
|
||||||
|
return _post_tag(request, user)
|
||||||
|
elif request.method == 'PUT' and tag:
|
||||||
|
return _put_tag(request, user, tag)
|
||||||
|
elif request.method == 'DELETE' and tag:
|
||||||
|
return _delete_tag(request, user, tag)
|
||||||
|
else:
|
||||||
|
return JsonResponse({'status': 404, 'error': 'La ruta no existe'}, status=404)
|
||||||
|
|
||||||
|
|
||||||
def _get_tags(request, user):
|
def _get_tags(request, user):
|
||||||
"""Obtiene todas las tags de un usuario"""
|
"""Obtiene todas las tags de un usuario"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user