Skip to content

Routes & permissions

stephane-og edited this page May 2, 2024 · 1 revision

Routes et Permissions

Authentification

  • POST /login

    • Permissions : Aucune
    • Description : Permet à un utilisateur de se connecter. Requiert un nom d'utilisateur et un mot de passe valides.
  • POST /signup

    • Permissions : Aucune
    • Description : Permet à un nouvel utilisateur de s'inscrire en tant qu'étudiant ou enseignant.
  • GET /test_token

    • Permissions : Authentification requise
    • Description : Vérifie la validité du token de l'utilisateur.

Bachelors

  • GET /bachelor/

    • Permissions : Authentification requise, seulement lecture pour les étudiants, lecture et écriture pour les enseignants.
  • POST /bachelor/

    • Permissions : Authentification requise, seulement enseignants.
    • Description : Crée un nouveau bachelor.
  • GET /bachelor/{id}/

    • Permissions : Authentification requise
  • PUT /bachelor/{id}/

    • Permissions : Authentification requise, seulement enseignants et seulement enseignant qui a créé le bahelor.
    • Description : Met à jour un bachelor existant.
  • DELETE /bachelor/{id}/

    • Permissions : Authentification requise, seulement enseignants et seulement enseignant qui a créé le bahelor.
    • Description : Supprime un bachelor existant.
  • POST /bachelor/{id}/add_tag/

    • Permissions : Authentification requise, seulement enseignants et seulement enseignant qui a créé le bahelor.
    • Description : Ajoute un tag à un bachelor existant.
  • DELETE /bachelor/{id}/remove_tag/

    • Permissions : Authentification requise, seulement enseignants et seulement enseignant qui a créé le bahelor.
    • Description : Supprime un tag d'un bachelor existant.
  • POST /bachelor/{id}/add_orientation/

    • Permissions : Authentification requise, seulement enseignants et seulement enseignant qui a créé le bahelor.
    • Description : Ajoute une orientation à un bachelor existant.
  • DELETE /bachelor/{id}/remove_orientation/

    • Permissions : Authentification requise, seulement enseignants et seulement enseignant qui a créé le bahelor.
    • Description : Supprime une orientation d'un bachelor existant.

Orientations

  • GET /orientation/

    • Permissions : Aucune
  • POST /orientation/

    • Permissions : Authentification requise, seulement administrateurs.
    • Description : Crée une nouvelle orientation.
  • GET /orientation/{id}/

    • Permissions : Aucune
  • PUT /orientation/{id}/

    • Permissions : Authentification requise, seulement administrateurs.
    • Description : Met à jour une orientation existante.
  • DELETE /orientation/{id}/

    • Permissions : Authentification requise, seulement administrateurs.
    • Description : Supprime une orientation existante.

Tags

  • GET /tag/

    • Permissions : Authentification requise.
  • POST /tag/

    • Permissions : Authentification requise, seulement administrateurs.
    • Description : Crée un nouveau tag.
  • GET /tag/{id}/

    • Permissions : Authentification requise.
  • PUT /tag/{id}/

    • Permissions : Authentification requise, seulement administrateurs.
    • Description : Met à jour un tag existant.
  • DELETE /tag/{id}/

    • Permissions : Authentification requise, seulement administrateurs.
    • Description : Supprime un tag existant.

Students

  • GET /student/

    • Permissions : Authentification requise, seulement lecture pour les étudiants, lecture et écriture pour les enseignants.
  • GET /student/{id}/

    • Permissions : Authentification requise.
  • POST /student/{id}/add_bachelor/

    • Permissions : Authentification requise, seulement étudiants et seulement si l'étudiant authentifié est le même que celui qui est modifié.
    • Description : Ajoute un bachelor à un étudiant existant.
  • DELETE /student/{id}/remove_bachelor/

    • Permissions : Authentification requise, seulement étudiants et seulement si l'étudiant authentifié est le même que celui qui est modifié.
    • Description : Supprime un bachelor d'un étudiant existant.

Teachers

  • GET /teacher/

    • Permissions : Authentification requise.
  • GET /teacher/{id}/

    • Permissions : Authentification requise.