Files
vtuber-awards/Backend/Services/AdminAuditService.cs
T

33 lines
1014 B
C#

using System.Text.Json;
using Backend.Common;
using Backend.Domain;
using Backend.Repositories;
namespace Backend.Services;
public sealed class AdminAuditService(IAdminAuditRepository adminAuditRepository) : IAdminAuditService
{
public void AddEntry(
string adminTwitchUserId,
string actionType,
string entityType,
string entityId,
string summary,
object? metadata = null,
RequestMetadata? requestMetadata = null)
{
adminAuditRepository.Add(new AdminAuditEntry
{
AdminTwitchUserId = adminTwitchUserId,
ActionType = actionType,
EntityType = entityType,
EntityId = entityId,
Summary = summary,
MetadataJson = JsonSerializer.Serialize(metadata ?? new { }),
CreatedFromIp = requestMetadata?.ClientIp ?? string.Empty,
UserAgent = requestMetadata?.UserAgent ?? string.Empty,
CreatedAt = DateTimeOffset.UtcNow,
});
}
}