Files
lux/Lux.API/Controllers/JwdController.cs
T
2025-07-12 10:36:35 +02:00

99 lines
3.6 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
namespace Lux.API.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class JwdController : ControllerBase
{
#region Public Constructors
public JwdController(ILogger<JwdController> logger)
{
_logger = logger;
}
#endregion Public Constructors
#region Public Methods
/// <summary>
/// Chiamata POST: riceve Json in formato JwdDto, restituisce jpeg file
/// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000
/// </summary>
/// <param name="id">token comunicazione</param>
/// <returns></returns>
[HttpPost("jpegfile/{id}")]
public async Task<IActionResult> jpegFile(string id, [FromBody] Lux.Core.RestPayload.JwdDTO currJwd)
{
// finta attesa/elaborazione
await Task.Delay(waitDelay);
// path immagine finto...
string fakeImagePath = "DemoImg/Window01.jpg";
var imageBytes = await System.IO.File.ReadAllBytesAsync(fakeImagePath);
return File(imageBytes, "image/jpeg");
}
/// <summary>
/// Chiamata POST: riceve Json in formato JwdDto, restituisce png file
/// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000
/// </summary>
/// <param name="id">token comunicazione</param>
/// <returns></returns>
[HttpPost("pngfile/{id}")]
public async Task<IActionResult> pngFile(string id, [FromBody] Core.RestPayload.JwdDTO currJwd)
{
// finta attesa/elaborazione
await Task.Delay(waitDelay);
// path immagine finto...
string fakeImagePath = "DemoImg/Window01.png";
var imageBytes = await System.IO.File.ReadAllBytesAsync(fakeImagePath);
return File(imageBytes, "image/png");
}
/// <summary>
/// Chiamata POST: riceve Json in formato JwdDto, restituisce svg file
/// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000
/// </summary>
/// <param name="id">token comunicazione</param>
/// <returns></returns>
[HttpPost("svgfile/{id}")]
public async Task<IActionResult> svgFile(string id, [FromBody] Core.RestPayload.JwdDTO currJwd)
{
// finta attesa/elaborazione
await Task.Delay(waitDelay);
// path immagine finto...
string fakeImagePath = "DemoImg/Window01.svg";
var svgContent = await System.IO.File.ReadAllTextAsync(fakeImagePath);
var bytes = System.Text.Encoding.UTF8.GetBytes(svgContent);
return File(bytes, "image/svg+xml");
}
/// <summary>
/// Chiamata POST: riceve Json in formato JwdDto, restituisce svg come string
/// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000
/// </summary>
/// <param name="id">token comunicazione</param>
/// <returns></returns>
[HttpPost("svg/{id}")]
public async Task<ActionResult<string>> svgString(string id, [FromBody] Core.RestPayload.JwdDTO currJwd)
{
// finta attesa/elaborazione
await Task.Delay(waitDelay);
// path immagine finto...
string fakeImagePath = "DemoImg/Window01.svg";
var svgContent = await System.IO.File.ReadAllTextAsync(fakeImagePath);
return Ok(svgContent);
}
#endregion Public Methods
#region Private Fields
private readonly ILogger<JwdController> _logger;
private int waitDelay = 250;
#endregion Private Fields
}
}