Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DevStore.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
</Folder>
<Folder Name="/src/Building Blocks/Services/">
<Project Path="src/building-blocks/DevStore.WebAPI.Core/DevStore.WebAPI.Core.csproj" />
<Project Path="src\building-blocks\DevStore.Infra.Core\DevStore.Infra.Core.csproj" Type="Classic C#" />
</Folder>
<Folder Name="/src/Services/" />
<Folder Name="/src/Services/Billing/">
Expand Down
62 changes: 62 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<Project>
<ItemGroup>
<PackageVersion Include="AspNetCore.HealthChecks.MySql" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.NpgSql" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.Rabbitmq" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.Sqlite" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.SqlServer" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.Client" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.MySql.Storage" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.PostgreSQL.Storage" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.SQLite.Storage" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.SqlServer.Storage" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.Uris" Version="9.0.0" />
<PackageVersion Include="Bogus" Version="35.6.3" />
<PackageVersion Include="BuildBundlerMinifier" Version="3.2.449" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="Dapper" Version="2.1.66" />
<PackageVersion Include="FluentValidation" Version="12.0.0" />
<PackageVersion Include="Grpc.AspNetCore" Version="2.71.0" />
<PackageVersion Include="Grpc.Core.Api" Version="2.71.0" />
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.71.0" />
<PackageVersion Include="Grpc.Tools" Version="2.72.0" />
<PackageVersion Include="MassTransit.RabbitMQ" Version="8.5.1" />
<PackageVersion Include="mediatr" Version="13.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.7" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.7" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.7" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="9.0.7" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.7" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.7" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.7" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.7" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="9.0.7" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageVersion Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.22.1" />
<PackageVersion Include="MySql.EntityFrameworkCore" Version="9.0.6" />
<PackageVersion Include="NetDevPack" Version="8.0.2" />
<PackageVersion Include="NetDevPack.Identity" Version="7.0.1" />
<PackageVersion Include="NetDevPack.Security.Jwt.AspNetCore" Version="8.2.2" />
<PackageVersion Include="NetDevPack.Security.Jwt.Store.EntityFrameworkCore" Version="8.2.2" />
<PackageVersion Include="NetDevPack.Security.JwtExtensions" Version="8.0.0" />
<PackageVersion Include="NetDevPack.Security.PasswordHasher.Argon2" Version="7.1.0" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
<PackageVersion Include="NSwag.AspNetCore" Version="14.4.0" />
<PackageVersion Include="Polly" Version="8.6.2" />
<PackageVersion Include="RefIt" Version="8.0.0" />
<PackageVersion Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageVersion Include="Serilog.Sinks.Seq" Version="9.0.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="9.0.3" />
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="8.13.0" />
<PackageVersion Include="Xunit" Version="2.9.3" />
<PackageVersion Include="Xunit.Extensions.AssemblyFixture" Version="2.6.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.3" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="9.0.0" />
</ItemGroup>
</Project>
Binary file modified src/api-gateways/DevStore.Bff.Checkout/Configuration/ApiConfig.cs
Binary file not shown.
19 changes: 10 additions & 9 deletions src/building-blocks/DevStore.Core/DevStore.Core.csproj
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="FluentValidation" Version="12.0.0"/>
<PackageReference Include="mediatr" Version="13.0.0"/>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="9.0.7"/>
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.7"/>
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.7"/>
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.7"/>
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.7"/>
<PackageReference Include="NetDevPack" Version="8.0.2"/>
<PackageReference Include="FluentValidation" />
<PackageReference Include="mediatr" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
<PackageReference Include="Microsoft.Extensions.Options" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" />
<PackageReference Include="NetDevPack" />
</ItemGroup>

</Project>

Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
using DevStore.WebAPI.Core.DatabaseFlavor;
using DevStore.Infra.Core.DatabaseFlavor;
using HealthChecks.UI.Client;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using static DevStore.WebAPI.Core.DatabaseFlavor.ProviderConfiguration;
using static DevStore.Infra.Core.DatabaseFlavor.ProviderConfiguration;

namespace DevStore.WebAPI.Core.Configuration;
namespace DevStore.Infra.Core.Configuration;

public static class GenericHealthCheck
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;

namespace DevStore.WebAPI.Core.DatabaseFlavor;
namespace DevStore.Infra.Core.DatabaseFlavor;

/// <summary>
/// SqlServer configuration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace DevStore.WebAPI.Core.DatabaseFlavor;
namespace DevStore.Infra.Core.DatabaseFlavor;

public enum DatabaseType
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,29 @@
using System;
using System.Reflection;
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;

namespace DevStore.WebAPI.Core.DatabaseFlavor;
namespace DevStore.Infra.Core.DatabaseFlavor;

public class ProviderConfiguration
public class ProviderConfiguration(string connString)
{
private static readonly string MigrationAssembly =
typeof(ProviderConfiguration).GetTypeInfo().Assembly.GetName().Name;

private readonly string _connectionString;

public ProviderConfiguration(string connString)
{
_connectionString = connString;
}
typeof(ProviderConfiguration).GetTypeInfo().Assembly.GetName().Name!;

public Action<DbContextOptionsBuilder> SqlServer =>
options => options.UseSqlServer(_connectionString, sql => sql.MigrationsAssembly(MigrationAssembly));
options => options.UseSqlServer(connString, sql => sql.MigrationsAssembly(MigrationAssembly));

public Action<DbContextOptionsBuilder> MySql =>
options => options.UseMySQL(_connectionString, sql => sql.MigrationsAssembly(MigrationAssembly));
options => options.UseMySQL(connString, sql => sql.MigrationsAssembly(MigrationAssembly));

public Action<DbContextOptionsBuilder> Postgre =>
options =>
{
options.UseNpgsql(_connectionString, sql => sql.MigrationsAssembly(MigrationAssembly));
options.UseNpgsql(connString, sql => sql.MigrationsAssembly(MigrationAssembly));
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
};

public Action<DbContextOptionsBuilder> Sqlite =>
options => options.UseSqlite(_connectionString, sql => sql.MigrationsAssembly(MigrationAssembly));
options => options.UseSqlite(connString, sql => sql.MigrationsAssembly(MigrationAssembly));

public ProviderConfiguration With()
{
Expand All @@ -43,15 +35,13 @@ public static ProviderConfiguration Build(string connString)
return new ProviderConfiguration(connString);
}


/// <summary>
/// it's just a tuple. Returns 2 parameters.
/// Trying to improve readability at ConfigureServices
/// Improve readability at ConfigureServices
/// </summary>
public static (DatabaseType, string) DetectDatabase(IConfiguration configuration)
{
return (
configuration.GetValue("AppSettings:DatabaseType", DatabaseType.None),
configuration.GetConnectionString("DefaultConnection"));
configuration.GetConnectionString("DefaultConnection"))!;
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using static DevStore.WebAPI.Core.DatabaseFlavor.ProviderConfiguration;
using static DevStore.Infra.Core.DatabaseFlavor.ProviderConfiguration;

namespace DevStore.WebAPI.Core.DatabaseFlavor;
namespace DevStore.Infra.Core.DatabaseFlavor;

public static class ProviderSelector
{
Expand Down
29 changes: 29 additions & 0 deletions src/building-blocks/DevStore.Infra.Core/DevStore.Infra.Core.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup Label="Databases">
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" />
</ItemGroup>

<ItemGroup Label="HealthCheck">
<PackageReference Include="AspNetCore.HealthChecks.MySql" />
<PackageReference Include="AspNetCore.HealthChecks.NpgSql" />
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />
<PackageReference Include="AspNetCore.HealthChecks.Sqlite" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="MySql.EntityFrameworkCore" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" />
</ItemGroup>
</Project>

Binary file modified src/building-blocks/DevStore.MessageBus/DevStore.MessageBus.csproj
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using DevStore.WebAPI.Core.DatabaseFlavor;
using DevStore.Infra.Core.Configuration;
using DevStore.Infra.Core.DatabaseFlavor;
using DevStore.WebAPI.Core.Identity;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
Expand All @@ -7,7 +8,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Serilog;
using static DevStore.WebAPI.Core.DatabaseFlavor.ProviderConfiguration;
using static DevStore.Infra.Core.DatabaseFlavor.ProviderConfiguration;

namespace DevStore.WebAPI.Core.Configuration;

Expand Down
Binary file not shown.
Binary file modified src/services/DevStore.Billing.API/DevStore.Billing.API.csproj
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Bogus" Version="35.6.3"/>
<PackageReference Include="FluentValidation" Version="12.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.7" />
<PackageReference Include="NetDevPack" Version="8.0.2" />
<PackageReference Include="Bogus" />
<PackageReference Include="FluentValidation" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
<PackageReference Include="NetDevPack" />
</ItemGroup>

</Project>

Binary file modified src/services/DevStore.Catalog.API/DevStore.Catalog.API.csproj
Binary file not shown.
Binary file modified src/services/DevStore.Customers.API/DevStore.Customers.API.csproj
Binary file not shown.
Binary file modified src/services/DevStore.Identity.API/Configuration/ApiConfig.cs
Binary file not shown.
Binary file not shown.
Binary file modified src/services/DevStore.Identity.API/DevStore.Identity.API.csproj
Binary file not shown.
Binary file modified src/services/DevStore.Orders.API/DevStore.Orders.API.csproj
Binary file not shown.
Binary file modified src/services/DevStore.Orders.Domain/DevStore.Orders.Domain.csproj
Binary file not shown.
Binary file modified src/services/DevStore.Orders.Infra/DevStore.Orders.Infra.csproj
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
Expand All @@ -9,13 +9,13 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Grpc.AspNetCore" Version="2.71.0"/>
<PackageReference Include="Grpc.Tools" Version="2.72.0">
<PackageReference Include="Grpc.AspNetCore" />
<PackageReference Include="Grpc.Tools" >
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.22.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.3"/>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" />
<PackageReference Include="Swashbuckle.AspNetCore" />
</ItemGroup>

<ItemGroup>
Expand All @@ -28,3 +28,4 @@
</ItemGroup>

</Project>

15 changes: 8 additions & 7 deletions src/tests/DevStore.Tests/DevStore.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
Expand All @@ -9,15 +9,15 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4">
<PackageReference Include="coverlet.collector" >
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.7" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Xunit" Version="2.9.3" />
<PackageReference Include="Xunit.Extensions.AssemblyFixture" Version="2.6.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.3">
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="Xunit" />
<PackageReference Include="Xunit.Extensions.AssemblyFixture" />
<PackageReference Include="xunit.runner.visualstudio" >
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand All @@ -32,3 +32,4 @@
</ItemGroup>

</Project>

Binary file modified src/web/DevStore.WebApp.MVC/Configuration/WebAppConfig.cs
Binary file not shown.
Binary file modified src/web/DevStore.WebApp.MVC/DevStore.WebApp.MVC.csproj
Binary file not shown.
16 changes: 8 additions & 8 deletions src/web/DevStore.WebApp.Status/DevStore.WebApp.Status.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="9.0.0"/>
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="9.0.0"/>
<PackageReference Include="AspNetCore.HealthChecks.UI.MySql.Storage" Version="9.0.0"/>
<PackageReference Include="AspNetCore.HealthChecks.UI.PostgreSQL.Storage" Version="9.0.0"/>
<PackageReference Include="AspNetCore.HealthChecks.UI.SQLite.Storage" Version="9.0.0"/>
<PackageReference Include="AspNetCore.HealthChecks.UI.SqlServer.Storage" Version="9.0.0"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.7">
<PackageReference Include="AspNetCore.HealthChecks.UI" />
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" />
<PackageReference Include="AspNetCore.HealthChecks.UI.MySql.Storage" />
<PackageReference Include="AspNetCore.HealthChecks.UI.PostgreSQL.Storage" />
<PackageReference Include="AspNetCore.HealthChecks.UI.SQLite.Storage" />
<PackageReference Include="AspNetCore.HealthChecks.UI.SqlServer.Storage" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.22.1"/>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" />
</ItemGroup>

<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions src/web/DevStore.WebApp.Status/Program.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using DevStore.Infra.Core.DatabaseFlavor;
using DevStore.WebAPI.Core.Configuration;
using DevStore.WebAPI.Core.DatabaseFlavor;
using DevStore.WebAPI.Core.Extensions;

using static DevStore.WebAPI.Core.DatabaseFlavor.ProviderConfiguration;
using static DevStore.Infra.Core.DatabaseFlavor.ProviderConfiguration;

var builder = WebApplication.CreateBuilder(args);

Expand All @@ -11,7 +11,7 @@
var healthCheckBuilder = builder.Services.AddHealthChecksUI(setup =>
{
setup.SetHeaderText("DevStore - Status Page");
var endpoints = builder.Configuration.GetSection("ENDPOINTS").Get<string>();
var endpoints = builder.Configuration.GetSection("ENDPOINTS").Get<string>()!;

foreach (var endpoint in endpoints.Split(";"))
{
Expand Down
Loading