generator-codedesignplus 0.0.1-rc.2

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 (200) hide show
  1. package/LICENCE.md +13 -0
  2. package/README.md +454 -0
  3. package/generators/app/index.mjs +22 -0
  4. package/generators/microservice/core/aggregate.mjs +25 -0
  5. package/generators/microservice/core/appsettings.mjs +73 -0
  6. package/generators/microservice/core/asyncWorker.mjs +87 -0
  7. package/generators/microservice/core/command.mjs +54 -0
  8. package/generators/microservice/core/consumer.mjs +73 -0
  9. package/generators/microservice/core/controller.mjs +25 -0
  10. package/generators/microservice/core/core.mjs +98 -0
  11. package/generators/microservice/core/dataTransferObject.mjs +31 -0
  12. package/generators/microservice/core/domainEvent.mjs +36 -0
  13. package/generators/microservice/core/dotnet.mjs +56 -0
  14. package/generators/microservice/core/entity.mjs +29 -0
  15. package/generators/microservice/core/errors.mjs +37 -0
  16. package/generators/microservice/core/grpc.mjs +97 -0
  17. package/generators/microservice/core/microservice.mjs +212 -0
  18. package/generators/microservice/core/proto.mjs +61 -0
  19. package/generators/microservice/core/query.mjs +59 -0
  20. package/generators/microservice/core/repository.mjs +41 -0
  21. package/generators/microservice/core/utils.mjs +196 -0
  22. package/generators/microservice/core/valueObject.mjs +29 -0
  23. package/generators/microservice/core/xml.mjs +48 -0
  24. package/generators/microservice/index.mjs +38 -0
  25. package/generators/microservice/templates/aggregate/ItemAggregate.cs +9 -0
  26. package/generators/microservice/templates/command/ItemCommand.cs +12 -0
  27. package/generators/microservice/templates/command/ItemCommandHandler.cs +9 -0
  28. package/generators/microservice/templates/consumer/ItemHandler.cs +14 -0
  29. package/generators/microservice/templates/controller/ItemController.cs +8 -0
  30. package/generators/microservice/templates/data-transfer-object/ItemDto.cs +6 -0
  31. package/generators/microservice/templates/domain-event/ItemDomainEvent.cs +15 -0
  32. package/generators/microservice/templates/entity/ItemEntity.cs +6 -0
  33. package/generators/microservice/templates/errors/Error.cs +6 -0
  34. package/generators/microservice/templates/grpc/ItemService.cs +6 -0
  35. package/generators/microservice/templates/grpc/grpc.proto +22 -0
  36. package/generators/microservice/templates/microservice/.dockerignore +30 -0
  37. package/generators/microservice/templates/microservice/CodeDesignPlus.Net.Microservice.sln +155 -0
  38. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/CodeDesignPlus.Net.Microservice.Application.csproj +20 -0
  39. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Errors.cs +10 -0
  40. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/AddProductToOrder/AddProductToOrderCommand.cs +17 -0
  41. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/AddProductToOrder/AddProductToOrderCommandHandler.cs +27 -0
  42. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CancelOrder/CancelOrderCommand.cs +13 -0
  43. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CancelOrder/CancelOrderCommandHandler.cs +24 -0
  44. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CompleteOrder/CompleteOrderCommand.cs +11 -0
  45. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CompleteOrder/CompleteOrderCommandHandler.cs +25 -0
  46. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CreateOrder/CreateOrderCommand.cs +32 -0
  47. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/CreateOrder/CreateOrderCommandHandler.cs +24 -0
  48. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/RemoveProduct/RemoveProductCommand.cs +12 -0
  49. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/RemoveProduct/RemoveProductCommandHandler.cs +22 -0
  50. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/UpdateQuantityProduct/UpdateQuantityProductCommand.cs +14 -0
  51. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Commands/UpdateQuantityProduct/UpdateQuantityProductCommandHandler.cs +24 -0
  52. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/DataTransferObjects/AddressDto.cs +11 -0
  53. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/DataTransferObjects/ClientDto.cs +9 -0
  54. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/DataTransferObjects/OrderDto.cs +18 -0
  55. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/DataTransferObjects/ProductDto.cs +10 -0
  56. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/FindOrderById/FindOrderByIdQuery.cs +4 -0
  57. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/FindOrderById/FindOrderByIdQueryHandler.cs +23 -0
  58. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/GetAllOrders/GetAllOrdersQuery.cs +3 -0
  59. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/GetAllOrders/GetAllOrdersQueryHandler.cs +18 -0
  60. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Setup/MapsterConfig.cs +26 -0
  61. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Startup.cs +15 -0
  62. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Usings.cs +18 -0
  63. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/CodeDesignPlus.Net.Microservice.Domain.csproj +11 -0
  64. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/AddProductToOrderParams.cs +15 -0
  65. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/CancelOrderParams.cs +13 -0
  66. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/CompleteOrderParams.cs +12 -0
  67. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/RemoveProductFromOrderParams.cs +11 -0
  68. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DataTransferObjects/UpdateQuantityProductParams.cs +12 -0
  69. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/OrderCancelledDomainEvent.cs +21 -0
  70. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/OrderCompletedDomainEvent.cs +18 -0
  71. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/OrderCreatedDomainEvent.cs +44 -0
  72. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/ProductAddedToOrderDomainEvent.cs +20 -0
  73. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/ProductQuantityUpdatedDomainEvent.cs +20 -0
  74. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/DomainEvents/ProductRemovedFromOrderDomainEvent.cs +18 -0
  75. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Entities/ProductEntity.cs +10 -0
  76. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Enums/OrderStatus.cs +10 -0
  77. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Errors.cs +28 -0
  78. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/OrderAggregate.cs +124 -0
  79. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Repositories/IOrderRepository.cs +14 -0
  80. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Startup.cs +12 -0
  81. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/Usings.cs +11 -0
  82. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/ValueObjects/AddressValueObject.cs +30 -0
  83. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/ValueObjects/ClientValueObject.cs +27 -0
  84. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Infrastructure/CodeDesignPlus.Net.Microservice.Infrastructure.csproj +13 -0
  85. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Infrastructure/Errors.cs +6 -0
  86. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Infrastructure/Repositories/OrderRepository.cs +109 -0
  87. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Infrastructure/Startup.cs +10 -0
  88. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Infrastructure/Usings.cs +15 -0
  89. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/CodeDesignPlus.Net.Microservice.AsyncWorker.csproj +31 -0
  90. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Program.cs +41 -0
  91. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Properties/launchSettings.json +15 -0
  92. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/Usings.cs +10 -0
  93. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.Development.json +2 -0
  94. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.json +129 -0
  95. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj +36 -0
  96. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj.user +11 -0
  97. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Controllers/OrderController.cs +138 -0
  98. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Core/Mapster/MapsterConfig.cs +12 -0
  99. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Dockerfile +37 -0
  100. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Program.cs +52 -0
  101. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Properties/launchSettings.json +26 -0
  102. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Usings.cs +22 -0
  103. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.Development.json +3 -0
  104. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.json +86 -0
  105. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj +35 -0
  106. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj.user +9 -0
  107. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Core/Mapster/MapsterConfig.cs +13 -0
  108. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Program.cs +61 -0
  109. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Properties/launchSettings.json +23 -0
  110. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Protos/orders.proto +66 -0
  111. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Services/OrderService.cs +29 -0
  112. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/Usings.cs +12 -0
  113. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.Development.json +3 -0
  114. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.json +92 -0
  115. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +35 -0
  116. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/Properties/launchSettings.json +12 -0
  117. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/Usings.cs +8 -0
  118. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +36 -0
  119. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Controllers/OrderControllerTest.cs +337 -0
  120. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Properties/launchSettings.json +12 -0
  121. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Usings.cs +8 -0
  122. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +46 -0
  123. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Protos/orders.proto +65 -0
  124. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Services/OrdersServiceTest.cs +64 -0
  125. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Usings.cs +7 -0
  126. package/generators/microservice/templates/microservice/tests/load/load-rest.js +63 -0
  127. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/CodeDesignPlus.Net.Microservice.Application.Test.csproj +34 -0
  128. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/AddProductToOrder/AddProductToOrderCommandHandlerTest.cs +98 -0
  129. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/AddProductToOrder/AddProductToOrderCommandTest.cs +84 -0
  130. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CancelOrder/CancelOrderCommandHandlerTest.cs +74 -0
  131. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CancelOrder/CancelOrderCommandTest.cs +43 -0
  132. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CompleteOrder/CompleteOrderCommandHandlerTest.cs +74 -0
  133. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CompleteOrder/CompleteOrderCommandTest.cs +32 -0
  134. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CreateOrder/CreateOrderCommandHandlerTest.cs +100 -0
  135. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/CreateOrder/CreateOrderCommandTest.cs +122 -0
  136. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/RemoveProduct/RemoveProductCommandHandlerTest.cs +71 -0
  137. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/RemoveProduct/RemoveProductCommandTest.cs +33 -0
  138. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/UpdateQuantityProduct/UpdateQuantityProductCommandHandlerTest.cs +82 -0
  139. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Commands/UpdateQuantityProduct/UpdateQuantityProductCommandTest.cs +51 -0
  140. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Queries/FindOrderById/FindOrderByIdQueryHandlerTest.cs +70 -0
  141. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Queries/GetAllOrders/GetAllOrdersQueryHandlerTest.cs +80 -0
  142. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Setup/MapsterConfigTest.cs +20 -0
  143. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Usings.cs +18 -0
  144. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +38 -0
  145. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/Usings.cs +9 -0
  146. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/CodeDesignPlus.Net.Microservice.Default.Test.csproj +35 -0
  147. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Usings.cs +6 -0
  148. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/AggregateTest.cs +37 -0
  149. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/CommandsTests.cs +29 -0
  150. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/DataTransferObjectTest.cs +47 -0
  151. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/DomainEventTest.cs +42 -0
  152. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/EntityTest.cs +25 -0
  153. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/ErrorsTest.cs +55 -0
  154. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/QueryTests.cs +29 -0
  155. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/Validations/StartupTest.cs +43 -0
  156. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/CodeDesignPlus.Net.Microservice.Domain.Test.csproj +38 -0
  157. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/DomainEvents/OrderCancelledDomainEventTest.cs +46 -0
  158. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/OrderAggregateTest.cs +518 -0
  159. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/Usings.cs +7 -0
  160. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/CodeDesignPlus.Net.Microservice.Infrastructure.Test.csproj +34 -0
  161. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/Repositories/OrderRepositoryTest.cs +259 -0
  162. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/Usings.cs +14 -0
  163. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +40 -0
  164. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/Controllers/OrderControllerTest.cs +189 -0
  165. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/Core/Mapster/MapsterConfigTest.cs +19 -0
  166. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/Usings.cs +14 -0
  167. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +39 -0
  168. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/Core/Mapster/MapsterConfigTest.cs +19 -0
  169. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/Services/OrderServiceTest.cs +72 -0
  170. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/Usings.cs +15 -0
  171. package/generators/microservice/templates/microservice/tools/convert-crlf-to-lf.sh +6 -0
  172. package/generators/microservice/templates/microservice/tools/sonarqube/sonar.ps1 +18 -0
  173. package/generators/microservice/templates/microservice/tools/sonarqube/sonar.sh +18 -0
  174. package/generators/microservice/templates/microservice/tools/update-packages/update-packages.ps1 +10 -0
  175. package/generators/microservice/templates/microservice/tools/update-packages/update-packages.sh +11 -0
  176. package/generators/microservice/templates/microservice/tools/upgrade-dotnet/upgrade-assistant.ps1 +10 -0
  177. package/generators/microservice/templates/microservice/tools/upgrade-dotnet/upgrade-assistant.sh +11 -0
  178. package/generators/microservice/templates/microservice/tools/vault/config-vault.ps1 +178 -0
  179. package/generators/microservice/templates/microservice/tools/vault/config-vault.sh +152 -0
  180. package/generators/microservice/templates/others/MapsterConfig.cs +9 -0
  181. package/generators/microservice/templates/query/ItemQuery.cs +4 -0
  182. package/generators/microservice/templates/query/ItemQueryHandler.cs +9 -0
  183. package/generators/microservice/templates/repository/IItemRepository.cs +6 -0
  184. package/generators/microservice/templates/repository/ItemRepository.cs +7 -0
  185. package/generators/microservice/templates/value-object/ItemValueObject.cs +23 -0
  186. package/generators/microservice/types/aggregate.mjs +19 -0
  187. package/generators/microservice/types/appsettings.mjs +26 -0
  188. package/generators/microservice/types/base.mjs +24 -0
  189. package/generators/microservice/types/command.mjs +38 -0
  190. package/generators/microservice/types/consumer.mjs +21 -0
  191. package/generators/microservice/types/controller.mjs +20 -0
  192. package/generators/microservice/types/dataTransferObject.mjs +19 -0
  193. package/generators/microservice/types/domainEvents.mjs +22 -0
  194. package/generators/microservice/types/entity.mjs +21 -0
  195. package/generators/microservice/types/index.mjs +25 -0
  196. package/generators/microservice/types/proto.mjs +19 -0
  197. package/generators/microservice/types/query.mjs +38 -0
  198. package/generators/microservice/types/repository.mjs +21 -0
  199. package/generators/microservice/types/valueObject.mjs +23 -0
  200. package/package.json +70 -0
@@ -0,0 +1,37 @@
1
+ #See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
2
+
3
+ FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
4
+ USER app
5
+ WORKDIR /app
6
+ EXPOSE 8080
7
+
8
+ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
9
+ # Install clang/zlib1g-dev dependencies for publishing to native
10
+ RUN apt-get update \
11
+ && apt-get install -y --no-install-recommends \
12
+ clang zlib1g-dev \
13
+ && apt-get clean
14
+
15
+ ARG BUILD_CONFIGURATION=Release
16
+ WORKDIR /src
17
+ COPY ["domain/", "domain/"]
18
+ COPY ["entrypoints/CodeDesignPlus.Net.Microservice.Rest/", "entrypoints/CodeDesignPlus.Net.Microservice.Rest/"]
19
+ RUN dotnet restore "./entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj"
20
+
21
+ WORKDIR "/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest"
22
+ RUN dotnet build "./CodeDesignPlus.Net.Microservice.Rest.csproj" -c "$BUILD_CONFIGURATION" -o /app/build
23
+
24
+ FROM build AS publish
25
+ WORKDIR /src
26
+ ARG BUILD_CONFIGURATION=Release
27
+ RUN dotnet publish "./entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj" \
28
+ -c "$BUILD_CONFIGURATION" \
29
+ -o /app/publish /p:UseAppHost=true
30
+
31
+
32
+ FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
33
+ USER app
34
+ WORKDIR /app
35
+ EXPOSE 8080
36
+ COPY --from=publish /app/publish .
37
+ ENTRYPOINT ["dotnet", "CodeDesignPlus.Net.Microservice.Rest.dll"]
@@ -0,0 +1,52 @@
1
+ using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Middlewares;
2
+ using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Swagger;
3
+ using CodeDesignPlus.Net.Microservice.Commons.FluentValidation;
4
+ using CodeDesignPlus.Net.Microservice.Commons.MediatR;
5
+ using CodeDesignPlus.Net.Redis.Cache.Extensions;
6
+ using CodeDesignPlus.Net.Vault.Extensions;
7
+
8
+ var builder = WebApplication.CreateSlimBuilder(args);
9
+
10
+ Serilog.Debugging.SelfLog.Enable(Console.Error);
11
+
12
+ builder.Host.UseSerilog();
13
+
14
+ builder.Configuration.AddVault();
15
+
16
+ builder.Services.AddControllers();
17
+
18
+ builder.Services.AddEndpointsApiExplorer();
19
+
20
+ builder.Services.AddVault(builder.Configuration);
21
+ builder.Services.AddRedis(builder.Configuration);
22
+ builder.Services.AddMongo<CodeDesignPlus.Net.Microservice.Infrastructure.Startup>(builder.Configuration);
23
+ builder.Services.AddObservability(builder.Configuration, builder.Environment);
24
+ builder.Services.AddLogger(builder.Configuration);
25
+ builder.Services.AddRabbitMQ<CodeDesignPlus.Net.Microservice.Domain.Startup>(builder.Configuration);
26
+ builder.Services.AddMapster();
27
+ builder.Services.AddFluentValidation();
28
+ builder.Services.AddMediatR<CodeDesignPlus.Net.Microservice.Application.Startup>();
29
+ builder.Services.AddSecurity(builder.Configuration);
30
+ builder.Services.AddCoreSwagger<Program>(builder.Configuration);
31
+ builder.Services.AddCache(builder.Configuration);
32
+
33
+
34
+ var app = builder.Build();
35
+
36
+ // Configure the HTTP request pipeline.
37
+ app.UseCoreSwagger();
38
+
39
+ app.UseMiddleware<ExceptionMiddleware>();
40
+
41
+ app.UseHttpsRedirection();
42
+
43
+ app.UseAuth();
44
+
45
+ app.MapControllers().RequireAuthorization();
46
+
47
+ await app.RunAsync();
48
+
49
+ public partial class Program
50
+ {
51
+ protected Program() { }
52
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "profiles": {
3
+ "http": {
4
+ "commandName": "Project",
5
+ "launchBrowser": true,
6
+ "launchUrl": "swagger",
7
+ "environmentVariables": {
8
+ "ASPNETCORE_ENVIRONMENT": "Development",
9
+ "VAULT_ROLE_ID": "vault_role_id",
10
+ "VAULT_SECRET_ID": "vault_secret_id",
11
+ },
12
+ "dotnetRunMessages": true,
13
+ "applicationUrl": "http://localhost:5175"
14
+ },
15
+ "Docker": {
16
+ "commandName": "Docker",
17
+ "launchBrowser": true,
18
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
19
+ "environmentVariables": {
20
+ "ASPNETCORE_HTTP_PORTS": "8080"
21
+ },
22
+ "publishAllPorts": true
23
+ }
24
+ },
25
+ "$schema": "http://json.schemastore.org/launchsettings.json"
26
+ }
@@ -0,0 +1,22 @@
1
+ global using CodeDesignPlus.Microservice.Api.Dtos;
2
+ global using CodeDesignPlus.Net.Logger.Extensions;
3
+ global using CodeDesignPlus.Net.Mongo.Extensions;
4
+ global using CodeDesignPlus.Net.Observability.Extensions;
5
+ global using CodeDesignPlus.Net.RabbitMQ.Extensions;
6
+ global using CodeDesignPlus.Net.Redis.Extensions;
7
+ global using CodeDesignPlus.Net.Security.Extensions;
8
+ global using Mapster;
9
+ global using MapsterMapper;
10
+ global using MediatR;
11
+ global using Microsoft.AspNetCore.Mvc;
12
+ global using C = CodeDesignPlus.Net.Core.Abstractions.Models.Criteria;
13
+ global using CodeDesignPlus.Net.Serializers;
14
+
15
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Commands.AddProductToOrder;
16
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Commands.CancelOrder;
17
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Commands.CompleteOrder;
18
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Commands.CreateOrder;
19
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Commands.RemoveProduct;
20
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Commands.UpdateQuantityProduct;
21
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Queries.FindOrderById;
22
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Queries.GetAllOrders;
@@ -0,0 +1,86 @@
1
+ {
2
+ "AllowedHosts": "*",
3
+ "Core": {
4
+ "AppName": "ms-archetype",
5
+ "Version": "v1",
6
+ "Description": "Microservice Archetype Template",
7
+ "Business": "CodeDesignPlus",
8
+ "Contact": {
9
+ "Name": "CodeDesignPlus",
10
+ "Email": "codedesignplus@outlook.com"
11
+ }
12
+ },
13
+ "Security": {
14
+ "Authority": "https://codedesignplus.b2clogin.com/codedesignplus.onmicrosoft.com/B2C_1_CodeDeseignPlus/oauth2/v2.0/",
15
+ "IncludeErrorDetails": true,
16
+ "ValidateAudience": true,
17
+ "ValidateIssuer": true,
18
+ "ValidateLifetime": true,
19
+ "RequireHttpsMetadata": true,
20
+ "ValidIssuer": "https://codedesignplus.b2clogin.com/3461e311-a66e-46ab-afdf-2bbfb72a5cb0/v2.0/",
21
+ "ValidAudiences": [],
22
+ "Applications": []
23
+ },
24
+ "Redis": {
25
+ "Instances": {
26
+ "Core": {
27
+ "ConnectionString": "localhost:6379"
28
+ }
29
+ }
30
+ },
31
+ "RedisCache": {
32
+ "Enable": true,
33
+ "Expiration": "00:05:00"
34
+ },
35
+ "RabbitMQ": {
36
+ "Enable": true,
37
+ "Host": "localhost",
38
+ "Port": 5672,
39
+ "UserName": "user",
40
+ "Password": "pass",
41
+ "EnableDiagnostic": true
42
+ },
43
+ "Mongo": {
44
+ "Enable": true,
45
+ "Database": "db-ms-archetype",
46
+ "Diagnostic": {
47
+ "Enable": true,
48
+ "EnableCommandText": true
49
+ }
50
+ },
51
+ "Logger": {
52
+ "Enable": true,
53
+ "OTelEndpoint": "http://127.0.0.1:4317"
54
+ },
55
+ "Observability": {
56
+ "Enable": true,
57
+ "ServerOtel": "http://127.0.0.1:4317",
58
+ "Trace": {
59
+ "Enable": true,
60
+ "AspNetCore": true,
61
+ "GrpcClient": false,
62
+ "SqlClient": false,
63
+ "CodeDesignPlusSdk": true,
64
+ "Redis": true,
65
+ "Kafka": false
66
+ },
67
+ "Metrics": {
68
+ "Enable": true,
69
+ "AspNetCore": true
70
+ }
71
+ },
72
+ "Vault": {
73
+ "Enable": true,
74
+ "Address": "http://127.0.0.1:8200",
75
+ "AppName": "ms-archetype",
76
+ "Solution": "archetype",
77
+ "Token": "root",
78
+ "Mongo": {
79
+ "Enable": true,
80
+ "TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
81
+ },
82
+ "RabbitMQ": {
83
+ "Enable": true
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,35 @@
1
+ <Project Sdk="Microsoft.NET.Sdk.Web">
2
+ <PropertyGroup>
3
+ <TargetFramework>net9.0</TargetFramework>
4
+ <Nullable>enable</Nullable>
5
+ <ImplicitUsings>enable</ImplicitUsings>
6
+ </PropertyGroup>
7
+ <ItemGroup Label="Protos">
8
+ <Protobuf Include="Protos\orders.proto" GrpcServices="Server" />
9
+ </ItemGroup>
10
+ <ItemGroup>
11
+ <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.5.0-beta.60" />
12
+ <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.5.0-beta.60" />
13
+ <PackageReference Include="Grpc.AspNetCore" Version="2.67.0" />
14
+ <PackageReference Include="Grpc.AspNetCore.Server.Reflection" Version="2.67.0" />
15
+ <PackageReference Include="Grpc.Tools" Version="2.68.1">
16
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
17
+ <PrivateAssets>all</PrivateAssets>
18
+ </PackageReference>
19
+ </ItemGroup>
20
+ <ItemGroup>
21
+ <SonarQubeSetting Include="sonar.coverage.exclusions">
22
+ <Value>**/Program.cs</Value>
23
+ </SonarQubeSetting>
24
+ </ItemGroup>
25
+ <ItemGroup>
26
+ <ProjectReference Include="..\..\domain\CodeDesignPlus.Net.Microservice.Infrastructure\CodeDesignPlus.Net.Microservice.Infrastructure.csproj" />
27
+ <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.5.0-beta.60" />
28
+ <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.5.0-beta.60" />
29
+ <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.5.0-beta.60" />
30
+ <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.5.0-beta.60" />
31
+ <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.5.0-beta.60" />
32
+ <PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.5.0-beta.60" />
33
+ <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.5.0-beta.60" />
34
+ </ItemGroup>
35
+ </Project>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <ActiveDebugProfile>http</ActiveDebugProfile>
5
+ </PropertyGroup>
6
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
7
+ <DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
8
+ </PropertyGroup>
9
+ </Project>
@@ -0,0 +1,13 @@
1
+ namespace CodeDesignPlus.Net.Microservice.gRpc.Core.Mapster;
2
+
3
+ public static class MapsterConfig
4
+ {
5
+ public static void Configure()
6
+ {
7
+ TypeAdapterConfig<Net.Core.Abstractions.Models.Criteria.Criteria, Net.Core.Abstractions.Models.Criteria.Criteria>.NewConfig().TwoWays();
8
+ TypeAdapterConfig<OrderDto, Order>.NewConfig().TwoWays();
9
+
10
+ TypeAdapterConfig<ClientDto, Client>.NewConfig().TwoWays();
11
+ TypeAdapterConfig<ProductDto, Product>.NewConfig().TwoWays();
12
+ }
13
+ }
@@ -0,0 +1,61 @@
1
+ using CodeDesignPlus.Net.Logger.Extensions;
2
+ using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.gRpc.Interceptors;
3
+ using CodeDesignPlus.Net.Microservice.Commons.FluentValidation;
4
+ using CodeDesignPlus.Net.Microservice.Commons.MediatR;
5
+ using CodeDesignPlus.Net.Microservice.gRpc.Services;
6
+ using CodeDesignPlus.Net.Mongo.Extensions;
7
+ using CodeDesignPlus.Net.Observability.Extensions;
8
+ using CodeDesignPlus.Net.RabbitMQ.Extensions;
9
+ using CodeDesignPlus.Net.Redis.Cache.Extensions;
10
+ using CodeDesignPlus.Net.Redis.Extensions;
11
+ using CodeDesignPlus.Net.Security.Extensions;
12
+ using CodeDesignPlus.Net.Vault.Extensions;
13
+
14
+ var builder = WebApplication.CreateBuilder(args);
15
+
16
+ Serilog.Debugging.SelfLog.Enable(Console.Error);
17
+
18
+ builder.Host.UseSerilog();
19
+
20
+ builder.Configuration.AddVault();
21
+
22
+ // Add services to the container.
23
+ builder.Services.AddGrpc(options =>
24
+ {
25
+ options.Interceptors.Add<ErrorInterceptor>();
26
+ });
27
+ builder.Services.AddGrpcReflection();
28
+
29
+ builder.Services.AddVault(builder.Configuration);
30
+ builder.Services.AddMapster();
31
+ builder.Services.AddMediatR<CodeDesignPlus.Net.Microservice.Application.Startup>();
32
+ builder.Services.AddFluentValidation();
33
+
34
+ builder.Services.AddMongo<CodeDesignPlus.Net.Microservice.Infrastructure.Startup>(builder.Configuration);
35
+ builder.Services.AddRedis(builder.Configuration);
36
+ builder.Services.AddRabbitMQ<CodeDesignPlus.Net.Microservice.Domain.Startup>(builder.Configuration);
37
+ builder.Services.AddSecurity(builder.Configuration);
38
+ builder.Services.AddObservability(builder.Configuration, builder.Environment);
39
+ builder.Services.AddLogger(builder.Configuration);
40
+ builder.Services.AddCache(builder.Configuration);
41
+
42
+ var app = builder.Build();
43
+
44
+ app.UseAuth();
45
+
46
+ // Configure the HTTP request pipeline.
47
+ app.MapGrpcService<OrdersService>().RequireAuthorization();
48
+
49
+ if (app.Environment.IsDevelopment())
50
+ {
51
+ app.MapGrpcReflectionService();
52
+ }
53
+
54
+ app.MapGet("/", () => "Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909");
55
+
56
+ await app.RunAsync();
57
+
58
+ public partial class Program
59
+ {
60
+ protected Program() { }
61
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json.schemastore.org/launchsettings.json",
3
+ "profiles": {
4
+ "http": {
5
+ "commandName": "Project",
6
+ "dotnetRunMessages": true,
7
+ "launchBrowser": false,
8
+ "applicationUrl": "http://localhost:5103",
9
+ "environmentVariables": {
10
+ "ASPNETCORE_ENVIRONMENT": "Development"
11
+ }
12
+ },
13
+ "https": {
14
+ "commandName": "Project",
15
+ "dotnetRunMessages": true,
16
+ "launchBrowser": false,
17
+ "applicationUrl": "https://localhost:7263;http://localhost:5103",
18
+ "environmentVariables": {
19
+ "ASPNETCORE_ENVIRONMENT": "Development"
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,66 @@
1
+ syntax = "proto3";
2
+
3
+
4
+ import "google/protobuf/wrappers.proto";
5
+ import "google/protobuf/empty.proto";
6
+
7
+ option csharp_namespace = "CodeDesignPlus.Net.Microservice.gRpc";
8
+
9
+ package orders;
10
+
11
+ enum OrderType {
12
+ NoneOrder = 0;
13
+ Asc = 1;
14
+ Desc = 2;
15
+ }
16
+
17
+ enum OrderStatus
18
+ {
19
+ NoneStatus = 0;
20
+ Created = 1;
21
+ Pending = 2;
22
+ Completed = 3;
23
+ Cancelled= 4;
24
+ }
25
+
26
+ // The orders service definition.
27
+ service Orders {
28
+ rpc GetOrder (stream GetOrderRequest) returns (stream GetOrderResponse);
29
+ }
30
+
31
+ message GetOrderRequest {
32
+ string Id = 1;
33
+ }
34
+
35
+ // Types to response
36
+ message GetOrderResponse {
37
+ Order Order = 1;
38
+ }
39
+
40
+ message Order {
41
+ string id = 1;
42
+ google.protobuf.Int64Value completed_at = 2;
43
+ google.protobuf.Int64Value cancelled_at = 3;
44
+ Client client = 4;
45
+ repeated Product products = 5;
46
+ OrderStatus status = 6;
47
+ google.protobuf.StringValue reason_for_cancellation = 7;
48
+ int64 created_at = 8;
49
+ string created_by = 9;
50
+ int64 updated_at = 10;
51
+ string updated_by = 11;
52
+ bool is_active = 12;
53
+ }
54
+
55
+ message Client {
56
+ string id = 1;
57
+ string name = 2;
58
+ }
59
+
60
+ message Product {
61
+ string id = 1;
62
+ string name = 2;
63
+ google.protobuf.StringValue description = 3;
64
+ double price = 4;
65
+ int32 quantity = 5;
66
+ }
@@ -0,0 +1,29 @@
1
+
2
+ namespace CodeDesignPlus.Net.Microservice.gRpc.Services;
3
+
4
+ public class OrdersService(IMediator mediator, IMapper mapper) : Orders.OrdersBase
5
+ {
6
+ public override async Task GetOrder(IAsyncStreamReader<GetOrderRequest> requestStream, IServerStreamWriter<GetOrderResponse> responseStream, ServerCallContext context)
7
+ {
8
+ await foreach (var request in requestStream.ReadAllAsync())
9
+ {
10
+ if (Guid.TryParse(request.Id, out Guid id))
11
+ {
12
+ var result = await mediator.Send(new FindOrderByIdQuery(id), context.CancellationToken);
13
+
14
+ var response = new GetOrderResponse()
15
+ {
16
+ Order = mapper.Map<OrderDto, Order>(result)
17
+ };
18
+
19
+ response.Order.Products.AddRange(result.Products.Select(x => mapper.Map<ProductDto, Product>(x)));
20
+
21
+ await responseStream.WriteAsync(response);
22
+ }
23
+ else
24
+ {
25
+ throw new RpcException(new Status(StatusCode.InvalidArgument, "Invalid Id"));
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,12 @@
1
+ global using CodeDesignPlus.Net.Exceptions;
2
+ global using FluentValidation;
3
+ global using Grpc.Core;
4
+ global using Mapster;
5
+ global using MapsterMapper;
6
+ global using MediatR;
7
+ global using CodeDesignPlus.Net.Exceptions.Models;
8
+ global using Grpc.Core.Interceptors;
9
+ global using CodeDesignPlus.Net.Serializers;
10
+
11
+ global using CodeDesignPlus.Net.Microservice.Application.Order.DataTransferObjects;
12
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Queries.FindOrderById;
@@ -0,0 +1,92 @@
1
+ {
2
+ "Kestrel": {
3
+ "Endpoints": {
4
+ "Http": {
5
+ "Url": "http://*:5000"
6
+ },
7
+ "Http2": {
8
+ "Url": "http://*:5001",
9
+ "Protocols": "Http2"
10
+ }
11
+ }
12
+ },
13
+ "Core": {
14
+ "AppName": "ms-archetype",
15
+ "Version": "v1",
16
+ "Description": "Microservice Archetype Template",
17
+ "Business": "CodeDesignPlus",
18
+ "Contact": {
19
+ "Name": "CodeDesignPlus",
20
+ "Email": "codedesignplus@outlook.com"
21
+ }
22
+ },
23
+ "Security": {
24
+ "Authority": "https://codedesignplus.b2clogin.com/codedesignplus.onmicrosoft.com/B2C_1_CodeDeseignPlus/oauth2/v2.0/",
25
+ "IncludeErrorDetails": true,
26
+ "ValidateAudience": true,
27
+ "ValidateIssuer": true,
28
+ "ValidateLifetime": true,
29
+ "RequireHttpsMetadata": true,
30
+ "ValidIssuer": "https://codedesignplus.b2clogin.com/3461e311-a66e-46ab-afdf-2bbfb72a5cb0/v2.0/",
31
+ "ValidAudiences": [],
32
+ "Applications": []
33
+ },
34
+ "Redis": {
35
+ "Instances": {
36
+ "Core": {
37
+ "ConnectionString": "localhost:6379"
38
+ }
39
+ }
40
+ },
41
+ "RedisCache": {
42
+ "Enable": true,
43
+ "Expiration": "00:05:00"
44
+ },
45
+ "RabbitMQ": {
46
+ "Enable": true,
47
+ "Host": "localhost",
48
+ "Port": 5672,
49
+ "UserName": "admin",
50
+ "Password": "password",
51
+ "EnableDiagnostic": true
52
+ },
53
+ "Mongo": {
54
+ "Enable": true,
55
+ "ConnectionString": "mongodb://localhost:27017",
56
+ "Database": "db-ms-archetype",
57
+ "Diagnostic": {
58
+ "Enable": true,
59
+ "EnableCommandText": true
60
+ }
61
+ },
62
+ "Logger": {
63
+ "Enable": true,
64
+ "OTelEndpoint": "http://127.0.0.1:4317"
65
+ },
66
+ "Observability": {
67
+ "Enable": true,
68
+ "ServerOtel": "http://127.0.0.1:4317",
69
+ "Trace": {
70
+ "Enable": true,
71
+ "AspNetCore": true,
72
+ "GrpcClient": false,
73
+ "SqlClient": false,
74
+ "CodeDesignPlusSdk": true,
75
+ "Redis": true,
76
+ "Kafka": false
77
+ },
78
+ "Metrics": {
79
+ "Enable": true,
80
+ "AspNetCore": true
81
+ }
82
+ },
83
+ "Vault": {
84
+ "Address": "http://127.0.0.1:8200",
85
+ "AppName": "ms-archetype",
86
+ "Solution": "archetype",
87
+ "Token": "root",
88
+ "Mongo": {
89
+ "TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,35 @@
1
+ <Project Sdk="Microsoft.NET.Sdk">
2
+ <PropertyGroup>
3
+ <TargetFramework>net9.0</TargetFramework>
4
+ <ImplicitUsings>enable</ImplicitUsings>
5
+ <Nullable>enable</Nullable>
6
+ <IsPackable>false</IsPackable>
7
+ <IsTestProject>true</IsTestProject>
8
+ </PropertyGroup>
9
+ <ItemGroup>
10
+ <PackageReference Include="coverlet.collector" Version="6.0.3">
11
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12
+ <PrivateAssets>all</PrivateAssets>
13
+ </PackageReference>
14
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.5.0-beta.60" />
15
+ <PackageReference Include="Ductus.FluentDocker.XUnit" Version="2.10.59" />
16
+ <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.0" />
17
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
18
+ <PackageReference Include="xunit" Version="2.9.2" />
19
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
20
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
21
+ <PrivateAssets>all</PrivateAssets>
22
+ </PackageReference>
23
+ </ItemGroup>
24
+ <ItemGroup>
25
+ <Content Update="xunit.runner.json">
26
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
27
+ </Content>
28
+ </ItemGroup>
29
+ <ItemGroup>
30
+ <ProjectReference Include="..\..\..\src\entrypoints\CodeDesignPlus.Net.Microservice.AsyncWorker\CodeDesignPlus.Net.Microservice.AsyncWorker.csproj" />
31
+ </ItemGroup>
32
+ <ItemGroup>
33
+ <Folder Include="Consumers\" />
34
+ </ItemGroup>
35
+ </Project>
@@ -0,0 +1,12 @@
1
+ {
2
+ "profiles": {
3
+ "CodeDesignPlus.Net.Microservice.AsyncWorker.Test": {
4
+ "commandName": "Project",
5
+ "launchBrowser": true,
6
+ "environmentVariables": {
7
+ "ASPNETCORE_ENVIRONMENT": "Development"
8
+ },
9
+ "applicationUrl": "https://localhost:54662;http://localhost:54663"
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ global using System;
2
+ global using CodeDesignPlus.Net.xUnit.Microservice.Server;
3
+ global using CodeDesignPlus.Net.PubSub.Abstractions;
4
+ global using Microsoft.Extensions.DependencyInjection;
5
+ global using Xunit;
6
+ global using CodeDesignPlus.Net.Serializers;
7
+
8
+ global using CodeDesignPlus.Net.Microservice.Domain.DomainEvents;