Files
DiunaBI/WebAPI/Controllers/LogsController.cs

43 lines
1.3 KiB
C#
Raw Normal View History

2023-08-29 14:55:31 +02:00
using System.Globalization;
using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data;
2025-03-03 13:06:53 +01:00
using Google.Cloud.Firestore;
2023-08-29 14:55:31 +02:00
using Microsoft.AspNetCore.Mvc;
using WebAPI.Models;
2024-06-18 19:40:16 +02:00
namespace WebAPI.Controllers;
public class LogsController : Controller
2023-08-29 14:55:31 +02:00
{
2025-03-03 13:06:53 +01:00
private readonly FirestoreDb _firestoreDb;
private readonly Guid _SessionId = Guid.NewGuid();
2024-06-18 19:40:16 +02:00
public LogsController(
2025-03-03 13:06:53 +01:00
FirestoreDb firestoreDb
)
2023-08-29 14:55:31 +02:00
{
2025-03-03 13:06:53 +01:00
_firestoreDb = firestoreDb;
2024-06-18 19:40:16 +02:00
}
2023-08-29 14:55:31 +02:00
2024-06-18 19:40:16 +02:00
public void AddEntry(LogEntry entry)
{
2025-03-03 13:06:53 +01:00
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);
2024-06-18 19:40:16 +02:00
}
2023-08-29 14:55:31 +02:00
}
}