Files
SystemX.Web/Projects/WebApi/WebApi.Project.UniqueKeyApi/Controllers/UniqueKeyController.cs
2025-08-05 08:46:05 +09:00

86 lines
3.6 KiB
C#

using Azure;
using Azure.Core;
using Microsoft.AspNetCore.Mvc;
using SystemX.Core.Controller;
using WebApi.Library.Config;
using WebApi.Project.UniqueKeyApi.Models;
using WebApi.Project.UniqueKeyApi.Services;
namespace WebApi.Project.UniqueKeyApi.Controllers
{
[ApiController]
[Route("[controller]/[action]")]
public class UniqueKeyController : CommonController<UniqueKeyApiConfig>
{
private readonly UniqueKeyService _uniqueKeyService;
public UniqueKeyController(IServiceProvider serviceProvider, IHttpContextAccessor httpContextAccessor, UniqueKeyService uniqueKeyService)
: base(serviceProvider, httpContextAccessor)
{
_uniqueKeyService = uniqueKeyService;
}
[HttpGet("health")]
public async Task<IResult> Health()
{
LogXnet.WriteLine($"[{GetRequestMethod()}:{GetMethodName()}] [Client IP:{GetClientIP()}] [RequestUrl:{GetRequestUrl()}]{Environment.NewLine}", LogXLabel.CONTROLLER);
await Task.CompletedTask;
return Results.Ok("Healthy");
}
[HttpPost]
public async Task<IResult> InsertUniqueKey(Request_InsertUniqueKey request)
{
Guid guid = Guid.NewGuid();
LogXnet.WriteLine($"[Request][{GetRequestMethod()}:{GetMethodName()}][Client IP:{GetClientIP()}][RequestUrl:{GetRequestUrl()}]::({guid}){Environment.NewLine} {request.ToJson()}", LogXLabel.CONTROLLER);
Response_InsertUniqueKy response = await _uniqueKeyService.Request_InsertUniqueKey(request);
LogXnet.WriteLine($"[Response]::({guid}){Environment.NewLine} {response.ToJson()}", LogXLabel.CONTROLLER);
return Results.Ok(response);
}
[HttpPost]
public async Task<IResult> SelectUniqueKey([FromBody]Request_SelectUniqueKey request)
{
Guid guid = Guid.NewGuid();
LogXnet.WriteLine($"[Request][{GetRequestMethod()}:{GetMethodName()}][Client IP:{GetClientIP()}][RequestUrl:{GetRequestUrl()}]::({guid}){Environment.NewLine} {request.ToJson()}", LogXLabel.CONTROLLER);
Response_SelectUniqueKy response = await _uniqueKeyService.Request_SelectUniqueKey(request);
LogXnet.WriteLine($"[Response]::({guid}){Environment.NewLine} {response.ToJson()}", LogXLabel.CONTROLLER);
return Results.Ok(response);
}
[HttpGet]
public async Task<IResult> SelectUniqueKeyGet([FromQuery] string key)
{
Guid guid = Guid.NewGuid();
LogXnet.WriteLine($"[Request][{GetRequestMethod()}:{GetMethodName()}][Client IP:{GetClientIP()}][RequestUrl:{GetRequestUrl()}]::({guid}){Environment.NewLine} key:{key}", LogXLabel.CONTROLLER);
Response_SelectUniqueKy response = await _uniqueKeyService.Request_SelectUniqueKey(new Request_SelectUniqueKey { Identity = key });
LogXnet.WriteLine($"[Response]::({guid}){Environment.NewLine} {response.ToJson()}", LogXLabel.CONTROLLER);
return Results.Ok(response);
}
[HttpPost]
public async Task<IResult> UpdateUniqueKey(Request_UpdateUniqueKey request)
{
Guid guid = Guid.NewGuid();
LogXnet.WriteLine($"[Request][{GetRequestMethod()}:{GetMethodName()}][Client IP:{GetClientIP()}][RequestUrl:{GetRequestUrl()}]::({guid}){Environment.NewLine} {request.ToJson()}", LogXLabel.CONTROLLER);
Response_UpdateUniqueKy response = await _uniqueKeyService.Request_UpdateUniqueKey(request);
LogXnet.WriteLine($"[Response]::({guid}){Environment.NewLine} {response.ToJson()}", LogXLabel.CONTROLLER);
return Results.Ok(response);
}
}
}