Files
DiunaBI/WebAPI/Controllers/LogsController.cs
2025-03-03 13:06:53 +01:00

43 lines
1.3 KiB
C#

using System.Globalization;
using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data;
using Google.Cloud.Firestore;
using Microsoft.AspNetCore.Mvc;
using WebAPI.Models;
namespace WebAPI.Controllers;
public class LogsController : Controller
{
private readonly FirestoreDb _firestoreDb;
private readonly Guid _SessionId = Guid.NewGuid();
public LogsController(
FirestoreDb firestoreDb
)
{
_firestoreDb = firestoreDb;
}
public void AddEntry(LogEntry entry)
{
entry.SessionId = _SessionId;
entry.Instance = LogInstance.Morska;
try {
var collection = _firestoreDb.Collection("ApiLogs");
var document = collection.Document();
document.SetAsync(new {
entry.Message,
entry.Title,
Type = Enum.GetName(typeof(LogEntryType), entry.Type),
LogType = Enum.GetName(typeof(LogType), entry.LogType),
Instance = Enum.GetName(typeof(LogInstance), entry.Instance),
entry.CreatedAt,
SessionId = entry.SessionId.ToString()
}).Wait();
} catch (Exception e) {
Console.WriteLine(e.Message);
}
}
}