generator-codedesignplus 0.4.0 → 0.6.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generators/microservice/core/appsettings.mjs +46 -21
- package/generators/microservice/core/grpc.mjs +0 -2
- package/generators/microservice/core/utils.mjs +2 -0
- package/generators/microservice/templates/microservice/.github/workflows/ca.yaml +51 -0
- package/generators/microservice/templates/microservice/.github/workflows/ci.yaml +33 -0
- package/generators/microservice/templates/microservice/CodeDesignPlus.Net.Microservice.sln +0 -10
- package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/Chart.yaml +1 -1
- package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/Production.yaml +103 -0
- package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/{values.yaml → Staging.yaml} +10 -1
- package/generators/microservice/templates/microservice/charts/ms-archetype-rest/Chart.yaml +1 -1
- package/generators/microservice/templates/microservice/charts/ms-archetype-rest/Production.yaml +115 -0
- package/generators/microservice/templates/microservice/charts/ms-archetype-rest/{values.yaml → Staging.yaml} +8 -3
- package/generators/microservice/templates/microservice/charts/ms-archetype-worker/Chart.yaml +1 -1
- package/generators/microservice/templates/microservice/charts/ms-archetype-worker/Production.yaml +99 -0
- package/generators/microservice/templates/microservice/charts/ms-archetype-worker/{values.yaml → Staging.yaml} +6 -1
- package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/CodeDesignPlus.Net.Microservice.Application.csproj +5 -5
- package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Errors.cs +2 -4
- package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Setup/MapsterConfig.cs +0 -1
- package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/CodeDesignPlus.Net.Microservice.Domain.csproj +2 -2
- package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/ValueObjects/AddressValueObject.cs +11 -6
- package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/ValueObjects/ClientValueObject.cs +10 -7
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/CodeDesignPlus.Net.Microservice.AsyncWorker.csproj +8 -8
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Program.cs +6 -0
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.Development.json +16 -0
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.json +3 -4
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj +9 -8
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Program.cs +11 -4
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Development.json +19 -0
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Docker.json +23 -21
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.json +4 -4
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj +10 -10
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Program.cs +4 -0
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.Development.json +16 -0
- package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.json +6 -3
- package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +1 -1
- package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +1 -1
- package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +2 -2
- package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +1 -1
- package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/CodeDesignPlus.Net.Microservice.Default.Test.csproj +2 -2
- package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +1 -1
- package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +1 -1
- package/generators/microservice/templates/value-object/ItemValueObject.cs +3 -0
- package/package.json +1 -1
- package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/.helmignore +0 -23
- package/generators/microservice/templates/microservice/charts/ms-archetype-rest/.helmignore +0 -23
- package/generators/microservice/templates/microservice/charts/ms-archetype-worker/.helmignore +0 -23
- /package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/{appsettings.qa.json → appsettings.Staging.json} +0 -0
- /package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/{appsettings.qa.json → appsettings.Staging.json} +0 -0
- /package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/{appsettings.qa.json → appsettings.Staging.json} +0 -0
|
@@ -27,7 +27,6 @@ public static class MapsterConfigOrder
|
|
|
27
27
|
.Map(dest => dest.UpdatedBy, src => src.UpdatedBy)
|
|
28
28
|
.Map(dest => dest.ReasonForCancellation, src => src.ReasonForCancellation);
|
|
29
29
|
|
|
30
|
-
|
|
31
30
|
TypeAdapterConfig<CodeDesignPlus.Microservice.Api.Dtos.AddProductToOrderDto, AddProductToOrderCommand>.NewConfig().TwoWays();
|
|
32
31
|
TypeAdapterConfig<CodeDesignPlus.Microservice.Api.Dtos.CancelOrderDto, CancelOrderCommand>.NewConfig().TwoWays();
|
|
33
32
|
TypeAdapterConfig<CodeDesignPlus.Microservice.Api.Dtos.CreateOrderDto, CreateOrderCommand>.NewConfig().TwoWays();
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<Nullable>enable</Nullable>
|
|
6
6
|
</PropertyGroup>
|
|
7
7
|
<ItemGroup>
|
|
8
|
-
<PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.
|
|
9
|
-
<PackageReference Include="CodeDesignPlus.Net.Mongo" Version="0.
|
|
8
|
+
<PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.7.0-beta.33" />
|
|
9
|
+
<PackageReference Include="CodeDesignPlus.Net.Mongo" Version="0.7.0-beta.33" />
|
|
10
10
|
</ItemGroup>
|
|
11
11
|
</Project>
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
using Newtonsoft.Json;
|
|
2
|
+
|
|
1
3
|
namespace CodeDesignPlus.Net.Microservice.Domain.ValueObjects;
|
|
2
4
|
|
|
3
5
|
public sealed partial class AddressValueObject
|
|
4
6
|
{
|
|
5
|
-
|
|
7
|
+
|
|
8
|
+
public string Country { get; private set; }
|
|
9
|
+
public string State { get; private set; }
|
|
10
|
+
public string City { get; private set; }
|
|
11
|
+
public string Address { get; private set; }
|
|
12
|
+
public int CodePostal { get; private set; }
|
|
13
|
+
|
|
14
|
+
[JsonConstructor]
|
|
15
|
+
private AddressValueObject(string country, string state, string city, string address, int codePostal)
|
|
6
16
|
{
|
|
7
17
|
this.Country = country;
|
|
8
18
|
this.State = state;
|
|
@@ -11,11 +21,6 @@ public sealed partial class AddressValueObject
|
|
|
11
21
|
this.CodePostal = codePostal;
|
|
12
22
|
}
|
|
13
23
|
|
|
14
|
-
public string Country { get; private set; }
|
|
15
|
-
public string State { get; private set; }
|
|
16
|
-
public string City { get; private set; }
|
|
17
|
-
public string Address { get; private set; }
|
|
18
|
-
public int CodePostal { get; private set; }
|
|
19
24
|
|
|
20
25
|
public static AddressValueObject Create(string country, string state, string city, string address, int codePostal)
|
|
21
26
|
{
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
using Newtonsoft.Json;
|
|
2
|
+
|
|
1
3
|
namespace CodeDesignPlus.Net.Microservice.Domain.ValueObjects;
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
public sealed partial class ClientValueObject
|
|
4
6
|
{
|
|
5
|
-
public
|
|
7
|
+
public Guid Id { get; private set; }
|
|
8
|
+
public string Name { get; private set; }
|
|
9
|
+
public string Document { get; private set; }
|
|
10
|
+
public string TypeDocument { get; private set; }
|
|
11
|
+
|
|
12
|
+
[JsonConstructor]
|
|
13
|
+
private ClientValueObject(Guid id, string name, string document, string typeDocument)
|
|
6
14
|
{
|
|
7
15
|
this.Id = id;
|
|
8
16
|
this.Name = name;
|
|
@@ -10,11 +18,6 @@ namespace CodeDesignPlus.Net.Microservice.Domain.ValueObjects;
|
|
|
10
18
|
this.TypeDocument = typeDocument;
|
|
11
19
|
}
|
|
12
20
|
|
|
13
|
-
public Guid Id { get; private set; }
|
|
14
|
-
public string Name { get; private set; }
|
|
15
|
-
public string Document { get; private set; }
|
|
16
|
-
public string TypeDocument { get; private set; }
|
|
17
|
-
|
|
18
21
|
public static ClientValueObject Create(Guid id, string name, string document, string typeDocument)
|
|
19
22
|
{
|
|
20
23
|
DomainGuard.GuidIsEmpty(id, Errors.IdClientIsInvalid);
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
<PublishAot>false</PublishAot>
|
|
8
8
|
</PropertyGroup>
|
|
9
9
|
<ItemGroup>
|
|
10
|
-
<PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.
|
|
11
|
-
<PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.
|
|
12
|
-
<PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.
|
|
13
|
-
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.
|
|
14
|
-
<PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.
|
|
15
|
-
<PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.
|
|
16
|
-
<PackageReference Include="CodeDesignPlus.Net.Security" Version="0.
|
|
17
|
-
<PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.
|
|
10
|
+
<PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.7.0-beta.33" />
|
|
11
|
+
<PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.7.0-beta.33" />
|
|
12
|
+
<PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.7.0-beta.33" />
|
|
13
|
+
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.7.0-beta.33" />
|
|
14
|
+
<PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.7.0-beta.33" />
|
|
15
|
+
<PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.7.0-beta.33" />
|
|
16
|
+
<PackageReference Include="CodeDesignPlus.Net.Security" Version="0.7.0-beta.33" />
|
|
17
|
+
<PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.7.0-beta.33" />
|
|
18
18
|
</ItemGroup>
|
|
19
19
|
<ItemGroup>
|
|
20
20
|
<SonarQubeSetting Include="sonar.coverage.exclusions">
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
using CodeDesignPlus.Net.Logger.Extensions;
|
|
2
2
|
using CodeDesignPlus.Net.Microservice.Commons.FluentValidation;
|
|
3
|
+
using CodeDesignPlus.Net.Microservice.Commons.HealthChecks;
|
|
3
4
|
using CodeDesignPlus.Net.Microservice.Commons.MediatR;
|
|
4
5
|
using CodeDesignPlus.Net.Mongo.Extensions;
|
|
6
|
+
using CodeDesignPlus.Net.Observability.Extensions;
|
|
5
7
|
using CodeDesignPlus.Net.RabbitMQ.Extensions;
|
|
6
8
|
using CodeDesignPlus.Net.Redis.Cache.Extensions;
|
|
7
9
|
using CodeDesignPlus.Net.Redis.Extensions;
|
|
@@ -26,9 +28,13 @@ builder.Services.AddCache(builder.Configuration);
|
|
|
26
28
|
builder.Services.AddMapster();
|
|
27
29
|
builder.Services.AddFluentValidation();
|
|
28
30
|
builder.Services.AddMediatR<CodeDesignPlus.Net.Microservice.Application.Startup>();
|
|
31
|
+
builder.Services.AddHealthChecksServices();
|
|
32
|
+
builder.Services.AddObservability(builder.Configuration, builder.Environment);
|
|
29
33
|
|
|
30
34
|
var app = builder.Build();
|
|
31
35
|
|
|
36
|
+
app.UseHealthChecks();
|
|
37
|
+
|
|
32
38
|
var home = app.MapGroup("/");
|
|
33
39
|
|
|
34
40
|
home.MapGet("/", () => "Ready");
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Vault": {
|
|
3
|
+
"Enable": true,
|
|
4
|
+
"Address": "http://localhost:8200",
|
|
5
|
+
"AppName": "ms-archetype",
|
|
6
|
+
"Solution": "vault",
|
|
7
|
+
"Token": "root",
|
|
8
|
+
"Mongo": {
|
|
9
|
+
"Enable": false,
|
|
10
|
+
"TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
|
|
11
|
+
},
|
|
12
|
+
"RabbitMQ": {
|
|
13
|
+
"Enable": false
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"Kestrel": {
|
|
3
3
|
"Endpoints": {
|
|
4
4
|
"Http": {
|
|
5
|
-
"Url": "http://*:
|
|
5
|
+
"Url": "http://*:5000",
|
|
6
6
|
"Protocols": "Http1"
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
},
|
|
10
10
|
"Core": {
|
|
11
|
-
"AppName": "ms-archetype",
|
|
11
|
+
"AppName": "ms-archetype-worker",
|
|
12
12
|
"Version": "v1",
|
|
13
13
|
"Description": "Microservice Archetype Template",
|
|
14
14
|
"Business": "CodeDesignPlus",
|
|
@@ -18,14 +18,13 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"Security": {
|
|
21
|
-
"Authority": "https://codedesignplus.b2clogin.com/codedesignplus.onmicrosoft.com/B2C_1_CodeDeseignPlus/oauth2/v2.0/",
|
|
22
21
|
"ClientId": "a74cb192-598c-4757-95ae-b315793bbbca",
|
|
23
22
|
"IncludeErrorDetails": true,
|
|
24
23
|
"ValidateAudience": true,
|
|
25
24
|
"ValidateIssuer": true,
|
|
26
25
|
"ValidateLifetime": true,
|
|
27
26
|
"RequireHttpsMetadata": true,
|
|
28
|
-
"ValidIssuer": "
|
|
27
|
+
"ValidIssuer": "",
|
|
29
28
|
"ValidAudiences": [
|
|
30
29
|
"a74cb192-598c-4757-95ae-b315793bbbca"
|
|
31
30
|
],
|
|
@@ -10,18 +10,19 @@
|
|
|
10
10
|
<DockerfileContext>..\..</DockerfileContext>
|
|
11
11
|
</PropertyGroup>
|
|
12
12
|
<ItemGroup>
|
|
13
|
+
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.5" />
|
|
13
14
|
<PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" />
|
|
14
|
-
<PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.
|
|
15
|
-
<PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.
|
|
15
|
+
<PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.7.0-beta.33" />
|
|
16
|
+
<PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.7.0-beta.33" />
|
|
16
17
|
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="8.1.1" />
|
|
17
18
|
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="8.1.1" />
|
|
18
19
|
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="8.1.1" />
|
|
19
|
-
<PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.
|
|
20
|
-
<PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.
|
|
21
|
-
<PackageReference Include="CodeDesignPlus.Net.Security" Version="0.
|
|
22
|
-
<PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.
|
|
23
|
-
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.
|
|
24
|
-
<PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.
|
|
20
|
+
<PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.7.0-beta.33" />
|
|
21
|
+
<PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.7.0-beta.33" />
|
|
22
|
+
<PackageReference Include="CodeDesignPlus.Net.Security" Version="0.7.0-beta.33" />
|
|
23
|
+
<PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.7.0-beta.33" />
|
|
24
|
+
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.7.0-beta.33" />
|
|
25
|
+
<PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.7.0-beta.33" />
|
|
25
26
|
|
|
26
27
|
<PackageReference Include="AspNetCore.HealthChecks.MongoDb" Version="9.0.0" />
|
|
27
28
|
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="9.0.0" />
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
using CodeDesignPlus.Net.Microservice.Commons.Application;
|
|
1
2
|
using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Middlewares;
|
|
2
3
|
using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Resources;
|
|
3
4
|
using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Swagger;
|
|
@@ -6,10 +7,9 @@ using CodeDesignPlus.Net.Microservice.Commons.HealthChecks;
|
|
|
6
7
|
using CodeDesignPlus.Net.Microservice.Commons.MediatR;
|
|
7
8
|
using CodeDesignPlus.Net.Redis.Cache.Extensions;
|
|
8
9
|
using CodeDesignPlus.Net.Vault.Extensions;
|
|
9
|
-
using NodaTime.Serialization.
|
|
10
|
+
using NodaTime.Serialization.JsonNet;
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
var builder = WebApplication.CreateSlimBuilder(args);
|
|
12
|
+
var builder = WebApplication.CreateSlimBuilder(args);
|
|
13
13
|
|
|
14
14
|
Serilog.Debugging.SelfLog.Enable(Console.Error);
|
|
15
15
|
|
|
@@ -19,7 +19,11 @@ builder.Configuration.AddVault();
|
|
|
19
19
|
|
|
20
20
|
builder.Services
|
|
21
21
|
.AddControllers()
|
|
22
|
-
.
|
|
22
|
+
.AddNewtonsoftJson(options =>
|
|
23
|
+
{
|
|
24
|
+
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Error;
|
|
25
|
+
options.SerializerSettings.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
|
|
26
|
+
});
|
|
23
27
|
|
|
24
28
|
builder.Services.AddEndpointsApiExplorer();
|
|
25
29
|
builder.Services.AddCors();
|
|
@@ -45,6 +49,9 @@ app.UseCors(builder => builder
|
|
|
45
49
|
.AllowAnyMethod()
|
|
46
50
|
.AllowAnyHeader()
|
|
47
51
|
);
|
|
52
|
+
|
|
53
|
+
app.UsePath();
|
|
54
|
+
|
|
48
55
|
app.UseExceptionMiddleware();
|
|
49
56
|
app.UseHealthChecks();
|
|
50
57
|
app.UseCodeErrors();
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Core": {
|
|
3
|
+
"PathBase": ""
|
|
4
|
+
},
|
|
5
|
+
"Vault": {
|
|
6
|
+
"Enable": true,
|
|
7
|
+
"Address": "http://localhost:8200",
|
|
8
|
+
"AppName": "ms-archetype",
|
|
9
|
+
"Solution": "vault",
|
|
10
|
+
"Token": "root",
|
|
11
|
+
"Mongo": {
|
|
12
|
+
"Enable": false,
|
|
13
|
+
"TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
|
|
14
|
+
},
|
|
15
|
+
"RabbitMQ": {
|
|
16
|
+
"Enable": false
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"RabbitMQ": {
|
|
10
|
-
"Host": "host.docker.internal"
|
|
11
|
-
},
|
|
12
|
-
"Logger": {
|
|
13
|
-
"OTelEndpoint": "http://host.docker.internal:4317"
|
|
14
|
-
},
|
|
15
|
-
"Observability": {
|
|
16
|
-
"ServerOtel": "http://host.docker.internal:4317"
|
|
17
|
-
},
|
|
18
|
-
"Vault": {
|
|
19
|
-
"Address": "http://host.docker.internal:8200",
|
|
20
|
-
"Mongo": {
|
|
21
|
-
"TemplateConnectionString": "mongodb://{0}:{1}@host.docker.internal:27017"
|
|
2
|
+
"Core": {
|
|
3
|
+
"PathBase": ""
|
|
4
|
+
},
|
|
5
|
+
"Redis": {
|
|
6
|
+
"Instances": {
|
|
7
|
+
"Core": {
|
|
8
|
+
"ConnectionString": "host.docker.internal:6379"
|
|
22
9
|
}
|
|
23
10
|
}
|
|
11
|
+
},
|
|
12
|
+
"RabbitMQ": {
|
|
13
|
+
"Host": "host.docker.internal"
|
|
14
|
+
},
|
|
15
|
+
"Logger": {
|
|
16
|
+
"OTelEndpoint": "http://host.docker.internal:4317"
|
|
17
|
+
},
|
|
18
|
+
"Observability": {
|
|
19
|
+
"ServerOtel": "http://host.docker.internal:4317"
|
|
20
|
+
},
|
|
21
|
+
"Vault": {
|
|
22
|
+
"Address": "http://host.docker.internal:8200",
|
|
23
|
+
"Mongo": {
|
|
24
|
+
"TemplateConnectionString": "mongodb://{0}:{1}@host.docker.internal:27017"
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
|
-
|
|
27
|
+
}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"Core": {
|
|
12
|
-
"Id": "
|
|
13
|
-
"
|
|
12
|
+
"Id": "36612844-2102-49ff-847d-d294e8240338",
|
|
13
|
+
"PathBase": "/ms-archetype",
|
|
14
|
+
"AppName": "ms-archetype-rest",
|
|
14
15
|
"Version": "v1",
|
|
15
16
|
"Description": "Microservice Archetype Template",
|
|
16
17
|
"Business": "CodeDesignPlus",
|
|
@@ -24,13 +25,12 @@
|
|
|
24
25
|
"Server": "http://localhost:5001"
|
|
25
26
|
},
|
|
26
27
|
"Security": {
|
|
27
|
-
"Authority": "https://codedesignplus.b2clogin.com/codedesignplus.onmicrosoft.com/B2C_1_CodeDeseignPlus/oauth2/v2.0/",
|
|
28
28
|
"IncludeErrorDetails": true,
|
|
29
29
|
"ValidateAudience": true,
|
|
30
30
|
"ValidateIssuer": true,
|
|
31
31
|
"ValidateLifetime": true,
|
|
32
32
|
"RequireHttpsMetadata": true,
|
|
33
|
-
"ValidIssuer": "
|
|
33
|
+
"ValidIssuer": "",
|
|
34
34
|
"ValidAudiences": [],
|
|
35
35
|
"Applications": [],
|
|
36
36
|
"ValidateLicense": false,
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
<Protobuf Include="Protos\orders.proto" GrpcServices="Server" />
|
|
10
10
|
</ItemGroup>
|
|
11
11
|
<ItemGroup>
|
|
12
|
-
<PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.
|
|
13
|
-
<PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.
|
|
12
|
+
<PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.7.0-beta.33" />
|
|
13
|
+
<PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.7.0-beta.33" />
|
|
14
14
|
<PackageReference Include="Grpc.AspNetCore" Version="2.70.0" />
|
|
15
15
|
<PackageReference Include="Grpc.AspNetCore.Server.Reflection" Version="2.70.0" />
|
|
16
|
-
<PackageReference Include="Grpc.Tools" Version="2.
|
|
16
|
+
<PackageReference Include="Grpc.Tools" Version="2.70.0">
|
|
17
17
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
18
18
|
<PrivateAssets>all</PrivateAssets>
|
|
19
19
|
</PackageReference>
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
<ItemGroup>
|
|
27
27
|
<ProjectReference Include="..\..\domain\CodeDesignPlus.Net.Microservice.Infrastructure\CodeDesignPlus.Net.Microservice.Infrastructure.csproj" />
|
|
28
28
|
<PackageReference Include="NodaTime.Serialization.Protobuf" Version="2.0.2" />
|
|
29
|
-
<PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.
|
|
30
|
-
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.
|
|
31
|
-
<PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.
|
|
32
|
-
<PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.
|
|
33
|
-
<PackageReference Include="CodeDesignPlus.Net.Security" Version="0.
|
|
34
|
-
<PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.
|
|
35
|
-
<PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.
|
|
29
|
+
<PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.7.0-beta.33" />
|
|
30
|
+
<PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.7.0-beta.33" />
|
|
31
|
+
<PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.7.0-beta.33" />
|
|
32
|
+
<PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.7.0-beta.33" />
|
|
33
|
+
<PackageReference Include="CodeDesignPlus.Net.Security" Version="0.7.0-beta.33" />
|
|
34
|
+
<PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.7.0-beta.33" />
|
|
35
|
+
<PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.7.0-beta.33" />
|
|
36
36
|
</ItemGroup>
|
|
37
37
|
</Project>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
using CodeDesignPlus.Net.Logger.Extensions;
|
|
2
2
|
using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.gRpc.Interceptors;
|
|
3
3
|
using CodeDesignPlus.Net.Microservice.Commons.FluentValidation;
|
|
4
|
+
using CodeDesignPlus.Net.Microservice.Commons.HealthChecks;
|
|
4
5
|
using CodeDesignPlus.Net.Microservice.Commons.MediatR;
|
|
5
6
|
using CodeDesignPlus.Net.Microservice.gRpc.Services;
|
|
6
7
|
using CodeDesignPlus.Net.Mongo.Extensions;
|
|
@@ -37,9 +38,12 @@ builder.Services.AddSecurity(builder.Configuration);
|
|
|
37
38
|
builder.Services.AddObservability(builder.Configuration, builder.Environment);
|
|
38
39
|
builder.Services.AddLogger(builder.Configuration);
|
|
39
40
|
builder.Services.AddCache(builder.Configuration);
|
|
41
|
+
builder.Services.AddHealthChecksServices();
|
|
40
42
|
|
|
41
43
|
var app = builder.Build();
|
|
42
44
|
|
|
45
|
+
app.UseHealthChecks();
|
|
46
|
+
|
|
43
47
|
app.UseAuth();
|
|
44
48
|
|
|
45
49
|
app.MapGrpcService<OrderService>().RequireAuthorization();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Vault": {
|
|
3
|
+
"Enable": true,
|
|
4
|
+
"Address": "http://localhost:8200",
|
|
5
|
+
"AppName": "ms-archetype",
|
|
6
|
+
"Solution": "vault",
|
|
7
|
+
"Token": "root",
|
|
8
|
+
"Mongo": {
|
|
9
|
+
"Enable": false,
|
|
10
|
+
"TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
|
|
11
|
+
},
|
|
12
|
+
"RabbitMQ": {
|
|
13
|
+
"Enable": false
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"Kestrel": {
|
|
3
3
|
"Endpoints": {
|
|
4
|
+
"Http": {
|
|
5
|
+
"Url": "http://*:5000",
|
|
6
|
+
"Protocols": "Http1"
|
|
7
|
+
},
|
|
4
8
|
"Http2": {
|
|
5
9
|
"Url": "http://*:5001",
|
|
6
10
|
"Protocols": "Http2"
|
|
@@ -8,7 +12,7 @@
|
|
|
8
12
|
}
|
|
9
13
|
},
|
|
10
14
|
"Core": {
|
|
11
|
-
"AppName": "ms-archetype",
|
|
15
|
+
"AppName": "ms-archetype-grpc",
|
|
12
16
|
"Version": "v1",
|
|
13
17
|
"Description": "Microservice Archetype Template",
|
|
14
18
|
"Business": "CodeDesignPlus",
|
|
@@ -18,13 +22,12 @@
|
|
|
18
22
|
}
|
|
19
23
|
},
|
|
20
24
|
"Security": {
|
|
21
|
-
"Authority": "https://codedesignplus.b2clogin.com/codedesignplus.onmicrosoft.com/B2C_1_CodeDeseignPlus/oauth2/v2.0/",
|
|
22
25
|
"IncludeErrorDetails": true,
|
|
23
26
|
"ValidateAudience": true,
|
|
24
27
|
"ValidateIssuer": true,
|
|
25
28
|
"ValidateLifetime": true,
|
|
26
29
|
"RequireHttpsMetadata": true,
|
|
27
|
-
"ValidIssuer": "
|
|
30
|
+
"ValidIssuer": "",
|
|
28
31
|
"ValidAudiences": [],
|
|
29
32
|
"Applications": []
|
|
30
33
|
},
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
12
12
|
<PrivateAssets>all</PrivateAssets>
|
|
13
13
|
</PackageReference>
|
|
14
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
14
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
15
15
|
<PackageReference Include="Ductus.FluentDocker.XUnit" Version="2.10.59" />
|
|
16
16
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" />
|
|
17
17
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<PrivateAssets>all</PrivateAssets>
|
|
13
13
|
</PackageReference>
|
|
14
14
|
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" />
|
|
15
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
15
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
16
16
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" />
|
|
17
17
|
<PackageReference Include="Ductus.FluentDocker.XUnit" Version="2.10.59" />
|
|
18
18
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
</PackageReference>
|
|
15
15
|
<PackageReference Include="Google.Protobuf" Version="3.30.2" />
|
|
16
16
|
<PackageReference Include="Grpc.Net.Client" Version="2.70.0" />
|
|
17
|
-
<PackageReference Include="Grpc.Tools" Version="2.
|
|
17
|
+
<PackageReference Include="Grpc.Tools" Version="2.70.0">
|
|
18
18
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
19
19
|
<PrivateAssets>all</PrivateAssets>
|
|
20
20
|
</PackageReference>
|
|
21
21
|
<PackageReference Include="NodaTime.Serialization.Protobuf" Version="2.0.2" />
|
|
22
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
22
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
23
23
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" />
|
|
24
24
|
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" />
|
|
25
25
|
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="9.0.4" />
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
18
18
|
<PrivateAssets>all</PrivateAssets>
|
|
19
19
|
</PackageReference>
|
|
20
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
20
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
21
21
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
|
|
22
22
|
<PackageReference Include="Moq" Version="4.20.72" />
|
|
23
23
|
<PackageReference Include="xunit" Version="2.9.3" />
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<IsPackable>false</IsPackable>
|
|
7
7
|
</PropertyGroup>
|
|
8
8
|
<ItemGroup>
|
|
9
|
-
<PackageReference Include="CodeDesignPlus.Net.Serializers" Version="0.
|
|
9
|
+
<PackageReference Include="CodeDesignPlus.Net.Serializers" Version="0.7.0-beta.33" />
|
|
10
10
|
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
|
|
11
11
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
12
12
|
<PrivateAssets>all</PrivateAssets>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</PackageReference>
|
|
25
25
|
</ItemGroup>
|
|
26
26
|
<ItemGroup>
|
|
27
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
27
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
28
28
|
</ItemGroup>
|
|
29
29
|
<ItemGroup>
|
|
30
30
|
<ProjectReference Include="..\..\..\src\domain\CodeDesignPlus.Net.Microservice.Infrastructure\CodeDesignPlus.Net.Microservice.Infrastructure.csproj" />
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
23
23
|
<PrivateAssets>all</PrivateAssets>
|
|
24
24
|
</PackageReference>
|
|
25
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
25
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
26
26
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
|
|
27
27
|
<PackageReference Include="Moq" Version="4.20.72" />
|
|
28
28
|
<PackageReference Include="xunit" Version="2.9.3" />
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
18
18
|
<PrivateAssets>all</PrivateAssets>
|
|
19
19
|
</PackageReference>
|
|
20
|
-
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.
|
|
20
|
+
<PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.7.0-beta.33" />
|
|
21
21
|
<PackageReference Include="Grpc.Core.Testing" Version="2.46.6" />
|
|
22
22
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
|
|
23
23
|
<PackageReference Include="Moq" Version="4.20.72" />
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
using Newtonsoft.Json;
|
|
2
|
+
|
|
1
3
|
namespace <%= ns %>;
|
|
2
4
|
|
|
3
5
|
public sealed partial class <%= name %>
|
|
@@ -7,6 +9,7 @@ public sealed partial class <%= name %>
|
|
|
7
9
|
|
|
8
10
|
public string Value { get; private set; }
|
|
9
11
|
|
|
12
|
+
[JsonConstructor]
|
|
10
13
|
private <%= name %>(string value)
|
|
11
14
|
{
|
|
12
15
|
DomainGuard.IsNullOrEmpty(value, Errors.UnknownError);
|
package/package.json
CHANGED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Patterns to ignore when building packages.
|
|
2
|
-
# This supports shell glob matching, relative path matching, and
|
|
3
|
-
# negation (prefixed with !). Only one pattern per line.
|
|
4
|
-
.DS_Store
|
|
5
|
-
# Common VCS dirs
|
|
6
|
-
.git/
|
|
7
|
-
.gitignore
|
|
8
|
-
.bzr/
|
|
9
|
-
.bzrignore
|
|
10
|
-
.hg/
|
|
11
|
-
.hgignore
|
|
12
|
-
.svn/
|
|
13
|
-
# Common backup files
|
|
14
|
-
*.swp
|
|
15
|
-
*.bak
|
|
16
|
-
*.tmp
|
|
17
|
-
*.orig
|
|
18
|
-
*~
|
|
19
|
-
# Various IDEs
|
|
20
|
-
.project
|
|
21
|
-
.idea/
|
|
22
|
-
*.tmproj
|
|
23
|
-
.vscode/
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Patterns to ignore when building packages.
|
|
2
|
-
# This supports shell glob matching, relative path matching, and
|
|
3
|
-
# negation (prefixed with !). Only one pattern per line.
|
|
4
|
-
.DS_Store
|
|
5
|
-
# Common VCS dirs
|
|
6
|
-
.git/
|
|
7
|
-
.gitignore
|
|
8
|
-
.bzr/
|
|
9
|
-
.bzrignore
|
|
10
|
-
.hg/
|
|
11
|
-
.hgignore
|
|
12
|
-
.svn/
|
|
13
|
-
# Common backup files
|
|
14
|
-
*.swp
|
|
15
|
-
*.bak
|
|
16
|
-
*.tmp
|
|
17
|
-
*.orig
|
|
18
|
-
*~
|
|
19
|
-
# Various IDEs
|
|
20
|
-
.project
|
|
21
|
-
.idea/
|
|
22
|
-
*.tmproj
|
|
23
|
-
.vscode/
|