using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using xAiApi.AI.Interfaces; using xAiApi.Base; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; namespace xAiApi.Controllers.V1 { public class AIController : XIBaseV1Controller { private readonly IXAIService aiService; public AIController( IXAIService aiService, ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider ) : base( logger, appConfiguration, identityProvider, validationProvider ) { this.aiService = aiService; } // #region Actions ... [AllowAnonymous] [HttpGet("AskAI")] public async Task> AskAI( [FromQuery] string prompt ) { // // Do ... try { // var result = await aiService .GetTextResponseAsync(prompt); // return Ok(result); } catch (Exception ex) { // var result = GetExceptionActionResult(ex); return result; } } #endregion } }