adding gitea service
This commit is contained in:
40
Mindforge.API/Controllers/RepositoryController.cs
Normal file
40
Mindforge.API/Controllers/RepositoryController.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Mindforge.API.Services.Interfaces;
|
||||
|
||||
namespace Mindforge.API.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/v1/repository")]
|
||||
public class RepositoryController : ControllerBase
|
||||
{
|
||||
private readonly IGiteaService _giteaService;
|
||||
|
||||
public RepositoryController(IGiteaService giteaService)
|
||||
{
|
||||
_giteaService = giteaService;
|
||||
}
|
||||
|
||||
[HttpGet("info")]
|
||||
public IActionResult GetInfo()
|
||||
{
|
||||
return Ok(new { name = _giteaService.GetRepositoryName() });
|
||||
}
|
||||
|
||||
[HttpGet("tree")]
|
||||
public async Task<IActionResult> GetTree()
|
||||
{
|
||||
var tree = await _giteaService.GetFileTreeAsync();
|
||||
return Ok(tree);
|
||||
}
|
||||
|
||||
[HttpGet("file")]
|
||||
public async Task<IActionResult> GetFile([FromQuery] string path)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(path))
|
||||
return BadRequest(new { error = "path query parameter is required." });
|
||||
|
||||
var content = await _giteaService.GetFileContentAsync(path);
|
||||
return Ok(new { path, content });
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user