35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using CodeBase.Models;
|
|
using CodeBase.Services;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Http.HttpResults;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace CodeBase.Controllers
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class CodeController(CodeService service,
|
|
ScipProcessingService scipProcessingService) : ControllerBase
|
|
{
|
|
[HttpPost("analyze")]
|
|
public async Task<CodeChunk> AnalyzeRepository(string path, string name)
|
|
{
|
|
var chunks = await service.GetCodeChunksAsync(path, name);
|
|
return chunks[0];
|
|
}
|
|
[HttpPost("answer")]
|
|
public async Task<string> GetAnswer(string question, string name)
|
|
{
|
|
var answer = await service.GetAnswerAsync(name, question);
|
|
return answer;
|
|
}
|
|
|
|
[HttpPost("parser")]
|
|
public async Task<string> ParserProject(string path, string name, string lang)
|
|
{
|
|
await scipProcessingService.ProcessAndSaveProjectAsync(path, lang, name);
|
|
return "Проект добавлен в базу";
|
|
}
|
|
}
|
|
}
|