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 |
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 |
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 |
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.