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.
Files changed (49) hide show
  1. package/generators/microservice/core/appsettings.mjs +46 -21
  2. package/generators/microservice/core/grpc.mjs +0 -2
  3. package/generators/microservice/core/utils.mjs +2 -0
  4. package/generators/microservice/templates/microservice/.github/workflows/ca.yaml +51 -0
  5. package/generators/microservice/templates/microservice/.github/workflows/ci.yaml +33 -0
  6. package/generators/microservice/templates/microservice/CodeDesignPlus.Net.Microservice.sln +0 -10
  7. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/Chart.yaml +1 -1
  8. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/Production.yaml +103 -0
  9. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/{values.yaml → Staging.yaml} +10 -1
  10. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/Chart.yaml +1 -1
  11. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/Production.yaml +115 -0
  12. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/{values.yaml → Staging.yaml} +8 -3
  13. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/Chart.yaml +1 -1
  14. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/Production.yaml +99 -0
  15. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/{values.yaml → Staging.yaml} +6 -1
  16. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/CodeDesignPlus.Net.Microservice.Application.csproj +5 -5
  17. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Errors.cs +2 -4
  18. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Setup/MapsterConfig.cs +0 -1
  19. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/CodeDesignPlus.Net.Microservice.Domain.csproj +2 -2
  20. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/ValueObjects/AddressValueObject.cs +11 -6
  21. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/ValueObjects/ClientValueObject.cs +10 -7
  22. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/CodeDesignPlus.Net.Microservice.AsyncWorker.csproj +8 -8
  23. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Program.cs +6 -0
  24. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.Development.json +16 -0
  25. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.json +3 -4
  26. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj +9 -8
  27. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Program.cs +11 -4
  28. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Development.json +19 -0
  29. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Docker.json +23 -21
  30. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.json +4 -4
  31. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj +10 -10
  32. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Program.cs +4 -0
  33. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.Development.json +16 -0
  34. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.json +6 -3
  35. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +1 -1
  36. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +1 -1
  37. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +2 -2
  38. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +1 -1
  39. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/CodeDesignPlus.Net.Microservice.Default.Test.csproj +2 -2
  40. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +1 -1
  41. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +1 -1
  42. package/generators/microservice/templates/value-object/ItemValueObject.cs +3 -0
  43. package/package.json +1 -1
  44. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/.helmignore +0 -23
  45. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/.helmignore +0 -23
  46. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/.helmignore +0 -23
  47. /package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/{appsettings.qa.json → appsettings.Staging.json} +0 -0
  48. /package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/{appsettings.qa.json → appsettings.Staging.json} +0 -0
  49. /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.6.0-beta.28" />
9
- <PackageReference Include="CodeDesignPlus.Net.Mongo" Version="0.6.0-beta.28" />
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
- public AddressValueObject(string country, string state, string city, string address, int codePostal)
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
- public sealed partial class ClientValueObject
5
+ public sealed partial class ClientValueObject
4
6
  {
5
- public ClientValueObject(Guid id, string name, string document, string typeDocument)
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.6.0-beta.28" />
11
- <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.28" />
12
- <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.28" />
13
- <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.28" />
14
- <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.28" />
15
- <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.28" />
16
- <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.28" />
17
- <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.28" />
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://*:5002",
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": "https://codedesignplus.b2clogin.com/3461e311-a66e-46ab-afdf-2bbfb72a5cb0/v2.0/",
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.6.0-beta.28" />
15
- <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.28" />
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.6.0-beta.28" />
20
- <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.28" />
21
- <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.28" />
22
- <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.28" />
23
- <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.28" />
24
- <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.28" />
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.SystemTextJson;
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
- .AddJsonOptions(opt => opt.JsonSerializerOptions.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb));
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
- "Redis": {
3
- "Instances": {
4
- "Core": {
5
- "ConnectionString": "host.docker.internal:6379"
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": "797742f0-2999-4dac-a0d2-6e8ecdff0fda",
13
- "AppName": "ms-archetype",
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": "https://codedesignplus.b2clogin.com/3461e311-a66e-46ab-afdf-2bbfb72a5cb0/v2.0/",
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.6.0-beta.28" />
13
- <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.28" />
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.71.0">
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.6.0-beta.28" />
30
- <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.28" />
31
- <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.28" />
32
- <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.28" />
33
- <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.28" />
34
- <PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.6.0-beta.28" />
35
- <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.28" />
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": "https://codedesignplus.b2clogin.com/3461e311-a66e-46ab-afdf-2bbfb72a5cb0/v2.0/",
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.6.0-beta.28" />
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.6.0-beta.28" />
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.71.0">
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.6.0-beta.28" />
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.6.0-beta.28" />
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.6.0-beta.28" />
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.6.0-beta.28" />
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.6.0-beta.28" />
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.6.0-beta.28" />
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,6 +1,6 @@
1
1
  {
2
2
  "name": "generator-codedesignplus",
3
- "version": "0.4.0",
3
+ "version": "0.6.0-beta.12",
4
4
  "description": "Yeoman generator for creating microservices based on the CodeDesignPlus.Net.Microservice archetype.",
5
5
  "private": false,
6
6
  "main": "generators/index.mjs",
@@ -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/