Vues QR Code Service¶
Le module qr_code_service contient deux vues principales pour la gestion des codes QR.
QRCodeCreateByTicket¶
- class qr_code_service.views.QRCodeCreateByTicket(**kwargs)¶
Bases :
APIView- permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>]¶
- serializer_class¶
alias de
QRCodeSerializer
- post(request)¶
- Description
Vue API pour créer ou récupérer un code QR associé à un ticket spécifique.
- Permissions
Utilisateur authentifié requis
Le client ne peut générer des QR codes que pour ses propres tickets
- Endpoint
POST
/qr-code/- Génère un QR code pour un ticket donné
- Paramètres
ticket_id (int) : ID du ticket pour lequel générer le QR code
- Réponses
200 : QR code existant retourné
201 : Nouveau QR code créé avec succès
400 : ticket_id manquant ou invalide
403 : Accès non autorisé au ticket
- Comportement
Vérifie que le ticket appartient au client authentifié
Retourne le QR code existant si déjà généré
Sinon, génère un nouveau QR code basé sur la clé du ticket
Stocke les données du QR code en base64 dans la base de données
TicketByKeyView¶
- class qr_code_service.views.TicketByKeyView(**kwargs)¶
Bases :
APIViewVue qui reçoit une clé de ticket (key) et renvoie le ticket correspondant. Accessible uniquement aux employés authentifiés.
- permission_classes = [<class 'authentication.permissions.IsAdminOrEmploye'>]¶
- get(request, key)¶
- Description
Vue API pour valider un ticket à partir de sa clé QR. Utilisée par les employés pour vérifier l’authenticité des billets lors des événements.
- Permissions
Réservée aux employés et administrateurs authentifiés
- Endpoint
GET
/ticket/{key}/- Récupère les informations d’un ticket par sa clé
- Paramètres
key (str) : Clé unique du ticket extraite du QR code
- Réponses
200 : Ticket trouvé et retourné avec toutes ses informations
404 : Ticket introuvable (clé invalide ou ticket supprimé)
- Comportement
Recherche le ticket correspondant à la clé fournie
Retourne toutes les informations du ticket si trouvé
Permet aux employés de valider l’authenticité du billet