Skip to content

Commit 6d330e3

Browse files
committed
refactor: Update package and simplify
1 parent 27b61d7 commit 6d330e3

File tree

3 files changed

+37
-37
lines changed

3 files changed

+37
-37
lines changed

Directory.Packages.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
<PackageVersion Include="Blazored.Toast" Version="4.2.1" />
2828
<PackageVersion Include="Markdig" Version="1.1.2" />
2929
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.5" />
30-
<PackageVersion Include="NCronJob" Version="4.9.0" />
30+
<PackageVersion Include="NCronJob" Version="4.10.1" />
3131
<PackageVersion Include="LinkDotNet.BuildInformation" Version="2.1.2" />
32-
<PackageVersion Include="ReverseMarkdown" Version="5.2.0" />
32+
<PackageVersion Include="ReverseMarkdown" Version="5.3.0" />
3333
<PackageVersion Include="System.ServiceModel.Syndication" Version="10.0.5" />
3434
<PackageVersion Include="NetEscapades.AspNetCore.SecurityHeaders" Version="1.3.1" />
3535
</ItemGroup>
@@ -55,9 +55,9 @@
5555
<ItemGroup Label="Tools">
5656
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
5757
<PackageVersion Include="Microsoft.Playwright" Version="1.58.0" />
58-
<PackageVersion Include="Spectre.Console" Version="0.54.0" />
58+
<PackageVersion Include="Spectre.Console" Version="0.55.0" />
5959
</ItemGroup>
6060
<ItemGroup Label="Source Code Generators">
61-
<PackageVersion Include="LinkDotNet.Enumeration" Version="1.2.0" />
61+
<PackageVersion Include="LinkDotNet.Enumeration" Version="1.3.1" />
6262
</ItemGroup>
6363
</Project>

src/LinkDotNet.Blog.Infrastructure/Persistence/PersistenceProvider.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,18 @@
33
namespace LinkDotNet.Blog.Infrastructure.Persistence;
44

55
[Enumeration("SqlServer", "Sqlite", "RavenDb", "MySql", "MongoDB", "PostgreSql")]
6-
public sealed partial record PersistenceProvider;
6+
public sealed partial record PersistenceProvider
7+
{
8+
public bool IsSql() =>
9+
Match(
10+
onSqlServer: true,
11+
onSqlite: true,
12+
onRavenDb: false,
13+
onMySql: true,
14+
onMongoDB: false,
15+
onPostgreSql: true);
16+
17+
public bool IsMongoDB() => this == MongoDB;
18+
public bool IsRavenDb() => this == RavenDb;
19+
}
720

src/LinkDotNet.Blog.Web/RegistrationExtensions/StorageProviderExtensions.cs

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,40 +22,27 @@ public static IServiceCollection AddStorageProvider(this IServiceCollection serv
2222
var persistenceProvider = PersistenceProvider.Create(provider);
2323

2424
persistenceProvider.Match(
25-
onSqlServer: () =>
26-
{
27-
services.UseSqlAsStorageProvider();
28-
services.RegisterCachedRepository<Infrastructure.Persistence.Sql.Repository<BlogPost>>();
29-
},
30-
onSqlite:
31-
() =>
32-
{
33-
services.UseSqliteAsStorageProvider();
34-
services.RegisterCachedRepository<Infrastructure.Persistence.Sql.Repository<BlogPost>>();
35-
},
36-
onMySql:
37-
() =>
38-
{
39-
services.UseMySqlAsStorageProvider();
40-
services.RegisterCachedRepository<Infrastructure.Persistence.Sql.Repository<BlogPost>>();
41-
},
42-
onMongoDB: () =>
43-
{
44-
services.UseMongoDBAsStorageProvider();
45-
services.RegisterCachedRepository<Infrastructure.Persistence.MongoDB.Repository<BlogPost>>();
46-
},
47-
onPostgreSql: () =>
48-
{
49-
services.UsePostgreSqlAsStorageProvider();
50-
services.RegisterCachedRepository<Infrastructure.Persistence.Sql.Repository<BlogPost>>();
51-
},
52-
onRavenDb: () =>
53-
{
54-
services.UseRavenDbAsStorageProvider();
55-
services.RegisterCachedRepository<Infrastructure.Persistence.RavenDb.Repository<BlogPost>>();
56-
}
25+
onSqlServer: services.UseSqlAsStorageProvider,
26+
onSqlite: services.UseSqliteAsStorageProvider,
27+
onMySql: services.UseMySqlAsStorageProvider,
28+
onPostgreSql: services.UsePostgreSqlAsStorageProvider,
29+
onMongoDB: services.UseMongoDBAsStorageProvider,
30+
onRavenDb: services.UseRavenDbAsStorageProvider
5731
);
5832

33+
if (persistenceProvider.IsSql())
34+
{
35+
services.RegisterCachedRepository<Infrastructure.Persistence.Sql.Repository<BlogPost>>();
36+
}
37+
else if (persistenceProvider.IsRavenDb())
38+
{
39+
services.RegisterCachedRepository<Infrastructure.Persistence.RavenDb.Repository<BlogPost>>();
40+
}
41+
else if (persistenceProvider.IsMongoDB())
42+
{
43+
services.RegisterCachedRepository<Infrastructure.Persistence.MongoDB.Repository<BlogPost>>();
44+
}
45+
5946
return services;
6047
}
6148

0 commit comments

Comments
 (0)