33from django .views .decorators .http import require_POST
44from django .views .decorators .cache import never_cache
55from django .http import JsonResponse
6+ from rest_framework .decorators import api_view
7+ from rest_framework .response import Response
8+ from rest_framework import status
9+ from base64 import b16decode , b16encode
610
711from rest_framework .decorators import api_view
812from rest_framework .response import Response
@@ -100,14 +104,6 @@ def api_get(request, pk=None):
100104 )
101105
102106
103- """
104- def api_get(request):
105- if request.method == "GET":
106- return Response({"message": "GET request received"}, status=202)
107- elif request.method == "POST":
108- return Response({"message": "POST request received"}, status=405) """
109-
110-
111107def base_view (request ): # basic frontend registration view.
112108 return render (request , "base.html" )
113109
@@ -132,3 +128,38 @@ def registration_view(request):
132128 "success" : success ,
133129 }
134130 return render (request , "registration.html" , context )
131+
132+
133+ @api_view (["GET" ])
134+ def verify_ticket (request , ticket ):
135+ # TODO: Implement ticket check
136+ if ticket == "test123" :
137+ return Response (
138+ {"is_valid" : True },
139+ status = status .HTTP_200_OK ,
140+ )
141+ return Response (
142+ {"is_valid" : False },
143+ status = status .HTTP_400_BAD_REQUEST ,
144+ )
145+
146+
147+ @api_view (["POST" ])
148+ def create_attendant (request ):
149+ ticket_id = request .data .get ("ticket_id" )
150+ nfc_id = b16decode (request .data .get ("nfc_id" ), casefold = True )
151+
152+ if not ticket_id or not nfc_id :
153+ return Response (
154+ {"error" : "ticket_id and nfc_id are required." },
155+ status = status .HTTP_400_BAD_REQUEST ,
156+ )
157+
158+ attendant = Attendant .objects .create (ticket_id = ticket_id , nfc_id = nfc_id )
159+
160+ return Response (
161+ {
162+ "message" : "Attendant created successfully." ,
163+ "id" : attendant .id ,
164+ }
165+ )
0 commit comments