42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace Ksp.WebServer.Controllers
|
|
{
|
|
[ApiController]
|
|
[Route("tasks.json")]
|
|
public class TasksController : ControllerBase
|
|
{
|
|
private readonly ILogger<TasksController> logger;
|
|
private readonly IWebHostEnvironment env;
|
|
|
|
public TasksController(ILogger<TasksController> logger, IWebHostEnvironment env)
|
|
{
|
|
this.env = env;
|
|
this.logger = logger;
|
|
}
|
|
|
|
string TasksJsonFile => Path.Combine(env.ContentRootPath, "../../tasks.json");
|
|
|
|
[HttpGet]
|
|
public IActionResult Get()
|
|
{
|
|
return this.PhysicalFile(TasksJsonFile, "text/json");
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<IActionResult> Post()
|
|
{
|
|
// TODO: auth org
|
|
using var rdr = new StreamReader(HttpContext.Request.Body);
|
|
await System.IO.File.WriteAllTextAsync(TasksJsonFile, await rdr.ReadToEndAsync());
|
|
return Ok();
|
|
}
|
|
}
|
|
}
|