Skip to content

Commit fe9d52c

Browse files
authored
Merge pull request #11 from PandaTechAM/development
updated nuggets
2 parents 1c5c933 + f8d1ce3 commit fe9d52c

File tree

3 files changed

+46
-39
lines changed

3 files changed

+46
-39
lines changed

src/SharedKernel.Postgres/AuditTrail/AuditTrailDecryption.cs

-14
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
using System.Reflection;
2-
using AuditTrail.Abstractions;
3-
using AuditTrail.Extensions;
1+
using EFCore.Audit.Extensions;
2+
using EFCore.AuditBase.Extensions;
43
using EFCore.PostgresExtensions.Extensions;
54
using EntityFramework.Exceptions.PostgreSQL;
65
using Microsoft.AspNetCore.Builder;
76
using Microsoft.EntityFrameworkCore;
87
using Microsoft.Extensions.DependencyInjection;
9-
using SharedKernel.Postgres.AuditTrail;
108

119
namespace SharedKernel.Postgres.Extensions;
1210

@@ -16,40 +14,52 @@ public static WebApplicationBuilder AddPostgresContext<TContext>(this WebApplica
1614
string connectionString)
1715
where TContext : DbContext
1816
{
19-
builder.Services.AddDbContextPool<TContext>(options =>
17+
builder.Services.AddDbContext<TContext>(options =>
2018
{
2119
options
22-
.UseNpgsql(connectionString)
23-
.UseQueryLocks()
24-
.UseSnakeCaseNamingConvention()
25-
.UseExceptionProcessor();
20+
.AddStandardOptions(connectionString);
2621
});
2722

2823
builder.AddPostgresHealthCheck(connectionString);
2924

3025
return builder;
3126
}
3227

33-
public static WebApplicationBuilder AddPostgresContextWithAuditTrail<TContext, TPermission, TConsumer>(
34-
this WebApplicationBuilder builder,
35-
string connectionString,
36-
params Assembly[] assemblies)
28+
public static WebApplicationBuilder AddPostgresContextPool<TContext>(this WebApplicationBuilder builder,
29+
string connectionString)
3730
where TContext : DbContext
38-
where TConsumer : class, IAuditTrailConsumer<TPermission, TContext>
31+
{
32+
builder.Services.AddDbContextPool<TContext>(options =>
33+
{
34+
options.AddStandardOptions(connectionString);
35+
});
3936

37+
builder.AddPostgresHealthCheck(connectionString);
38+
39+
return builder;
40+
}
41+
42+
public static WebApplicationBuilder AddPostgresContextWithAuditTrail<TContext>(this WebApplicationBuilder builder,
43+
string connectionString) where TContext : DbContext
4044
{
41-
builder.Services.AddAuditTrail<TPermission, TConsumer, AuditTrailDecryption, TContext>(assemblies,
42-
s => s.AutoOpenTransaction = true);
45+
builder.Services.AddDbContext<TContext>((sp, options) =>
46+
{
47+
options.AddStandardOptions(connectionString)
48+
.AddAuditTrailInterceptors(sp);
49+
});
50+
51+
builder.AddPostgresHealthCheck(connectionString);
4352

53+
return builder;
54+
}
4455

56+
public static WebApplicationBuilder AddPostgresContextPoolWithAuditTrail<TContext>(this WebApplicationBuilder builder,
57+
string connectionString) where TContext : DbContext
58+
{
4559
builder.Services.AddDbContextPool<TContext>((sp, options) =>
4660
{
47-
options
48-
.UseNpgsql(connectionString)
49-
.UseQueryLocks()
50-
.UseSnakeCaseNamingConvention()
51-
.UseExceptionProcessor()
52-
.UseAuditTrail<TPermission, TContext>(sp);
61+
options.AddStandardOptions(connectionString)
62+
.AddAuditTrailInterceptors(sp);
5363
});
5464

5565
builder.AddPostgresHealthCheck(connectionString);
@@ -65,4 +75,15 @@ public static WebApplication MigrateDatabase<TContext>(this WebApplication app)
6575
dbContext.Database.Migrate();
6676
return app;
6777
}
78+
79+
private static DbContextOptionsBuilder AddStandardOptions(this DbContextOptionsBuilder optionsBuilder,
80+
string connectionString)
81+
{
82+
return optionsBuilder
83+
.UseNpgsql(connectionString)
84+
.UseQueryLocks()
85+
.UseAuditBaseValidatorInterceptor()
86+
.UseSnakeCaseNamingConvention()
87+
.UseExceptionProcessor();
88+
}
6889
}

src/SharedKernel.Postgres/SharedKernel.Postgres.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<PackageReadmeFile>Readme.md</PackageReadmeFile>
99
<Authors>Pandatech</Authors>
1010
<Copyright>MIT</Copyright>
11-
<Version>1.0.7</Version>
11+
<Version>1.0.8</Version>
1212
<PackageId>Pandatech.SharedKernel.Postgres</PackageId>
1313
<Title>Pandatech.SharedKernel.Postgres</Title>
1414
<PackageTags>Pandatech; PostgreSQL; Entity Framework Core; EF Core; Health Checks; Exception Handling; Database Migration; .NET; ASP.NET Core; Shared Kernel</PackageTags>
@@ -29,9 +29,9 @@
2929
<PackageReference Include="EFCore.NamingConventions" Version="9.0.0" />
3030
<PackageReference Include="EntityFrameworkCore.Exceptions.PostgreSQL" Version="8.1.3" />
3131
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.0" />
32-
<PackageReference Include="Pandatech.AuditTrail" Version="2.0.0" />
3332
<PackageReference Include="Pandatech.Crypto" Version="4.1.1" />
34-
<PackageReference Include="Pandatech.EFCore.AuditBase" Version="2.0.0" />
33+
<PackageReference Include="Pandatech.EFCore.Audit" Version="1.0.0" />
34+
<PackageReference Include="Pandatech.EFCore.AuditBase" Version="3.0.0" />
3535
<PackageReference Include="Pandatech.EFCore.PostgresExtensions" Version="4.0.0" />
3636
<PackageReference Include="PandaTech.FileExporter" Version="4.0.0" />
3737
<PackageReference Include="PandaTech.FluentImporter" Version="3.0.0" />

0 commit comments

Comments
 (0)