URL : /api/auth/google
Méthode : POST
Description : Authentifie un utilisateur en utilisant un token Google et renvoie un JWT si l’authentification réussit.
Corps de la requête :
{
"access_token": "<Token d'accès Google>",
"email": "<Email de l'utilisateur>"
}
Réponse :
{
"token": "<JWT>",
"user": {
"id": "<ID utilisateur>",
"name": "<Nom>",
"email": "<Email>",
"age": "<Âge>",
"phoneNumber": "<Numéro de téléphone>",
"country": "<Pays>",
"city": "<Ville>",
"bio": "<Bio>",
"interests": ["<Intérêt 1>", "<Intérêt 2>"],
"emailValid": "<Validation email>",
"phoneNumberValid": "<Validation numéro>",
"images": ["<URL image 1>", "<URL image 2>"]
}
}
400 Bad Request :
{
"error": "Message d'erreur spécifique"
}
URL : /user/information/{id}
Méthode : GET
Description : Récupère les informations d'un utilisateur spécifique.
Paramètres :
id : ID de l'utilisateur (dans l’URL)
Réponse :
200 OK : Renvoie les informations utilisateur.
404 Not Found : L’utilisateur n’existe pas.
400 Bad Request : Erreur dans les paramètres de la requête.
URL : /user/updateUserInformation
Méthode : PATCH
Description : Met à jour partiellement les informations d’un utilisateur.
Corps de la requête :
{
"id": "<ID utilisateur>",
"name": "<Nom>",
"email": "<Email>",
"age": "<Âge>",
"phoneNumber": "<Numéro de téléphone>",
"country": "<Pays>",
"city": "<Ville>",
"bio": "<Bio>",
"interests": ["<Intérêt 1>", "<Intérêt 2>"],
"emailValid": "<Validation email>",
"phoneNumberValid": "<Validation numéro>",
"images": ["<URL image 1>", "<URL image 2>"],
"viewedProfiles": ["<ID profil vu 1>", "<ID profil vu 2>"],
"gender": "<Genre>",
"lookingForGenders": "<Genre recherché>",
"likes": ["<ID utilisateur liké 1>", "<ID utilisateur liké 2>"],
"matches": ["<ID match 1>", "<ID match 2>"]
}
Réponse :
200 OK : Retourne les informations mises à jour de l'utilisateur.
400 Bad Request : ID utilisateur manquant ou autres erreurs.
URL : /user/{id}/FirstConnection
Méthode : POST
Description : Met à jour les informations utilisateur et ajoute des photos lors de la première connexion.
Paramètres :
id : ID de l'utilisateur (dans l’URL)
Corps de la requête :
{
"name": "John Doe",
"email": "[email protected]",
"age": 30,
"phoneNumber": "+123456789",
"country": "France",
"city": "Paris",
"bio": "Développeur passionné par les nouvelles technologies.",
"interests": ["cinéma", "football", "technologie"],
"emailValid": true,
"phoneNumberValid": true
}
photos : Liste des fichiers photos (multipart/form-data)
updates : Autres informations utilisateur à mettre à jour
Réponse :
200 OK : Retourne les informations mises à jour de l'utilisateur avec un message de confirmation.
400 Bad Request : Paramètres incorrects ou manquants.
500 Internal Server Error : Erreur lors du traitement des photos.
URL : /user/{id}/updatePhoto
Méthode : PATCH
Description : Met à jour les photos d’un utilisateur en ajoutant de nouvelles photos et/ou en supprimant certaines.
Paramètres :
id : ID de l'utilisateur (dans l’URL)
Corps de la requête :
photos : Liste des nouveaux fichiers photos (multipart/form-data)
PathphotoDelete : Liste des chemins des photos à supprimer
Réponse :
200 OK : Photos mises à jour avec succès.
400 Bad Request : Paramètres incorrects ou manquants.
500 Internal Server Error : Erreur lors de la mise à jour des photos
URL : /user/{id}/deletePhoto
Méthode : DELETE
Description : Supprime les photos spécifiques d’un utilisateur.
Paramètres :
id : ID de l'utilisateur (dans l’URL)
Corps de la requête :
{
"photoUrls": [
"https://cdn.example.com/photos/user1/photo1.jpg",
"https://cdn.example.com/photos/user1/photo2.jpg"
]
}
photoUrls : Liste des URLs des photos à supprimer
Réponse :
200 OK : Photos supprimées avec succès.
500 Internal Server Error : Erreur lors de la suppression de certaines photos.
Ce contrôleur gère la recherche de profils en fonction des préférences de genre, l’ajout de likes, la récupération des matchs et la mise à jour du statut de match entre utilisateurs.
URL : /service/getPorfile
Méthode : GET
Description : Récupère une liste de profils aléatoires correspondant aux préférences de genre d'un utilisateur.
Paramètres de requête :
id : ID de l'utilisateur effectuant la recherche
genre : Genre recherché (ex. "femme" ou "homme")
nombre : Nombre de profils à retourner
URL : /service/like
Méthode : GET
Description : Permet à un utilisateur de liker le profil d’un autre utilisateur et retourne un booléen indiquant si un match a été créé.
Paramètres de requête :
id : ID de l'utilisateur effectuant le like
SecondUserid : ID de l'utilisateur liké
Réponse :
{
"matchCreated": true
}
200 OK : Retourne true si un match est créé, sinon false.
URL : /service/getMatches
Méthode : GET
Description : Récupère les matchs d’un utilisateur ainsi que les informations des utilisateurs associés.
Paramètres de requête :
id : ID de l'utilisateur dont on souhaite récupérer les matchs
Réponse :
200 OK : Retourne une liste de matchs avec les informations des utilisateurs correspondants.
URL : /service/changeMatchStatus
Méthode : POST
Description : Permet de changer le statut d’un match. Les statuts possibles sont NOT_STARTED, STARTED, et BLOCKED.
Paramètres de requête :
id : ID du match (dans l’URL) Corps de la requête :
matchStatus : Nouveau statut du match (NOT_STARTED, STARTED, BLOCKED)
ca commence avec not started , et quand ca commence le message ca devient started a toi le front de faire le blocked
200 OK : Requête réussie.
400 Bad Request : Erreur dans la requête, paramètres invalides ou manquants.
404 Not Found : Ressource non trouvée (par exemple, utilisateur inexistant).
500 Internal Server Error : Erreur interne lors du traitement des photos