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 { private readonly UniqueKeyService _uniqueKeyService; public UniqueKeyController(IServiceProvider serviceProvider, IHttpContextAccessor httpContextAccessor, UniqueKeyService uniqueKeyService) : base(serviceProvider, httpContextAccessor) { _uniqueKeyService = uniqueKeyService; } [HttpGet("health")] public async Task 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 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 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 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 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); } } }