HappiHub

API Documentation - HappiHub

Introduction

Cette documentation fournit des informations détaillées sur l’API de HappiHub, y compris les descriptions des endpoints, les paramètres, et des exemples de requêtes et de réponses. L’API de HappiHub permet aux développeurs d’interagir avec les fonctionnalités de la plateforme, telles que l’inscription des utilisateurs, la gestion des événements, et bien plus encore.

Table des Matières

Authentification

Inscription

{
  "name": "John Doe",
  "email": "johndoe@example.com",
  "password": "password123"
}
{
  "message": "Inscription réussie",
  "user": {
    "id": "60b8d2956b2e2c001b8f4a8a",
    "name": "John Doe",
    "email": "johndoe@example.com"
  }
}

Connexion

{
  "email": "johndoe@example.com",
  "password": "password123"
}
{
  "message": "Connexion réussie",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Déconnexion

{}
{
  "message": "Déconnexion réussie"
}

Récupérer le rôle de l’utilisateur

GET /api/users/role
{
  "role": "Visitor"
}

Utilisateurs

Récupérer les informations utilisateur

GET /api/users/60b8d2956b2e2c001b8f4a8a
{
  "id": "60b8d2956b2e2c001b8f4a8a",
  "name": "John Doe",
  "email": "johndoe@example.com"
}

Mettre à jour les informations utilisateur

{
  "name": "Jane Doe",
  "email": "janedoe@example.com",
  "password": "newpassword123",
  "rank": "Friend"
}
{
  "message": "Profil mis à jour avec succès",
  "user": {
    "id": "60b8d2956b2e2c001b8f4a8a",
    "name": "Jane Doe",
    "email": "janedoe@example.com",
    "rank": "Friend"
  }
}

Événements

Créer un événement

{
  "title": "Concert de Rock",
  "description": "Un concert de rock en plein air.",
  "date": "2024-08-15T18:00:00Z",
  "location": "Parc Central"
}
{
  "message": "Événement créé avec succès",
  "event": {
    "id": "60b8d2956b2e2c001b8f4a8b",
    "title": "Concert de Rock",
    "description": "Un concert de rock en plein air.",
    "date": "2024-08-15T18:00:00Z",
    "location": "Parc Central"
  }
}

Récupérer les événements

GET /api/events
[
  {
    "id": "60b8d2956b2e2c001b8f4a8b",
    "title": "Concert de Rock",
    "description": "Un concert de rock en plein air.",
    "date": "2024-08-15T18:00:00Z",
    "location": "Parc Central"
  },
  {
    "id": "60b8d2956b2e2c001b8f4a8c",
    "title": "Atelier de Peinture",
    "description": "Un atelier de peinture pour les débutants.",
    "date": "2024-08-20T10:00:00Z",
    "location": "Centre Culturel"
  }
]

Récupérer les événements publics

GET /api/events/public
[
  {
    "id": "60b8d2956b2e2c001b8f4a8

b",
    "title": "Concert de Rock",
    "description": "Un concert de rock en plein air.",
    "date": "2024-08-15T18:00:00Z",
    "location": "Parc Central"
  },
  {
    "id": "60b8d2956b2e2c001b8f4a8c",
    "title": "Atelier de Peinture",
    "description": "Un atelier de peinture pour les débutants.",
    "date": "2024-08-20T10:00:00Z",
    "location": "Centre Culturel"
  }
]

Commentaires

Ajouter un commentaire

{
  "text": "Super événement, j'ai adoré !",
  "event_id": "60b8d2956b2e2c001b8f4a8b",
  "user_id": "60b8d2956b2e2c001b8f4a8a"
}
{
  "message": "Commentaire ajouté avec succès",
  "comment": {
    "id": "60b8d2956b2e2c001b8f4a8d",
    "event_id": "60b8d2956b2e2c001b8f4a8b",
    "user_id": "60b8d2956b2e2c001b8f4a8a",
    "text": "Super événement, j'ai adoré !",
    "date": "2024-07-16T18:00:00Z"
  }
}

Modifier un commentaire

{
  "text": "Événement fantastique, vraiment bien organisé !"
}
{
  "message": "Commentaire modifié avec succès",
  "comment": {
    "id": "60b8d2956b2e2c001b8f4a8d",
    "event_id": "60b8d2956b2e2c001b8f4a8b",
    "user_id": "60b8d2956b2e2c001b8f4a8a",
    "text": "Événement fantastique, vraiment bien organisé !",
    "date": "2024-07-16T18:00:00Z"
  }
}

Supprimer un commentaire

DELETE /api/comments/60b8d2956b2e2c001b8f4a8d
{
  "message": "Commentaire supprimé avec succès"
}

Récupérer les commentaires

GET /api/events/60b8d2956b2e2c001b8f4a8b/comments
[
  {
    "id": "60b8d2956b2e2c001b8f4a8d",
    "event_id": "60b8d2956b2e2c001b8f4a8b",
    "user_id": "60b8d2956b2e2c001b8f4a8a",
    "text": "Super événement, j'ai adoré !",
    "date": "2024-07-16T18:00:00Z"
  },
  {
    "id": "60b8d2956b2e2c001b8f4a8e",
    "event_id": "60b8d2956b2e2c001b8f4a8b",
    "user_id": "60b8d2956b2e2c001b8f4a8a",
    "text": "Vraiment une belle expérience, merci aux organisateurs !",
    "date": "2024-07-16T18:00:00Z"
  }
]

Diagrammes UML Référents