package xx.xxxx.guidetouristiqueaveclangchain.resources;

import xx.xxxx.guidetouristiqueaveclangchain.gpt.OpenAiClientForGuideTouristique;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.core.Response;

/**
 * Classe de ressource REST pour retourner des informations sur un pays ou une ville.
 */
@Path("guide_touristique")
public class GuideTouristiqueAvecLangChain {
    @Inject
    private OpenAiClientForGuideTouristique openAiClient;


    /**
     * Retourne des informations sur un pays ou une ville :
     * 2 principaux endroits à visiter et prix moyen d'un repas.
     *
     * @param nomVilleOuPays
     * @return Informations sur les endroits à visiter et le prix moyen d'un repas.
     */
    @GET
    @Path("ville_ou_pays/{ville_ou_pays}")
    public Response villeOuPays(@PathParam("ville_ou_pays") String nomVilleOuPays) {
        String reponse = openAiClient.envoyerRequete(nomVilleOuPays);
        return Response.ok(reponse).build();
    }
}