Description des API - falcoda/Projet-DevWeb-III GitHub Wiki

/matériel/json

Description

Il s'agit d'une requète 'GET'. Celle-ci va permettre d'obtenir la liste du matériel de l'ASBL.

Réponse

Cette requète contient la liste du matériel de l'ASBL sous format JSON. Voici un exemple de réponse :

[
	{
		"nom": "mth30",
		"id_materiel": 1,
		"prix": 20,
		"description": "Petit caisson de basses 12\" de 300W",
		"nombre": 1,
		"en_location": 0,
		"nom_categorie": "caisson"
	},
	{
		"nom": "mth4654",
		"id_materiel": 8,
		"prix": 40,
		"description": "il s'agit d'un caisson de 1500W en 21\". ",
		"nombre": 1,
		"en_location": 0,
		"nom_categorie": "caisson"
	}
]
Champs Type Description
nom string Le nom d'un matériel
nombre Number Le nombre de fois le matériel que l'asbl possède
id_materiel Number L'id d'un matériel
prix Number Le prix d'un matériel
description string La description d'un matériel
en_location booléen Si le matériel est loué
nom_categorie string Le nom de la catégorie du matériel

/panier

Description

Il s'agit d'une requète 'POST'. Celle-ci va permettre d'obtenir le panier d'un utilisateur bien précis.

request.body.mail

Cette requète permettre d'obtenir le mail de la personne actuellement connecté au site. Elle contient le mail sous ce format : {"mail":"[email protected]"}

Réponse

Cette requète contient le panier d'un client sous format JSON. Voici un exemple de réponse :

[
	{
		"nom": "mth30",
		"nombre": 25
	},
	{
		"nom": "qscRmx2450",
		"nombre": 1
	},
	{
		"nom": "turbotop",
		"nombre": 6
	}
]
Champs Type Description
nom string Le nom d'un matériel
nombre Number Le nombre de fois le matériel présent dans le panier

/mail

Description

Il s'agit d'une requète 'POST'. Celle ci permet d'envoyer un mail à l'ASBL ainsi qu'enregistrer celui-ci dans la base de donnée

request.body

Cette requète permettre d'obtenir le nom, prénom, message ainsi que le mail de la personne voulant envoyer un message à l'asbl Elle contient ces informations sousce format :

 {
	nom: 'test',
	prenom: 'coda',
	mail: '[email protected]',
	commentaire: 'couocu'
 }
Champs Type Description
nom string Le nom d'un client
prénom string Le prénom d'un client
mail string Le mail d'un client
commentaire string Le message d'un client

Réponse

Renvoie "success" si l'oppération s'est bien déroulée

Renvoie "isValid" si un des champs est invalide. isValid contient une string des éléments non valide. Par exemple si le mail et le nom sont invalide, nous obtiendrons : isValid = "mail-nom"

/liste-utilisateur

Description

Il s'agit d'une requète 'GET'. Celle-ci va permettre d'obtenir une liste des utilisateurs.

Requete à la base de donnée

Cette requète permettre d'obtenir le mail, le nom, le prenom et le numero de téléphone des utilisateurs enregistrés dans la base de donnée.

Réponse

Cette réponse contient la liste des utilisateurs sous format JSON. Voici sa structure :

   [
	{
		"nom": "michel",
		"prenom": "jean",
		"numero": "042042424",
		"mail": "[email protected]"
	},
	{
		"nom": "corentin",
		"prenom": "dallenogare",
		"numero": "0471040755",
		"mail": "[email protected]"
	},
]
Champs Type Description
nom string Le nom d'un membre
prénom string Le prénom d'un membre
numéro string Le numéro de téléphone
mail string Le mail d'un membre

/nombre-materiel

Description

Il s'agit d'une requète 'POST'. Celle-ci va permettre de modifier le nombre d'un matériel posséder par l'ASBL. Cette modification va s'enregistrer en base de donnée.

Requete

Une première requète permet de récuperer le nom et le nombre d'un matériel. Nous allons ensuite comparer si ces nombres sont différents à ceux rentré par l'administrateur. Si oui, alors nous effectuons une requète pour enregistrer ces données dans la table matériel

/all-commande

Description

Il s'agit d'une requète 'GET'. Celle-ci va permettre d'obtenir une liste de toutes les commandes de tout les utilisateurs.

Requete à la base de donnée

Cette requète permettre d'obtenir l'id de la commande, le mail, le nom d'un matériel, le nombre et le prix des commandes de tout les utilisateurs.

Réponse

Cette réponse contient la liste des commandes sous format JSON. Voici sa structure :

   [
	{
		"id_commande": 1,
		"adressemail": "[email protected]",
		"nom": "mth30",
		"nombre": 4,
		"prix": 80,
		"date": "2021-05-13T22:00:00.000Z"
	},
	{
		"id_commande": 3,
		"adressemail": "[email protected]",
		"nom": "nexo SI 2000",
		"nombre": 6,
		"prix": 240,
		"date": "2021-05-13T22:00:00.000Z"
	},
]
Champs Type Description
nom string Le nom d'un matériel
nombre integer Le nombre de fois l'article
date string La date de la commande
adressemail string Le mail d'un membre
id_commande integer Le numéro de la commande
prix integer Le prix total de cet article

/commande

Description

Il s'agit d'une requète 'POST'. Celle-ci va permettre d'envoyer les commande d'un utilisateur bien spécifique

Requete à la base de donnée

Cette requète permettre d'obtenir l'id de la commande, le mail, le nom d'un matériel, le nombre et le prix des commandes d'un utilisateur.

Réponse

Cette réponse contient la liste des commandes sous format JSON. Voici sa structure :

   [
	{
		"id_commande": 1,
		"adressemail": "[email protected]",
		"nom": "mth30",
		"nombre": 4,
		"prix": 80,
		"date": "2021-05-13T22:00:00.000Z"
	},
	{
		"id_commande": 2,
		"adressemail": "[email protected]",
		"nom": "nexo SI 2000",
		"nombre": 6,
		"prix": 240,
		"date": "2021-05-13T22:00:00.000Z"
	},
]
Champs Type Description
nom string Le nom d'un matériel
nombre integer Le nombre de fois l'article
date string La date de la commande
adressemail string Le mail d'un membre
id_commande integer Le numéro de la commande
prix integer Le prix total de cet article

/commande-utilisateur

Description

Il s'agit d'une requète 'POST'. Celle-ci va permettre a un utilisateur de passer une commande

Requete

Cette requète permettre d'obtenir le panier d'un utilisateur.

Cela va ensuite insérer ces données dans la table commande pour un utilisateur. Le panier de cet utilisateur va également être rénitialisé.

Ensuite, la fonction "envoyerCommandeMail(idCom)" est appellée. Celle-ci va récuperer la nouvelle commande créée afin d'envoyer un mail en HTML a l'utilisateur concerné.

/nouveau-panier

Description

Il s'agit d'une requête "POST" elle va permettre de rajouter le matériel génère par la simulation et le devis. Directement via un bouton

Requête

Cette requête vas permettre d'enregistrer le devis automatique dans l'onglet panier du client.

Après avoir généré le devis, l'utilisateur peut décider d'ajouter au panier ses articles. Lorsqu'il appuera sur ce bouton, une requête à la base de données vas être créer et on va y insérer les données du nouveau panier si le panier est vide. Si le panier n'est pas vide, une alerte apparaît pour dire que le panier est déjà rempli! (Pour éviter de supprimer une figuration faites par l'utilisateur).

/reset-panier

Description

Il s'agit d'une requête "POST" qui permet de supprimer les objets qui se trouvent dans le panier.

Requête

Tout d'abord lorsque l'utilisateur clique sur le bouton et que son panier est rempli. La fonction fait un appel à la DB pour sélectionner les articles et le panier de l'utilisateur. Après les avoir obtenu la requête vas supprimer le panier et la page sera refresh. Dans le cas où le panier est vide, une simple alerte est créée pour dire que le panier est déjà vide.