4.3 Documentation API - GonoGoat/projetIntegrationGrp6 GitHub Wiki
Documentation de l'API
Requêtes
POST - /newUsers/
Utilisation :
Permet d'ajouter un utilisateur à la base de données.
Paramètre(s) :
- Prénom (varchar)
- Nom (varchar)
- Téléphone (varchar)
- Sexe (char)
- Mail (varchar)
- Mot de passe (varchar)
Réponse type en cas de succès :
[{true}]
POST - /userMail/
Utilisation :
Permet de connaitre l'existence ou non de l'adresse mail
Paramètre(s) :
- Adresse mail (varchar)
Réponse type en cas de succès :
[{true}]
POST - /userConnection/
Utilisation :
Permet de vérifier l'existence de l'utilisateur qui souhaite se connecter.
Paramètre(s) :
- Adresse mail (varchar)
- Mot de passe (varchar)
Réponse type en cas de succès :
[{status : true, msg : 1}]
GET - /doorHistory/user/
Utilisation :
Permet de récupérer les 3 portes les plus utilisées par un certain utilisateur.
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
Réponse type en cas de succès :
[{"door":1},{"door":2},{"door":3}]
PUT - /resetPassword/
Utilisation :
Permet de réinitialiser le mot de passe d'un utilisateur avec un nouveau mot de passe généré aléatoirement.
Paramètre(s) :
- Adresse mail de l'utlisateur (varchar)
Réponse type en cas de succès :
[{"password":"h4sh3xampl3"}]
POST - /newhistory/
Utilisation :
Permet d'enregistrer tout changement d'état de la porte ainsi que toutes les informations liées.
Paramètre(s) :
- Identifiant de la porte (integer)
- Identifiant de l'utilisateur (integer)
- Date (date)
- Action effectuée (integer)
Réponse type en cas de succès :
[{true}]
POST - /access/delete/
Utilisation :
Permet de supprimer un access
Paramètre(s) :
- Identifiant de la porte (integer)
- Identifiant de l'utilisateur (integer)
Réponse type en cas de succès :
[{true}]
GET - /doors
Utilisation :
Permet de récupérer l'ensemble des portes
Paramètre(s) :
Pas de paramètres.
Réponse type en cas de succès :
[{"password":"h4sh3xampl3","status":1,"adresseip":"x.x.x.x","id":1}, {"password":"h4sh3xampl3","status":1,"adresseip":"x.x.x.x","id":2}]
PUT - /doorStatus/
Utilisation :
Permet de mettre à jour le statut d'une porte
Paramètre(s) :
- Identifiant de la porte (integer)
- Nouveau statut (integer)
Réponse type en cas de succès :
[{"password":"h4sh3xampl3"}]
POST - /door/check/
Utilisation :
Permet de savoir si :
- Une certaine porte existe bien avec le mot de passe fourni OU
- Le mot de passe est mauvais OU
- Il n'existe pas de porte avec cet id
Paramètre(s) :
- Identifiant de la porte (integer)
- Mot de passe (varchar)
Réponse type en cas de succès :
[{true}]
POST - /newaccess/
Utilisation :
Permet d'ajouter un nouvel accès d'un certain utilisateur à une certaine porte.
Paramètre(s) :
- Identifiant de la porte (integer)
- Identifiant de l'utilisateur (integer)
- Tag (varchar)
- Nickname (varchar)
Réponse type en cas de succès :
[{true}]
GET - /doorHistory/door/
Utilisation :
Permet de récupérer l'historique d'une certaine porte.
Paramètre(s) :
- Identifiant de la porte (integer)
Réponse type en cas de succès :
[{"id":1,"door":1,"users":1,"date":"2020-12-11T17:21:47.240Z","action":0}]
GET - /users/name
Utilisation :
Permet de récupérer tous les noms et prénoms des utilisateurs.
Paramètre(s) :
Pas de paramètres.
Réponse type en cas de succès :
[{"id":1,"firstname":"example1","lastname":"example1"},{"id":2,"firstname":"example2","lastname":"example2"}]
GET - /doorTagUser/
Utilisation :
Permet de récupérer la ligne d'accès spécifique à un tag pour un certain utilisateur
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
- Tag (varchar)
Réponse type en cas de succès :
[{"door":1, "users":1, "tag":"example", "nickname":"example"}]
GET - /userTag/
Utilisation :
Permet de récupérer l'ensemble des tag dont un certain utilisateur est propriétaire.
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
Réponse type en cas de succès :
[{"tag":"Example1"},{"tag":"Example2"}]
PATCH - /access/update/
Utilisation :
Permet de modifier les données d'un access.
Paramètre(s) :
- Identifiant de la porte (integer)
- Tag (varchar)
- Nickname (varchar)
Réponse type en cas de succès :
[{true}]
POST - /verifyPassword/
Utilisation :
Permet de vérifier un mot de passe encodé en comparant son hash avec le hash du mot de passe enregistré en base de données.
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
- Mot de passe à vérifier (varchar)
Réponse type en cas de succès :
[{true}]
PUT - /changePassword/
Utilisation :
Permet de modifier un mot de passe
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
- Nouveau mot de passe (varchar)
Réponse type en cas de succès :
[{true}]
PUT - /modifUsers/
Utilisation :
Permet de modifier les données liées à un utilisateur
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
- Prénom (varchar)
- Nom (varchar)
- Téléphone (varchar)
- Sexe (char)
- Mail (varchar)
Réponse type en cas de succès :
[{true}]
GET - /user/
Utilisation :
Permet de récupérer toutes les informations liées à un utilisateur.
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
Réponse type en cas de succès :
[{"id":1,"firstname":"Example","lastname":"Example","phone":"0422002200","sexe":"M","mail":"[email protected]","password":"/.../","isadmin":false}]
DELETE - /deleteUser/
Utilisation :
Permet de supprimer toutes les données liées à un utilisateur
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
Réponse type en cas de succès :
[{true}]
GET - /doorIdUser/
Utilisation :
Permet de récupérer l'access faisant le lien entre une porte et un utilisateur
Paramètre(s) :
- Identifiant de l'utilisateur (integer)
- Identifiant de la porte (integer)
Réponse type en cas de succès :
[{"door":1, "users":1, "tag":"example", "nickname":"example"}]
POST - /newdoor/
Utilisation :
Permet d'ajouter une porte à la base de données
Paramètre(s) :
- Mot de passe (varchar)
- Statut (integer)
Réponse type en cas de succès :
[{"password":"h4sh3xampl3", "status":0,"adresseip":"192.168.0.1", "id": 1}]