Skip to content

Commit b1e8476

Browse files
committed
++ code analysis cleanup
1 parent b4e58d3 commit b1e8476

22 files changed

+68
-103
lines changed

src/Skoruba.AuditLogging.EntityFramework/DbContexts/AuditLoggingDbContext.cs

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
1-
using System.Threading.Tasks;
2-
using Microsoft.EntityFrameworkCore;
1+
using Microsoft.EntityFrameworkCore;
32
using Skoruba.AuditLogging.EntityFramework.Entities;
3+
using System.Threading.Tasks;
44

55
namespace Skoruba.AuditLogging.EntityFramework.DbContexts
66
{
7-
public abstract class AuditLoggingDbContext<TAuditLog> : DbContext, IAuditLoggingDbContext<TAuditLog>
7+
public abstract class AuditLoggingDbContext<TAuditLog>(DbContextOptions options) : DbContext(options), IAuditLoggingDbContext<TAuditLog>
88
where TAuditLog : AuditLog
99

1010
{
11-
protected AuditLoggingDbContext(DbContextOptions options)
12-
: base(options)
13-
{
14-
}
15-
1611
public DbSet<TAuditLog> AuditLog { get; set; }
1712

1813
public Task<int> SaveChangesAsync()

src/Skoruba.AuditLogging.EntityFramework/DbContexts/Default/DefaultAuditLoggingDbContext.cs

+1-6
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@
33

44
namespace Skoruba.AuditLogging.EntityFramework.DbContexts.Default
55
{
6-
public class DefaultAuditLoggingDbContext : AuditLoggingDbContext<AuditLog>
6+
public class DefaultAuditLoggingDbContext(DbContextOptions<DefaultAuditLoggingDbContext> dbContextOptions) : AuditLoggingDbContext<AuditLog>(dbContextOptions)
77
{
8-
public DefaultAuditLoggingDbContext(DbContextOptions<DefaultAuditLoggingDbContext> dbContextOptions)
9-
: base(dbContextOptions)
10-
{
11-
12-
}
138
}
149
}

src/Skoruba.AuditLogging.EntityFramework/DbContexts/IAuditLoggingDbContext.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using System.Threading.Tasks;
2-
using Microsoft.EntityFrameworkCore;
1+
using Microsoft.EntityFrameworkCore;
32
using Skoruba.AuditLogging.EntityFramework.Entities;
3+
using System.Threading.Tasks;
44

55
namespace Skoruba.AuditLogging.EntityFramework.DbContexts
66
{

src/Skoruba.AuditLogging.EntityFramework/Entities/AuditLog.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class AuditLog
2323
/// Event category
2424
/// </summary>
2525
public string Category { get; set; }
26-
26+
2727
/// <summary>
2828
/// Subject Identifier - who is responsible for current action
2929
/// </summary>

src/Skoruba.AuditLogging.EntityFramework/Extensions/AuditLoggingEntityFrameworkExtensions.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
using System;
2-
using Microsoft.EntityFrameworkCore;
1+
using Microsoft.EntityFrameworkCore;
32
using Microsoft.Extensions.DependencyInjection;
43
using Skoruba.AuditLogging.EntityFramework.DbContexts;
54
using Skoruba.AuditLogging.EntityFramework.DbContexts.Default;
65
using Skoruba.AuditLogging.EntityFramework.Entities;
76
using Skoruba.AuditLogging.EntityFramework.Repositories;
87
using Skoruba.AuditLogging.EntityFramework.Services;
98
using Skoruba.AuditLogging.Extensions;
9+
using System;
1010

1111
namespace Skoruba.AuditLogging.EntityFramework.Extensions
1212
{

src/Skoruba.AuditLogging.EntityFramework/Repositories/AuditLoggingRepository.cs

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
1-
using System.Threading.Tasks;
2-
using Microsoft.EntityFrameworkCore;
1+
using Microsoft.EntityFrameworkCore;
32
using Skoruba.AuditLogging.EntityFramework.DbContexts;
43
using Skoruba.AuditLogging.EntityFramework.Entities;
54
using Skoruba.AuditLogging.EntityFramework.Helpers;
65
using Skoruba.AuditLogging.EntityFramework.Helpers.Common;
6+
using System.Threading.Tasks;
77

88
namespace Skoruba.AuditLogging.EntityFramework.Repositories
99
{
10-
public class AuditLoggingRepository<TDbContext, TAuditLog> : IAuditLoggingRepository<TAuditLog>
11-
where TDbContext : IAuditLoggingDbContext<TAuditLog>
10+
public class AuditLoggingRepository<TDbContext, TAuditLog>(TDbContext dbContext) : IAuditLoggingRepository<TAuditLog>
11+
where TDbContext : IAuditLoggingDbContext<TAuditLog>
1212
where TAuditLog : AuditLog
1313
{
14-
protected TDbContext DbContext;
15-
16-
public AuditLoggingRepository(TDbContext dbContext)
17-
{
18-
DbContext = dbContext;
19-
}
14+
protected TDbContext DbContext = dbContext;
2015

2116
public virtual async Task<PagedList<TAuditLog>> GetAsync(int page = 1, int pageSize = 10)
2217
{

src/Skoruba.AuditLogging.EntityFramework/Repositories/IAuditLoggingRepository.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using System.Threading.Tasks;
2-
using Skoruba.AuditLogging.EntityFramework.Entities;
1+
using Skoruba.AuditLogging.EntityFramework.Entities;
32
using Skoruba.AuditLogging.EntityFramework.Helpers.Common;
3+
using System.Threading.Tasks;
44

55
namespace Skoruba.AuditLogging.EntityFramework.Repositories
66
{

src/Skoruba.AuditLogging.EntityFramework/Services/DatabaseAuditEventLoggerSink.cs

+6-11
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,21 @@
1-
using System;
2-
using System.Threading.Tasks;
3-
using Skoruba.AuditLogging.EntityFramework.Entities;
1+
using Skoruba.AuditLogging.EntityFramework.Entities;
42
using Skoruba.AuditLogging.EntityFramework.Mapping;
53
using Skoruba.AuditLogging.EntityFramework.Repositories;
64
using Skoruba.AuditLogging.Events;
75
using Skoruba.AuditLogging.Services;
6+
using System;
7+
using System.Threading.Tasks;
88

99
namespace Skoruba.AuditLogging.EntityFramework.Services
1010
{
11-
public class DatabaseAuditEventLoggerSink<TAuditLog> : IAuditEventLoggerSink
11+
public class DatabaseAuditEventLoggerSink<TAuditLog>(IAuditLoggingRepository<TAuditLog> auditLoggingRepository) : IAuditEventLoggerSink
1212
where TAuditLog : AuditLog, new()
1313
{
14-
private readonly IAuditLoggingRepository<TAuditLog> _auditLoggingRepository;
15-
16-
public DatabaseAuditEventLoggerSink(IAuditLoggingRepository<TAuditLog> auditLoggingRepository)
17-
{
18-
_auditLoggingRepository = auditLoggingRepository;
19-
}
14+
private readonly IAuditLoggingRepository<TAuditLog> _auditLoggingRepository = auditLoggingRepository;
2015

2116
public virtual async Task PersistAsync(AuditEvent auditEvent)
2217
{
23-
if (auditEvent == null) throw new ArgumentNullException(nameof(auditEvent));
18+
ArgumentNullException.ThrowIfNull(auditEvent);
2419

2520
var auditLog = auditEvent.MapToEntity<TAuditLog>();
2621

src/Skoruba.AuditLogging.Host/Controllers/AuditController.cs

+6-12
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,22 @@
1-
using System;
2-
using System.Threading.Tasks;
3-
using Microsoft.AspNetCore.Authorization;
1+
using Microsoft.AspNetCore.Authorization;
42
using Microsoft.AspNetCore.Mvc;
53
using Microsoft.Extensions.Logging;
64
using Skoruba.AuditLogging.Constants;
75
using Skoruba.AuditLogging.Host.Dtos;
86
using Skoruba.AuditLogging.Host.Events;
97
using Skoruba.AuditLogging.Services;
8+
using System;
9+
using System.Threading.Tasks;
1010

1111
namespace Skoruba.AuditLogging.Host.Controllers
1212
{
1313
[Authorize]
1414
[Route("api/[controller]")]
1515
[ApiController]
16-
public class AuditController : ControllerBase
16+
public class AuditController(IAuditEventLogger auditEventLogger, ILogger<AuditController> logger) : ControllerBase
1717
{
18-
private readonly IAuditEventLogger _auditEventLogger;
19-
private readonly ILogger<AuditController> _logger;
20-
21-
public AuditController(IAuditEventLogger auditEventLogger, ILogger<AuditController> logger)
22-
{
23-
_auditEventLogger = auditEventLogger;
24-
_logger = logger;
25-
}
18+
private readonly IAuditEventLogger _auditEventLogger = auditEventLogger;
19+
private readonly ILogger<AuditController> _logger = logger;
2620

2721
[HttpGet]
2822
public async Task<ActionResult> Get()

src/Skoruba.AuditLogging.Host/Helpers/Authentication/TestAuthenticationHandler.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
using System.Security.Claims;
2-
using System.Text.Encodings.Web;
3-
using System.Threading.Tasks;
4-
using Microsoft.AspNetCore.Authentication;
1+
using Microsoft.AspNetCore.Authentication;
52
using Microsoft.Extensions.Logging;
63
using Microsoft.Extensions.Options;
74
using Skoruba.AuditLogging.Host.Consts;
5+
using System.Security.Claims;
6+
using System.Text.Encodings.Web;
7+
using System.Threading.Tasks;
88

99
namespace Skoruba.AuditLogging.Host.Helpers.Authentication
1010
{

src/Skoruba.AuditLogging.Host/Helpers/Authentication/TestAuthenticationOptions.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using System.Security.Claims;
2-
using Microsoft.AspNetCore.Authentication;
1+
using Microsoft.AspNetCore.Authentication;
2+
using System.Security.Claims;
33

44
namespace Skoruba.AuditLogging.Host.Helpers.Authentication
55
{

src/Skoruba.AuditLogging.Host/Startup.cs

+11-12
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
using System;
2-
using System.Reflection;
3-
using System.Security.Claims;
4-
using Microsoft.AspNetCore.Builder;
1+
using Microsoft.AspNetCore.Builder;
52
using Microsoft.AspNetCore.Hosting;
63
using Microsoft.AspNetCore.Http;
7-
using Microsoft.AspNetCore.Mvc;
84
using Microsoft.EntityFrameworkCore;
95
using Microsoft.Extensions.Configuration;
106
using Microsoft.Extensions.DependencyInjection;
@@ -14,6 +10,9 @@
1410
using Skoruba.AuditLogging.EntityFramework.Extensions;
1511
using Skoruba.AuditLogging.Host.Consts;
1612
using Skoruba.AuditLogging.Host.Helpers.Authentication;
13+
using System;
14+
using System.Reflection;
15+
using System.Security.Claims;
1716

1817
namespace Skoruba.AuditLogging.Host
1918
{
@@ -67,13 +66,13 @@ public void ConfigureServices(IServiceCollection services)
6766
.AddScheme<TestAuthenticationOptions, TestAuthenticationHandler>(AuthenticationConsts.Scheme,
6867
options =>
6968
{
70-
options.Identity = new ClaimsIdentity(new[]
71-
{
72-
new Claim(AuthenticationConsts.ClaimName, "bob"),
73-
new Claim(AuthenticationConsts.ClaimSub, Guid.NewGuid().ToString()),
74-
new Claim(AuthenticationConsts.ClaimRole, Guid.NewGuid().ToString()),
75-
new Claim(AuthenticationConsts.ClaimRole, Guid.NewGuid().ToString())
76-
}, AuthenticationConsts.AuthenticationType, AuthenticationConsts.ClaimName, AuthenticationConsts.ClaimRole);
69+
options.Identity = new ClaimsIdentity(
70+
[
71+
new Claim(AuthenticationConsts.ClaimName, "bob"),
72+
new Claim(AuthenticationConsts.ClaimSub, Guid.NewGuid().ToString()),
73+
new Claim(AuthenticationConsts.ClaimRole, Guid.NewGuid().ToString()),
74+
new Claim(AuthenticationConsts.ClaimRole, Guid.NewGuid().ToString())
75+
], AuthenticationConsts.AuthenticationType, AuthenticationConsts.ClaimName, AuthenticationConsts.ClaimRole);
7776
});
7877

7978
services.AddControllersWithViews();

src/Skoruba.AuditLogging/Constants/ClaimsConsts.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using System.Data;
2-
3-
namespace Skoruba.AuditLogging.Constants
1+
namespace Skoruba.AuditLogging.Constants
42
{
53
public class ClaimsConsts
64
{

src/Skoruba.AuditLogging/Events/Http/HttpAuditSubject.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using System.Linq;
2-
using Microsoft.AspNetCore.Http;
1+
using Microsoft.AspNetCore.Http;
32
using Skoruba.AuditLogging.Configuration;
43
using Skoruba.AuditLogging.Constants;
4+
using System.Linq;
55

66
namespace Skoruba.AuditLogging.Events.Http
77
{
@@ -15,7 +15,7 @@ public HttpAuditSubject(IHttpContextAccessor accessor, AuditHttpSubjectOptions o
1515
{
1616
RemoteIpAddress = accessor.HttpContext.Connection?.RemoteIpAddress?.ToString(),
1717
LocalIpAddress = accessor.HttpContext.Connection?.LocalIpAddress?.ToString(),
18-
Claims = accessor.HttpContext.User.Claims?.Select(x=> new { x.Type, x.Value })
18+
Claims = accessor.HttpContext.User.Claims?.Select(x => new { x.Type, x.Value })
1919
};
2020
}
2121

Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
using Microsoft.Extensions.DependencyInjection;
2-
using Skoruba.AuditLogging.EntityFramework.Extensions;
32

43
namespace Skoruba.AuditLogging.Extensions
54
{
6-
public class AuditLoggingBuilder : IAuditLoggingBuilder
5+
public class AuditLoggingBuilder(IServiceCollection services) : IAuditLoggingBuilder
76
{
8-
public AuditLoggingBuilder(IServiceCollection services)
9-
{
10-
Services = services;
11-
}
12-
13-
public IServiceCollection Services { get; }
7+
public IServiceCollection Services { get; } = services;
148
}
159
}

src/Skoruba.AuditLogging/Extensions/AuditLoggingExtensions.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
using System;
2-
using Microsoft.Extensions.DependencyInjection;
1+
using Microsoft.Extensions.DependencyInjection;
32
using Microsoft.Extensions.DependencyInjection.Extensions;
43
using Skoruba.AuditLogging.Configuration;
54
using Skoruba.AuditLogging.Events;
65
using Skoruba.AuditLogging.Events.Default;
76
using Skoruba.AuditLogging.Events.Http;
87
using Skoruba.AuditLogging.Extensions;
98
using Skoruba.AuditLogging.Services;
9+
using System;
1010

1111
namespace Skoruba.AuditLogging.EntityFramework.Extensions
1212
{

src/Skoruba.AuditLogging/Helpers/HttpContextHelpers/HttpContextHelpers.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// Original file: https://github.com/thepirat000/Audit.NET/blob/9ee49b5295119ef7cc6648977f90c46ce39cc698/src/Audit.WebApi/AuditApiHelper.cs
22
// Modified: Jan Škoruba
33

4-
using System.Collections.Generic;
5-
using System.IO;
64
using Microsoft.AspNetCore.Http;
75
using Microsoft.Extensions.Primitives;
6+
using System.Collections.Generic;
7+
using System.IO;
88

99
namespace Skoruba.AuditLogging.Helpers.HttpContextHelpers
1010
{
@@ -35,7 +35,7 @@ public static IDictionary<string, string> ToDictionary(IEnumerable<KeyValuePair<
3535
{
3636
return null;
3737
}
38-
IDictionary<string, string> dict = new Dictionary<string, string>();
38+
var dict = new Dictionary<string, string>();
3939
foreach (var k in col)
4040
{
4141
dict.Add(k.Key, string.Join(", ", k.Value));

src/Skoruba.AuditLogging/Helpers/JsonHelpers/AuditLogSerializer.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ namespace Skoruba.AuditLogging.Helpers.JsonHelpers
1515
/// </summary>
1616
public static class AuditLogSerializer
1717
{
18-
public static readonly JsonSerializerSettings DefaultAuditJsonSettings = new JsonSerializerSettings
18+
public static readonly JsonSerializerSettings DefaultAuditJsonSettings = new()
1919
{
2020
NullValueHandling = NullValueHandling.Ignore,
2121
DateFormatHandling = DateFormatHandling.IsoDateFormat,
2222
Formatting = Formatting.Indented
2323
};
2424

25-
public static readonly JsonSerializerSettings BaseAuditEventJsonSettings = new JsonSerializerSettings
25+
public static readonly JsonSerializerSettings BaseAuditEventJsonSettings = new()
2626
{
2727
NullValueHandling = NullValueHandling.Ignore,
2828
DateFormatHandling = DateFormatHandling.IsoDateFormat,

src/Skoruba.AuditLogging/Helpers/JsonHelpers/AuditLoggerContractResolver.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using System.Reflection;
2-
using Newtonsoft.Json;
1+
using Newtonsoft.Json;
32
using Newtonsoft.Json.Serialization;
43
using Skoruba.AuditLogging.Events;
4+
using System.Reflection;
55

66
namespace Skoruba.AuditLogging.Helpers.JsonHelpers
77
{
@@ -16,7 +16,7 @@ public class AuditLoggerContractResolver : DefaultContractResolver
1616
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
1717
{
1818
var property = base.CreateProperty(member, memberSerialization);
19-
if (typeof(AuditEvent).IsAssignableFrom(member.DeclaringType)
19+
if (typeof(AuditEvent).IsAssignableFrom(member.DeclaringType)
2020
&& (member.Name == nameof(AuditEvent.Category)
2121
|| member.Name == nameof(AuditEvent.SubjectAdditionalData)
2222
|| member.Name == nameof(AuditEvent.Action)

src/Skoruba.AuditLogging/Services/AuditEventLogger.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
// Original file: https://github.com/IdentityServer/IdentityServer4/src/Services/Default/DefaultEventService.cs
55
// Modified by Jan Škoruba
66

7+
using Skoruba.AuditLogging.Configuration;
8+
using Skoruba.AuditLogging.Events;
79
using System;
810
using System.Collections.Generic;
911
using System.Threading.Tasks;
10-
using Skoruba.AuditLogging.Configuration;
11-
using Skoruba.AuditLogging.Events;
1212

1313
namespace Skoruba.AuditLogging.Services
1414
{

src/Skoruba.AuditLogging/Services/IAuditEventLogger.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
using System;
2-
using System.Threading.Tasks;
3-
using Skoruba.AuditLogging.Configuration;
1+
using Skoruba.AuditLogging.Configuration;
42
using Skoruba.AuditLogging.Events;
3+
using System;
4+
using System.Threading.Tasks;
55

66
namespace Skoruba.AuditLogging.Services
77
{
8-
public interface IAuditEventLogger<out TAuditLoggerOptions>
8+
public interface IAuditEventLogger<out TAuditLoggerOptions>
99
where TAuditLoggerOptions : AuditLoggerOptions
1010
{
1111
/// <summary>

src/Skoruba.AuditLogging/Services/IAuditEventLoggerSink.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
// Original file: https://github.com/IdentityServer/IdentityServer4/src/Services/IEventSink.cs
55
// Modified by Jan Škoruba
66

7-
using System.Threading.Tasks;
87
using Skoruba.AuditLogging.Events;
8+
using System.Threading.Tasks;
99

1010
namespace Skoruba.AuditLogging.Services
1111
{

0 commit comments

Comments
 (0)