TourIAm/TIAMWebApp/Server/Controllers/LoggerApiController.cs

69 lines
2.4 KiB
C#

using AyCode.Core.Consts;
using AyCode.Entities.Server.LogItems;
using AyCode.Services.SignalRs;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using TIAM.Database.DataLayers.Admins;
using TIAM.Services;
using TIAMWebApp.Server.Services;
using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.ClientSide.UI;
namespace TIAMWebApp.Server.Controllers
{
[Authorize]
[ApiController]
[EnableCors("_myAllowSpecificOrigins")]
[Route("api/v1/[controller]")]
public class LoggerApiController(LoggerToLoggerApiController logger, AdminDal _adminDal) : ControllerBase
{
// = new TIAM.Core.Loggers.Logger<LoggerApiController>();
[AllowAnonymous]
[HttpPost]
[Route(APIUrls.AddLogItemRouteName)]
public async Task AddLogItem(AcLogItem? logItem)
{
try
{
if (logItem == null)
{
logger.Error("AddLogItem; LogItem == null");
//_logger.Writer<ConsoleLogWriter>().Detail("");
return;
}
//logItem.LogHeaderId = ???
logItem.TimeStampUtc = DateTime.UtcNow;
logger.Write(logItem);
//_logger.Writer<IAcConsoleLogWriter>()?.Write(logItem.AppType, logItem.LogLevel, logItem.Text, logItem.CallerName, logItem.CategoryName, logItem.ErrorType, logItem.Exception);
//_logger.Writer<DbLogItemWriter>().WriteLogItemAsync(logItem);
}
catch (Exception ex)
{
Console.WriteLine($@"ERROR!!! {nameof(LoggerApiController)}->AddLogItem; ex: {ex.Message}{AcEnv.NL}{AcEnv.NL}{ex}");
}
}
[AllowAnonymous]
[HttpGet]
[Route(APIUrls.GetAllLogItemsRouteName)]
[SignalR(SignalRTags.GetAllLogItems)]
public async Task<List<LogitemViewerModel>> GetAllLogItems()
{
var result = await _adminDal.GetLogItemsAsync();
List<LogitemViewerModel> returnList = new List<LogitemViewerModel>();
for (int i = 0; i < 100; i++ )
{
returnList.Add(new LogitemViewerModel(Guid.NewGuid(), result[i], result[i].LogHeaderId));
}
return returnList;
}
}
}