AdminJO Front - Documentation API - v0.1.0
    Preparing search index...

    Service principal pour la gestion des événements sportifs.

    Cette classe fournit une interface statique pour toutes les opérations CRUD sur les événements sportifs. Elle gère automatiquement :

    • L'authentification via les tokens JWT
    • La transformation des noms de champs (camelCase ↔ snake_case)
    • La validation des données
    • La gestion des erreurs HTTP
    • La pagination et le filtrage
    Index

    Constructors

    Methods

    • Récupère tous les événements avec options de filtrage et pagination.

      Cette méthode permet de récupérer la liste complète des événements ou un sous-ensemble filtré selon les critères fournis. Elle construit automatiquement les paramètres de requête et gère la pagination.

      Parameters

      • Optionalfilters: EvenementFilters

        Filtres optionnels pour la recherche et la pagination

      Returns Promise<Evenement[]>

      Promise résolvant vers la liste des événements

      En cas d'erreur de l'API, de réseau, ou de paramètres invalides

      // Récupérer tous les événements
      const evenements = await EvenementService.getAllEvenements();

      // Filtrer par lieu et période
      const evenementsFiltres = await EvenementService.getAllEvenements({
      lieuId: 1,
      dateDebut: '2024-07-26',
      dateFin: '2024-08-11',
      sortBy: 'date',
      sortOrder: 'asc'
      });
    • Récupère un événement spécifique par son ID unique.

      Parameters

      • id: number

        ID unique de l'événement à récupérer

      Returns Promise<Evenement>

      Promise résolvant vers l'événement correspondant

      En cas d'événement introuvable (404) ou d'erreur de l'API

      try {
      const evenement = await EvenementService.getEvenementById(123);
      console.log(`Événement: ${evenement.description} le ${evenement.date}`);
      } catch (error) {
      if (error.message.includes('404')) {
      console.error('Événement non trouvé');
      }
      }
    • Crée un nouvel événement sportif.

      Cette méthode transforme automatiquement les noms de champs du format camelCase (frontend) vers snake_case (backend Django) et gère l'association avec les épreuves existantes.

      Parameters

      Returns Promise<Evenement>

      Promise résolvant vers l'événement créé avec son ID généré

      En cas de données invalides, de conflit horaire, ou d'erreur serveur

      const nouvelEvenement = {
      description: 'Finale 100m masculin',
      lieuId: 1,
      date: '2024-08-04',
      horraire: '20:00',
      epreuveIds: [15, 16]
      };

      const evenement = await EvenementService.createEvenement(nouvelEvenement);
    • Met à jour un événement sportif existant.

      Cette méthode permet de modifier tous les champs d'un événement, y compris la réassignation des épreuves. Elle gère automatiquement la transformation des formats de données.

      Parameters

      Returns Promise<Evenement>

      Promise résolvant vers l'événement mis à jour

      En cas d'événement introuvable, de données invalides, ou d'erreur serveur

    • Supprime définitivement un événement sportif.

      Cette opération supprime l'événement de manière définitive. Les épreuves qui étaient associées à cet événement sont automatiquement libérées (leur référence à l'événement est mise à NULL) grâce à la configuration Django on_delete=models.SET_NULL.

      Parameters

      • id: number

        ID unique de l'événement à supprimer

      Returns Promise<void>

      Promise résolvant sans valeur en cas de succès

      En cas d'événement introuvable ou d'erreur de suppression

      await EvenementService.deleteEvenement(123);
      console.log('Événement supprimé avec succès');
    • Effectue une recherche textuelle dans les événements.

      Cette méthode permet une recherche libre dans la description des événements. Elle utilise les paramètres de requête pour filtrer les résultats côté serveur.

      Note: Cette fonctionnalité dépend de l'implémentation côté backend.

      Parameters

      • query: string

        Terme de recherche pour filtrer les événements

      Returns Promise<Evenement[]>

      Promise résolvant vers les événements correspondants

      En cas d'erreur de l'API ou de réseau

      const evenementsNatation = await EvenementService.searchEvenements('natation');