44from django .http import JsonResponse
55from rest_framework .decorators import api_view
66from rest_framework .response import Response
7+ from rest_framework import status
8+ from base64 import b16decode , b16encode
79
810from database .models import Attendant
911
@@ -27,3 +29,36 @@ def api_get(request):
2729 return Response ({"message" : "GET request received" }, status = 200 )
2830 elif request .method == "POST" :
2931 return Response ({"message" : "POST request received" }, status = 200 )
32+
33+
34+ @api_view (["GET" ])
35+ def verify_ticket (request , ticket ):
36+ # TODO: Implement ticket check
37+ if ticket == 'test123' :
38+ return Response (
39+ {"is_valid" : True }, status = status .HTTP_200_OK ,
40+ )
41+ return Response (
42+ {"is_valid" : False }, status = status .HTTP_400_BAD_REQUEST ,
43+ )
44+
45+
46+ @api_view (["POST" ])
47+ def create_attendant (request ):
48+ ticket_id = request .data .get ("ticket_id" )
49+ nfc_id = b16decode (request .data .get ("nfc_id" ), casefold = True )
50+
51+ if not ticket_id or not nfc_id :
52+ return Response (
53+ {"error" : "ticket_id and nfc_id are required." },
54+ status = status .HTTP_400_BAD_REQUEST ,
55+ )
56+
57+ attendant = Attendant .objects .create (ticket_id = ticket_id , nfc_id = nfc_id )
58+
59+ return Response (
60+ {
61+ "message" : "Attendant created successfully." ,
62+ "id" : attendant .id ,
63+ }
64+ )
0 commit comments