cambios en el metodo de registrar logs

This commit is contained in:
jrojas
2025-04-02 11:31:49 +02:00
parent 61676795cc
commit d1d5ffd517
36 changed files with 171 additions and 23 deletions
@@ -65,9 +65,9 @@ public class AuditService : IAuditService
await _auditLogRepository.InsertOneAsync(auditRecord); await _auditLogRepository.InsertOneAsync(auditRecord);
} }
public async Task<T> JsonDeepCopyAsync<T>(T source) public Task<T> JsonDeepCopyAsync<T>(T source)
{ {
return await Task.Run(() => return Task.Run(() =>
{ {
var serialized = JsonConvert.SerializeObject(source); var serialized = JsonConvert.SerializeObject(source);
var deserialized = JsonConvert.DeserializeObject<T>(serialized); var deserialized = JsonConvert.DeserializeObject<T>(serialized);
@@ -180,10 +180,14 @@ public class AuditService : IAuditService
/// </example> /// </example>
#endregion #endregion
public async Task CreateAuditLogAsync(ClaimsPrincipal user, Object? dataOriginal, Object? dataModified, public async Task CreateAuditLogAsync(ClaimsPrincipal? user, Object? dataOriginal, Object? dataModified,
string? reason) string? reason)
{ {
if (user == null) throw new ArgumentNullException(nameof(user)); if (user == null)
{
Log.Error("An error occurred: User is null");
return;
}
AuditRecord auditLogData = new AuditRecord(); AuditRecord auditLogData = new AuditRecord();
JsonComparer jsonComparer = new(); JsonComparer jsonComparer = new();
@@ -9,7 +9,7 @@ using MongoDB.Bson;
public interface IAuditService public interface IAuditService
{ {
Task RecordAuditAsync(AuditRecord auditRecord); Task RecordAuditAsync(AuditRecord auditRecord);
Task CreateAuditLogAsync(ClaimsPrincipal user, object dataOriginal, object dataModified, string reason = null); Task CreateAuditLogAsync(ClaimsPrincipal? user, object dataOriginal, object dataModified, string reason = null);
Task CreateAuditLogAsync(AuditLogData auditLogData); Task CreateAuditLogAsync(AuditLogData auditLogData);
Task<PaginatedLogsResultDto<AuditRecordDto>> GetAuditLogsBySpecificFilterAsync( Task<PaginatedLogsResultDto<AuditRecordDto>> GetAuditLogsBySpecificFilterAsync(
SpecificAuditLogFilterDto filterDto); SpecificAuditLogFilterDto filterDto);
+1 -1
View File
@@ -8,7 +8,7 @@
<!-- Informacion para NuGet --> <!-- Informacion para NuGet -->
<PackageId>AuditLogs</PackageId> <PackageId>AuditLogs</PackageId>
<Version>1.0.51</Version> <Version>1.0.54</Version>
<Authors>Epigram</Authors> <Authors>Epigram</Authors>
<Company>Epigram</Company> <Company>Epigram</Company>
<Description>Library for recording audit logs using MongoDB.</Description> <Description>Library for recording audit logs using MongoDB.</Description>
@@ -6,7 +6,7 @@
"compilationOptions": {}, "compilationOptions": {},
"targets": { "targets": {
".NETCoreApp,Version=v8.0": { ".NETCoreApp,Version=v8.0": {
"audit-logs/1.0.51": { "audit-logs/1.0.54": {
"dependencies": { "dependencies": {
"Microsoft.Extensions.Hosting": "8.0.0", "Microsoft.Extensions.Hosting": "8.0.0",
"MongoDB.Driver": "2.23.1", "MongoDB.Driver": "2.23.1",
@@ -569,7 +569,7 @@
} }
}, },
"libraries": { "libraries": {
"audit-logs/1.0.51": { "audit-logs/1.0.54": {
"type": "project", "type": "project",
"serviceable": false, "serviceable": false,
"sha512": "" "sha512": ""
@@ -6,7 +6,7 @@
"compilationOptions": {}, "compilationOptions": {},
"targets": { "targets": {
".NETCoreApp,Version=v8.0": { ".NETCoreApp,Version=v8.0": {
"audit-logs/1.0.51": { "audit-logs/1.0.54": {
"dependencies": { "dependencies": {
"Microsoft.Extensions.Hosting": "8.0.0", "Microsoft.Extensions.Hosting": "8.0.0",
"MongoDB.Driver": "2.23.1", "MongoDB.Driver": "2.23.1",
@@ -569,7 +569,7 @@
} }
}, },
"libraries": { "libraries": {
"audit-logs/1.0.51": { "audit-logs/1.0.54": {
"type": "project", "type": "project",
"serviceable": false, "serviceable": false,
"sha512": "" "sha512": ""
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,11 +13,11 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Epigram")] [assembly: System.Reflection.AssemblyCompanyAttribute("Epigram")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Library for recording audit logs using MongoDB.")] [assembly: System.Reflection.AssemblyDescriptionAttribute("Library for recording audit logs using MongoDB.")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.51.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.54.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.51+9d46879e704ac62d1b49c1eaf705d8c217da5a28")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.54+61676795cc01d79d7b1645802d7bbe04134aaec6")]
[assembly: System.Reflection.AssemblyProductAttribute("audit-logs")] [assembly: System.Reflection.AssemblyProductAttribute("audit-logs")]
[assembly: System.Reflection.AssemblyTitleAttribute("audit-logs")] [assembly: System.Reflection.AssemblyTitleAttribute("audit-logs")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.51.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.54.0")]
[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs")] [assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs")]
// Generado por la clase WriteCodeFragment de MSBuild. // Generado por la clase WriteCodeFragment de MSBuild.
@@ -1 +1 @@
f4f82dcfc4afd18ff55507900362b6084fc691c0880e341139ba72e1b580ad5c 964e3d9eebd7420a970a1da6a113d13175a75451fd9698e6e78e7a740fc9d90c
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>AuditLogs</id>
<version>1.0.52</version>
<authors>Epigram</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<description>Library for recording audit logs using MongoDB.</description>
<tags>audit logs mongodb</tags>
<repository type="git" url="https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs" commit="61676795cc01d79d7b1645802d7bbe04134aaec6" />
<dependencies>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.Hosting" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="MongoDB.Driver" version="2.23.1" exclude="Build,Analyzers" />
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
<dependency id="Serilog" version="4.0.2" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="/home/julian/Documentos/repos/audit/audit-logs/audit-logs/bin/Release/net8.0/audit-logs.dll" target="lib/net8.0/audit-logs.dll" />
</files>
</package>
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>AuditLogs</id>
<version>1.0.52</version>
<authors>Epigram</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<description>Library for recording audit logs using MongoDB.</description>
<tags>audit logs mongodb</tags>
<repository type="git" url="https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs" commit="61676795cc01d79d7b1645802d7bbe04134aaec6" />
<dependencies>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.Hosting" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="MongoDB.Driver" version="2.23.1" exclude="Build,Analyzers" />
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
<dependency id="Serilog" version="4.0.2" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="/home/julian/Documentos/repos/audit/audit-logs/audit-logs/bin/Release/net8.0/audit-logs.pdb" target="lib/net8.0/audit-logs.pdb" />
</files>
</package>
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>AuditLogs</id>
<version>1.0.53</version>
<authors>Epigram</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<description>Library for recording audit logs using MongoDB.</description>
<tags>audit logs mongodb</tags>
<repository type="git" url="https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs" commit="61676795cc01d79d7b1645802d7bbe04134aaec6" />
<dependencies>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.Hosting" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="MongoDB.Driver" version="2.23.1" exclude="Build,Analyzers" />
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
<dependency id="Serilog" version="4.0.2" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="/home/julian/Documentos/repos/audit/audit-logs/audit-logs/bin/Release/net8.0/audit-logs.dll" target="lib/net8.0/audit-logs.dll" />
</files>
</package>
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>AuditLogs</id>
<version>1.0.53</version>
<authors>Epigram</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<description>Library for recording audit logs using MongoDB.</description>
<tags>audit logs mongodb</tags>
<repository type="git" url="https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs" commit="61676795cc01d79d7b1645802d7bbe04134aaec6" />
<dependencies>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.Hosting" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="MongoDB.Driver" version="2.23.1" exclude="Build,Analyzers" />
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
<dependency id="Serilog" version="4.0.2" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="/home/julian/Documentos/repos/audit/audit-logs/audit-logs/bin/Release/net8.0/audit-logs.pdb" target="lib/net8.0/audit-logs.pdb" />
</files>
</package>
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>AuditLogs</id>
<version>1.0.54</version>
<authors>Epigram</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<description>Library for recording audit logs using MongoDB.</description>
<tags>audit logs mongodb</tags>
<repository type="git" url="https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs" commit="61676795cc01d79d7b1645802d7bbe04134aaec6" />
<dependencies>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.Hosting" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="MongoDB.Driver" version="2.23.1" exclude="Build,Analyzers" />
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
<dependency id="Serilog" version="4.0.2" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="/home/julian/Documentos/repos/audit/audit-logs/audit-logs/bin/Release/net8.0/audit-logs.dll" target="lib/net8.0/audit-logs.dll" />
</files>
</package>
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>AuditLogs</id>
<version>1.0.54</version>
<authors>Epigram</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<description>Library for recording audit logs using MongoDB.</description>
<tags>audit logs mongodb</tags>
<repository type="git" url="https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs" commit="61676795cc01d79d7b1645802d7bbe04134aaec6" />
<dependencies>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.Hosting" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="MongoDB.Driver" version="2.23.1" exclude="Build,Analyzers" />
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
<dependency id="Serilog" version="4.0.2" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="/home/julian/Documentos/repos/audit/audit-logs/audit-logs/bin/Release/net8.0/audit-logs.pdb" target="lib/net8.0/audit-logs.pdb" />
</files>
</package>
@@ -13,11 +13,11 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Epigram")] [assembly: System.Reflection.AssemblyCompanyAttribute("Epigram")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Library for recording audit logs using MongoDB.")] [assembly: System.Reflection.AssemblyDescriptionAttribute("Library for recording audit logs using MongoDB.")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.51.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.54.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.51+9d46879e704ac62d1b49c1eaf705d8c217da5a28")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.54+61676795cc01d79d7b1645802d7bbe04134aaec6")]
[assembly: System.Reflection.AssemblyProductAttribute("audit-logs")] [assembly: System.Reflection.AssemblyProductAttribute("audit-logs")]
[assembly: System.Reflection.AssemblyTitleAttribute("audit-logs")] [assembly: System.Reflection.AssemblyTitleAttribute("audit-logs")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.51.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.54.0")]
[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs")] [assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://git.teralevel.io/jrojas/audit/src/branch/master/audit-logs")]
// Generado por la clase WriteCodeFragment de MSBuild. // Generado por la clase WriteCodeFragment de MSBuild.
@@ -1 +1 @@
ce5eba7e58be84ff84746981b94e93cad04591c525b06cea9ab2102f13033964 d790a7bc39c9f04ef6e46112efda37138dba38b4b10da3737d242442cda1100a
@@ -5,7 +5,7 @@
}, },
"projects": { "projects": {
"/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj": { "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj": {
"version": "1.0.51", "version": "1.0.52",
"restore": { "restore": {
"projectUniqueName": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj", "projectUniqueName": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj",
"projectName": "AuditLogs", "projectName": "AuditLogs",
@@ -2567,7 +2567,7 @@
"/home/julian/.nuget/packages/": {} "/home/julian/.nuget/packages/": {}
}, },
"project": { "project": {
"version": "1.0.51", "version": "1.0.52",
"restore": { "restore": {
"projectUniqueName": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj", "projectUniqueName": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj",
"projectName": "AuditLogs", "projectName": "AuditLogs",
@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "Z0Q3tjnK3+g=", "dgSpecHash": "2pdIOlnTDsA=",
"success": true, "success": true,
"projectFilePath": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj", "projectFilePath": "/home/julian/Documentos/repos/audit/audit-logs/audit-logs/audit-logs.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@@ -1 +1 @@
17412523511560238 17412523819842674
@@ -1 +1 @@
17412523819842674 17435774559328972