{"openapi":"3.0.1","info":{"description":"API Nana * par xelaco","title":"Nana","version":"1.0.0"},"servers":[{"url":"nana.xelclc.fr"}],"paths":{"/admin/cache":{"get":{"operationId":"viderCache","responses":{"200":{"description":"OK"}},"summary":"Vide le cache","tags":["admin-controleur"]}},"/admin/clientAPI/ajouter":{"post":{"operationId":"ajouterClientAPI","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientAPIDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientAPIDTO"}}},"description":"Client API créé envoyé"}},"summary":"Ajouter un client API","tags":["admin-controleur"]}},"/admin/clientAPI/supprimer":{"post":{"operationId":"supprimerClientAPI","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprimer un client API","tags":["admin-controleur"]}},"/admin/clientsAPI":{"get":{"operationId":"recupererClientsAPI","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientAPIDTO"}}}},"description":"Liste des clients API envoyée"}},"summary":"Récupère la liste des clients API","tags":["admin-controleur"]}},"/admin/message/ajouter":{"post":{"operationId":"ajouterMessage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeAjoutMessageDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageDTO"}}},"description":"Message créé envoyé"}},"summary":"Ajoute un message","tags":["admin-controleur"]}},"/admin/message/modifier":{"post":{"operationId":"modifierMessage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeModificationMessageDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageDTO"}}},"description":"Message modifié envoyé"}},"summary":"Modifie un message","tags":["admin-controleur"]}},"/admin/message/supprimer":{"post":{"operationId":"supprimerMessage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime un message","tags":["admin-controleur"]}},"/momo":{"post":{"operationId":"calculerItineraireMomo","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeCalculItineraireDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListeItinerairesDTO"}}},"description":"Liste d'itinéraires envoyé"}},"summary":"Calcule l'itinéraire entre deux lieux avec algorithme Momo - Méthode d'Orientation Modulaire Optimisée","tags":["calculer-itineraire-controleur"]}},"/nana":{"post":{"operationId":"calculerItineraireNana","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeCalculItineraireDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItineraireDTO"}}},"description":"Itinéraire envoyé"}},"summary":"Calcule l'itinéraire entre deux lieux avec algorithme Nana A*","tags":["calculer-itineraire-controleur"]}},"/public/lieux":{"get":{"operationId":"recupererLieux","parameters":[{"description":"Si non vide, recherche les lieux contenant le texte","in":"query","name":"nom","required":false,"schema":{"type":"string"}},{"description":"Si non vide, filtre sur les pays","in":"query","name":"pays","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Si non vide, filtre sur les villes","in":"query","name":"villes","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Si non vide, filtre sur les types de lieu","in":"query","name":"types","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LieuDTO"}}}},"description":"Liste des lieux envoyée"}},"summary":"Récupère la liste des lieux","tags":["get-entites-controleur"]}},"/public/lignes":{"get":{"operationId":"recupererLignes","parameters":[{"description":"Si non vide, filtre sur les types de moyen de transport","in":"query","name":"typesMoyenDeTransport","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Si non vide, filtre sur les opérateurs","in":"query","name":"operateurs","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LigneDTO"}}}},"description":"Liste des lignes envoyée"}},"summary":"Récupère la liste des lignes","tags":["lignes-controleur"]}},"/public/maires":{"get":{"operationId":"recupererMaires","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MaireDTO"}}}},"description":"Liste des maires envoyée"}},"summary":"Récupère la liste des maires","tags":["get-entites-controleur"]}},"/public/messages":{"get":{"operationId":"recupererMessages","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageDTO"}}}},"description":"Liste des messages envoyée"}},"summary":"Récupère la liste des messages","tags":["get-entites-controleur"]}},"/public/operateurs":{"get":{"operationId":"recupererOperateurs","parameters":[{"description":"Si non vide, recherche les opérateurs contenant le texte","in":"query","name":"nom","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperateurDTO"}}}},"description":"Liste des opérateurs envoyée"}},"summary":"Récupère la liste des opérateurs","tags":["get-entites-controleur"]}},"/public/pays":{"get":{"operationId":"recupererPays","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaysDTO"}}}},"description":"Liste des pays envoyée"}},"summary":"Récupère la liste des pays","tags":["get-entites-controleur"]}},"/public/reference/typeLieu":{"get":{"operationId":"recupererTypesLieu","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LibelleDTO"}}}},"description":"Liste des types de lieu envoyée"}},"summary":"Récupère la liste des types de lieu","tags":["reference-controleur"]}},"/public/reference/typeMessage":{"get":{"operationId":"recupererTypesMessage","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LibelleDTO"}}}},"description":"Liste des types de message envoyée"}},"summary":"Récupère la liste des types de message","tags":["reference-controleur"]}},"/public/reference/typeMoyenDeTransport":{"get":{"operationId":"recupererTypesMoyenDeTransport","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LibelleDTO"}}}},"description":"Liste des types de moyen de transport envoyée"}},"summary":"Récupère la liste des types de moyen de transport","tags":["reference-controleur"]}},"/public/reference/typePreferenceCalculItineraire":{"get":{"operationId":"recupererTypesPreferenceCalculItineraire","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LibelleDTO"}}}},"description":"Liste des types de préférence de calcul d'itinéraire envoyée"}},"summary":"Récupère la liste des types de préférence de calcul d'itinéraire","tags":["reference-controleur"]}},"/public/trajets":{"get":{"operationId":"recupererTrajetsAPiedPourLieu","parameters":[{"description":"Lieu de destination des trajets","in":"query","name":"nom","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrajetDTO"}}}},"description":"Liste des trajets envoyée"}},"summary":"Récupère la liste des trajets à pied pour un lieu","tags":["get-entites-controleur"]}},"/public/villes":{"get":{"operationId":"recupererVilles","parameters":[{"description":"Si non vide, recherche les villes contenant le texte","in":"query","name":"nom","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VilleDTO"}}}},"description":"Liste des villes envoyée"}},"summary":"Récupère la liste des villes","tags":["get-entites-controleur"]}},"/securise/lieu/ajouter":{"post":{"operationId":"ajouterLieu","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeAjoutLieuDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LieuDTO"}}},"description":"Lieu créé envoyé"}},"summary":"Ajoute un lieu","tags":["post-entites-controleur"]}},"/securise/lieu/modifier":{"post":{"operationId":"modifierLieu","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeModificationLieuDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LieuDTO"}}},"description":"Lieu modifié envoyé"}},"summary":"Modifie un lieu","tags":["post-entites-controleur"]}},"/securise/lieu/supprimer":{"post":{"operationId":"supprimerLieu","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime un lieu","tags":["post-entites-controleur"]}},"/securise/ligne/ajouter":{"post":{"operationId":"ajouterLigne","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeAjoutLigneDTO"}}},"required":true},"responses":{"200":{"description":"Ligne créée"}},"summary":"Ajoute une ligne","tags":["lignes-controleur"]}},"/securise/ligne/ajouteretape":{"post":{"operationId":"ajouterEtapeLigne","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeAjoutEtapeLigneDTO"}}},"required":true},"responses":{"200":{"description":"Étape ajoutée"}},"summary":"Ajoute une étape à une ligne","tags":["lignes-controleur"]}},"/securise/ligne/couleurs":{"post":{"operationId":"modifierCouleursLigne","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeModificationCouleursLigneDTO"}}},"required":true},"responses":{"200":{"description":"Couleurs modifiés"}},"summary":"Modifie les couleurs d'une ligne","tags":["lignes-controleur"]}},"/securise/ligne/dupliquer":{"post":{"operationId":"dupliquerLigneSensInverse","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeDuplicationLigneDTO"}}},"required":true},"responses":{"200":{"description":"Ligne dupliquée"}},"summary":"Duplique une ligne en sens inverse","tags":["lignes-controleur"]}},"/securise/ligne/supprimeretape":{"post":{"operationId":"supprimerEtapeLigne","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeSuppressionEtapeLigneDTO"}}},"required":true},"responses":{"200":{"description":"Étape supprimée, ligne également s'il ne reste qu'une seule étape après suppression"}},"summary":"Supprime une étape d'une ligne","tags":["lignes-controleur"]}},"/securise/maire/ajouter":{"post":{"operationId":"ajouterMaire","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaireDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaireDTO"}}},"description":"Maire créé envoyé"}},"summary":"Ajoute un maire","tags":["post-entites-controleur"]}},"/securise/maire/supprimer":{"post":{"operationId":"supprimerMaire","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime un maire","tags":["post-entites-controleur"]}},"/securise/operateur/ajouter":{"post":{"operationId":"ajouterOperateur","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperateurDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperateurDTO"}}},"description":"Opérateur créé envoyé"}},"summary":"Ajoute un opérateur","tags":["post-entites-controleur"]}},"/securise/operateur/supprimer":{"post":{"operationId":"supprimerOperateur","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime un opérateur","tags":["post-entites-controleur"]}},"/securise/pays/ajouter":{"post":{"operationId":"ajouterPays","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaysDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaysDTO"}}},"description":"Pays créé envoyé"}},"summary":"Ajoute un pays","tags":["post-entites-controleur"]}},"/securise/pays/supprimer":{"post":{"operationId":"supprimerPays","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime un pays","tags":["post-entites-controleur"]}},"/securise/roles":{"get":{"operationId":"recupererDroits","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroitsDTO"}}},"description":"Liste des droits de l'utilisateur envoyée"}},"summary":"Récupère la liste des droits de l'utilisateur","tags":["post-entites-controleur"]}},"/securise/trajet/ajouter":{"post":{"operationId":"ajouterTrajetAPied","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeAjoutTrajetAPiedDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrajetDTO"}}},"description":"Trajet créé envoyé"}},"summary":"Ajoute un trajet à pied entre deux lieux","tags":["post-entites-controleur"]}},"/securise/trajet/supprimer":{"post":{"operationId":"supprimerTrajetAPied","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeSuppressionTrajetAPiedDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime un trajet à pied entre deux lieux","tags":["post-entites-controleur"]}},"/securise/trajet/temps":{"post":{"operationId":"recupererTempsTrajet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemandeTempsTrajetDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TempsTrajetListeDTO"}}},"description":"Ligne dupliquée"}},"summary":"Récupère le temps de trajet, s'il existe, entre deux lieux pour un moyen de transport","tags":["post-entites-controleur"]}},"/securise/ville/ajouter":{"post":{"operationId":"ajouterVille","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VilleDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VilleDTO"}}},"description":"Ville créée envoyé"}},"summary":"Ajoute une ville","tags":["post-entites-controleur"]}},"/securise/ville/supprimer":{"post":{"operationId":"supprimerVille","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NomDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Supprime une ville","tags":["post-entites-controleur"]}}},"components":{"schemas":{"ClientAPIDTO":{"type":"object","properties":{"cle":{"type":"string"},"droits":{"type":"array","items":{"type":"string"}},"nom":{"type":"string"}}},"DemandeAjoutEtapeLigneDTO":{"type":"object","properties":{"direction":{"type":"string"},"indiceAjout":{"type":"integer","format":"int32"},"ligne":{"type":"string"},"nouvelleEtape":{"type":"string"},"operateur":{"type":"string"},"tempsSecondesApres":{"type":"integer","format":"int32"},"tempsSecondesAvant":{"type":"integer","format":"int32"},"typeMoyenDeTransport":{"type":"string"}}},"DemandeAjoutLieuDTO":{"type":"object","properties":{"description":{"type":"string"},"nom":{"type":"string"},"type":{"type":"string"},"ville":{"type":"string"},"x":{"type":"integer","format":"int32"},"z":{"type":"integer","format":"int32"}}},"DemandeAjoutLigneDTO":{"type":"object","properties":{"couleurArriere":{"type":"string"},"couleurAvant":{"type":"string"},"destination":{"type":"string"},"ligne":{"type":"string"},"operateur":{"type":"string"},"origine":{"type":"string"},"tempsSecondes":{"type":"integer","format":"int32"},"typeMoyenDeTransport":{"type":"string"}}},"DemandeAjoutMessageDTO":{"type":"object","properties":{"cle":{"type":"string"},"lien":{"type":"string"},"texte":{"type":"string"},"type":{"type":"string"}}},"DemandeAjoutTrajetAPiedDTO":{"type":"object","properties":{"destination":{"type":"string"},"origine":{"type":"string"},"tempsSecondes":{"type":"integer","format":"int32"}}},"DemandeCalculItineraireDTO":{"type":"object","properties":{"destination":{"type":"string"},"origine":{"type":"string"},"typePreferenceCalculItineraire":{"type":"string"},"typesMoyenDeTransport":{"type":"array","items":{"type":"string"}}}},"DemandeDuplicationLigneDTO":{"type":"object","properties":{"direction":{"type":"string"},"ligne":{"type":"string"}}},"DemandeModificationCouleursLigneDTO":{"type":"object","properties":{"couleurArriere":{"type":"string"},"couleurAvant":{"type":"string"},"direction":{"type":"string"},"ligne":{"type":"string"}}},"DemandeModificationLieuDTO":{"type":"object","properties":{"description":{"type":"string"},"nom":{"type":"string"},"x":{"type":"integer","format":"int32"},"z":{"type":"integer","format":"int32"}}},"DemandeModificationMessageDTO":{"type":"object","properties":{"cle":{"type":"string"},"lien":{"type":"string"},"texte":{"type":"string"}}},"DemandeSuppressionEtapeLigneDTO":{"type":"object","properties":{"direction":{"type":"string"},"indiceSuppression":{"type":"integer","format":"int32"},"ligne":{"type":"string"},"operateur":{"type":"string"},"tempsSecondes":{"type":"integer","format":"int32"},"typeMoyenDeTransport":{"type":"string"}}},"DemandeSuppressionTrajetAPiedDTO":{"type":"object","properties":{"destination":{"type":"string"},"origine":{"type":"string"}}},"DemandeTempsTrajetDTO":{"type":"object","properties":{"destination":{"type":"string"},"origine":{"type":"string"},"typeMoyenDeTransport":{"type":"string"}}},"DroitsDTO":{"type":"object","properties":{"droits":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"nom":{"type":"string"}}},"EtapeDTO":{"type":"object","properties":{"destination":{"$ref":"#/components/schemas/LieuDTO"},"lieuTraverses":{"type":"array","items":{"$ref":"#/components/schemas/LieuDTO"}},"ligne":{"$ref":"#/components/schemas/LigneDTO"},"origine":{"$ref":"#/components/schemas/LieuDTO"},"tempsSecondes":{"type":"integer","format":"int32"}}},"ItineraireDTO":{"type":"object","properties":{"etapes":{"type":"array","items":{"$ref":"#/components/schemas/EtapeDTO"}},"tempsMarcheSecondes":{"type":"integer","format":"int32"},"tempsSecondes":{"type":"integer","format":"int32"}}},"LibelleDTO":{"type":"object","properties":{"libelle":{"type":"string"}}},"LieuDTO":{"type":"object","properties":{"description":{"type":"string"},"nom":{"type":"string"},"type":{"$ref":"#/components/schemas/LibelleDTO"},"ville":{"$ref":"#/components/schemas/VilleDTO"},"x":{"type":"integer","format":"int32"},"z":{"type":"integer","format":"int32"}}},"LieuLigneDTO":{"type":"object","properties":{"lieu":{"$ref":"#/components/schemas/LieuDTO"},"tempsSecondes":{"type":"integer","format":"int32"}}},"LigneDTO":{"type":"object","properties":{"couleurArriere":{"type":"string"},"couleurAvant":{"type":"string"},"lieux":{"type":"array","items":{"$ref":"#/components/schemas/LieuLigneDTO"}},"ligne":{"type":"string"},"operateur":{"$ref":"#/components/schemas/OperateurDTO"},"typeMoyenDeTransport":{"$ref":"#/components/schemas/LibelleDTO"}}},"ListeItinerairesDTO":{"type":"object","properties":{"itineraires":{"type":"array","items":{"$ref":"#/components/schemas/ItineraireDTO"}},"recommandation":{"type":"integer","format":"int32"}}},"MaireDTO":{"type":"object","properties":{"nom":{"type":"string"}}},"MessageDTO":{"type":"object","properties":{"cle":{"type":"string"},"dateMaj":{"type":"string","format":"date"},"lien":{"type":"string"},"texte":{"type":"string"},"type":{"$ref":"#/components/schemas/LibelleDTO"}}},"MoyenDeTransportDTO":{"type":"object","properties":{"direction":{"$ref":"#/components/schemas/LieuDTO"},"ligne":{"type":"string"},"operateur":{"$ref":"#/components/schemas/OperateurDTO"},"type":{"$ref":"#/components/schemas/LibelleDTO"}}},"NomDTO":{"type":"object","properties":{"nom":{"type":"string"}}},"OperateurDTO":{"type":"object","properties":{"nom":{"type":"string"}}},"PaysDTO":{"type":"object","properties":{"nom":{"type":"string"}}},"TempsTrajetDTO":{"type":"object","properties":{"ligne":{"type":"string"},"tempsSecondes":{"type":"integer","format":"int32"}}},"TempsTrajetListeDTO":{"type":"object","properties":{"temps":{"type":"array","items":{"$ref":"#/components/schemas/TempsTrajetDTO"}}}},"TrajetDTO":{"type":"object","properties":{"destination":{"$ref":"#/components/schemas/LieuDTO"},"moyenDeTransport":{"$ref":"#/components/schemas/MoyenDeTransportDTO"},"origine":{"$ref":"#/components/schemas/LieuDTO"},"tempsSecondes":{"type":"integer","format":"int32"}}},"VilleDTO":{"type":"object","properties":{"maire":{"$ref":"#/components/schemas/MaireDTO"},"nom":{"type":"string"},"pays":{"$ref":"#/components/schemas/PaysDTO"}}}}}}