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}]