|
1 | | -from django.shortcuts import render |
2 | | -from .models import User |
3 | 1 | from rest_framework.response import Response |
4 | 2 | from rest_framework.decorators import api_view |
| 3 | +from rest_framework import status |
| 4 | +from .models import User |
5 | 5 | from .serializers import UserSerializer |
6 | | -from uuid import uuid4 |
7 | | -from django.http import JsonResponse |
8 | | -import json |
9 | | - |
10 | 6 |
|
11 | 7 | @api_view(["GET", "PUT", "DELETE"]) |
12 | | -def get_update_deleteUser(request, uuid: uuid4): |
| 8 | +def get_update_deleteUser(request, uuid): |
| 9 | + try: |
| 10 | + user = User.objects.get(id=uuid) |
| 11 | + except User.DoesNotExist: |
| 12 | + return Response({"message": "User not found"}, status=status.HTTP_404_NOT_FOUND) |
13 | 13 |
|
14 | 14 | if request.method == "GET": |
15 | | - try: |
16 | | - data = UserSerializer(User.objects.get(id=uuid)).data |
17 | | - return Response(data) |
18 | | - except Exception as e: |
19 | | - return Response({"message": str(e)}) |
20 | | - |
| 15 | + data = UserSerializer(user).data |
| 16 | + return Response(data) |
| 17 | + |
21 | 18 | if request.method == "PUT": |
22 | | - try: |
23 | | - user = User.objects.get(id=uuid) |
24 | | - |
25 | | - user.name=request.data['name'] |
26 | | - user.email=request.data['email'] |
27 | | - user.password=request.data['password'] |
28 | | - user.website=request.data['website'] |
29 | | - user.save() |
| 19 | + serializer = UserSerializer(user, data=request.data) |
| 20 | + if serializer.is_valid(): |
| 21 | + serializer.save() |
| 22 | + return Response({"message": "User Updated!!"}) |
| 23 | + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) |
30 | 24 |
|
31 | | - return JsonResponse({"message": "User Updated!!"}) |
32 | | - except Exception as e: |
33 | | - return JsonResponse({"message": str(e)[2:-2]}) |
34 | | - |
35 | 25 | if request.method == "DELETE": |
36 | | - try: |
37 | | - User.objects.get(id=uuid).delete() |
38 | | - return JsonResponse({"message": "User Deleted!!"}) |
39 | | - except Exception as e: |
40 | | - return JsonResponse({"message": str(e)[2:-2]}) |
41 | | - |
| 26 | + user.delete() |
| 27 | + return Response({"message": "User Deleted!!"}, status=status.HTTP_204_NO_CONTENT) |
42 | 28 |
|
43 | 29 | @api_view(["GET", "POST"]) |
44 | 30 | def getAll_createUser(request): |
45 | | - |
46 | 31 | if request.method == "GET": |
47 | | - try: |
48 | | - data = UserSerializer(User.objects.all(), many=True) |
49 | | - if data.data == []: |
50 | | - return JsonResponse({"message": "No Users Found!!"}) |
51 | | - return Response(data.data) |
52 | | - except Exception as e: |
53 | | - return JsonResponse({"message": str(e)}) |
54 | | - |
| 32 | + users = User.objects.all() |
| 33 | + data = UserSerializer(users, many=True).data |
| 34 | + if not data: |
| 35 | + return Response({"message": "No Users Found!!"}) |
| 36 | + return Response(data) |
| 37 | + |
55 | 38 | if request.method == "POST": |
56 | | - try: |
57 | | - new_user = User.objects.create(name=request.data['name'], |
58 | | - email=request.data['email'], |
59 | | - password=request.data['password'], |
60 | | - website=request.data['website']) |
61 | | - data = UserSerializer(new_user) |
62 | | - return JsonResponse({"message": "User Created!!"}) |
63 | | - except Exception as e: |
64 | | - return JsonResponse({"message": str(e)}) |
| 39 | + serializer = UserSerializer(data=request.data) |
| 40 | + if serializer.is_valid(): |
| 41 | + serializer.save() |
| 42 | + return Response({"message": "User Created!!"}, status=status.HTTP_201_CREATED) |
| 43 | + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) |
0 commit comments