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,15 @@
1
+ global using Mapster;
2
+ global using MapsterMapper;
3
+ global using MediatR;
4
+ global using Moq;
5
+ global using System;
6
+ global using System.Threading;
7
+ global using System.Threading.Tasks;
8
+ global using Xunit;
9
+ global using Grpc.Core;
10
+ global using CodeDesignPlus.Net.Microservice.gRpc.Services;
11
+ global using Grpc.Core.Testing;
12
+ global using CodeDesignPlus.Net.Serializers;
13
+
14
+ global using CodeDesignPlus.Net.Microservice.Application.Order.DataTransferObjects;
15
+ global using CodeDesignPlus.Net.Microservice.Application.Order.Queries.FindOrderById;
@@ -0,0 +1,6 @@
1
+ sudo apt-get install dos2unix
2
+
3
+ dos2unix ./sonarqube/sonar.sh
4
+ dos2unix ./update-packages/update-packages.sh
5
+ dos2unix ./upgrade-assistant/upgrade-assistant.sh
6
+ dos2unix ./vault/config-vault.sh
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env pwsh
2
+ #echo "Install dotnet-sonarscanner ----------------------------------------------------------------------------------------------------------------------"
3
+ #dotnet tool install --global dotnet-sonarscanner
4
+
5
+ Write-Host "Start Sonarscanner -------------------------------------------------------------------------------------------------------------------------------"
6
+
7
+ $org = "codedesignplus"
8
+ $key = "CodeDesignPlus.Net.Microservice"
9
+ $csproj = "CodeDesignPlus.Net.Microservice.sln"
10
+ $report = "tests/**/coverage.opencover.xml"
11
+ $server = "http://localhost:9000"
12
+ $token = "sqa_12f3d20d51de2b4c9639db0035d1c68dc4f2fff1"
13
+
14
+ cd ..
15
+ dotnet test $csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
16
+ dotnet sonarscanner begin /o:$org /k:$key /d:sonar.host.url=$server /d:sonar.coverage.exclusions="**Tests*.cs,**/tests/load/*.js" /d:sonar.cs.opencover.reportsPaths=$report /d:sonar.login=$token
17
+ dotnet build
18
+ dotnet sonarscanner end /d:sonar.login=$token
@@ -0,0 +1,18 @@
1
+ #!/bin/sh
2
+ #echo "Install dotnet-sonarscanner ----------------------------------------------------------------------------------------------------------------------"
3
+ #dotnet tool install --global dotnet-sonarscanner
4
+
5
+ echo "Start Sonarscanner -------------------------------------------------------------------------------------------------------------------------------"
6
+
7
+ org=codedesignplus
8
+ key=CodeDesignPlus.Net.Microservice
9
+ csproj=CodeDesignPlus.Net.Microservice.sln
10
+ report=tests/**/coverage.opencover.xml
11
+ server=http://localhost:9000
12
+ token="sqa_12f3d20d51de2b4c9639db0035d1c68dc4f2fff1"
13
+
14
+ cd ..
15
+ dotnet test $csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
16
+ dotnet sonarscanner begin /o:$org /k:$key /d:sonar.host.url=$server /d:sonar.coverage.exclusions="**Tests*.cs" /d:sonar.cs.opencover.reportsPaths=$report /d:sonar.login=$token
17
+ dotnet build
18
+ dotnet sonarscanner end /d:sonar.login=$token
@@ -0,0 +1,10 @@
1
+ dotnet tool install --global dotnet-outdated-tool
2
+
3
+ $proyectos = Get-ChildItem -Path "./../../" -Recurse -Filter "*.csproj"
4
+
5
+ foreach ($proyecto in $proyectos)
6
+ {
7
+ Write-Host "Update Package $($proyecto.Name)" -ForegroundColor Green
8
+
9
+ dotnet outdated -u $proyecto.FullName
10
+ }
@@ -0,0 +1,11 @@
1
+ #!/bin/bash
2
+
3
+ dotnet tool install --global dotnet-outdated-tool
4
+
5
+ proyectos=$(find ./../../ -name "*.csproj")
6
+
7
+ for proyecto in $proyectos
8
+ do
9
+ echo -e "\e[32mUpdate Package $(basename $proyecto)\e[0m"
10
+ dotnet outdated -u $proyecto
11
+ done
@@ -0,0 +1,10 @@
1
+ dotnet tool install -g upgrade-assistant
2
+
3
+ $proyectos = Get-ChildItem -Path "./../../" -Recurse -Filter "*.csproj"
4
+
5
+ foreach ($proyecto in $proyectos)
6
+ {
7
+ Write-Host "Update $($proyecto.FullName)" -ForegroundColor Green
8
+
9
+ upgrade-assistant upgrade --operation Inplace --targetFramework net9.0 --non-interactive $proyecto.FullName
10
+ }
@@ -0,0 +1,11 @@
1
+ #!/bin/bash
2
+
3
+ dotnet tool install -g upgrade-assistant
4
+
5
+ proyectos=$(find ./../../ -name "*.csproj")
6
+
7
+ for proyecto in $proyectos
8
+ do
9
+ echo -e "\e[32mUpdate $proyecto\e[0m"
10
+ upgrade-assistant upgrade --operation Inplace --targetFramework net9.0 --non-interactive $proyecto
11
+ done
@@ -0,0 +1,178 @@
1
+ $newlines = "`n"
2
+
3
+ # --- ASCII Art for CodeDesignPlus ---
4
+ $asciiArt = @"
5
+ ___ _ ___ _ ___ _
6
+ / __\___ __| | ___ / \___ ___(_) __ _ _ __ / _ \ |_ _ ___
7
+ / / / _ \ / _` |/ _ \ / /\ / _ \/ __| |/ _` | '_ \ / /_)/ | | | / __|
8
+ / /__| (_) | (_| | __// /_// __/\__ \ | (_| | | | / ___/| | |_| \__ \
9
+ \____/\___/ \__,_|\___/___,' \___||___/_|\__, |_| |_\/ |_|\__,_|___/
10
+ |___/
11
+ "@
12
+ Write-Host $asciiArt
13
+
14
+ # Set Vault Address
15
+ $env:VAULT_ADDR = "http://localhost:8200"
16
+
17
+ # Vault Login
18
+ Write-Host "-Logging in to Vault..." -ForegroundColor Blue
19
+ vault login token=root
20
+
21
+ # --- 1. Enabling Auth Methods ---
22
+ Write-Host $newlines
23
+ Write-Host "1. Enabling auth methods..." -ForegroundColor Blue
24
+ if (vault auth list | Select-String -Pattern 'approle/' -Quiet) {
25
+ Write-Host " - The method of authentication 'approle' already exists."
26
+ }
27
+ else {
28
+ Write-Host " - Enabling the method of authentication 'approle'..."
29
+ vault auth enable approle
30
+ }
31
+
32
+ # --- 2. Enabling Secret Engines ---
33
+ Write-Host $newlines
34
+ Write-Host "2. Enabling secrets engines..." -ForegroundColor Blue
35
+
36
+ if (vault secrets list | Select-String -Pattern 'vault-keyvalue/' -Quiet) {
37
+ Write-Host " - The secrets engine 'kv-v2' already exists in 'vault-keyvalue/'."
38
+ }
39
+ else {
40
+ Write-Host " - Enabling the secrets engine 'kv-v2' in 'vault-keyvalue/'..."
41
+ vault secrets enable -path=vault-keyvalue kv-v2
42
+ }
43
+
44
+ if (vault secrets list | Select-String -Pattern 'vault-database/' -Quiet) {
45
+ Write-Host " - The secrets engine 'database' already exists in 'vault-database/'."
46
+ }
47
+ else {
48
+ Write-Host " - Enabling the secrets engine 'database' in 'vault-database/'..."
49
+ vault secrets enable -path=vault-database database
50
+ }
51
+
52
+ if (vault secrets list | Select-String -Pattern 'vault-rabbitmq/' -Quiet) {
53
+ Write-Host " - The secrets engine 'rabbitmq' already exists in 'vault-rabbitmq/'."
54
+ }
55
+ else {
56
+ Write-Host " - Enabling the secrets engine 'rabbitmq' in 'vault-rabbitmq/'..."
57
+ vault secrets enable -path=vault-rabbitmq rabbitmq
58
+ }
59
+
60
+ if (vault secrets list | Select-String -Pattern 'vault-transit/' -Quiet) {
61
+ Write-Host " - The secrets engine 'transit' already exists in 'vault-transit/'."
62
+ }
63
+ else {
64
+ Write-Host " - Enabling the secrets engine 'transit' in 'vault-transit/'..."
65
+ vault secrets enable -path=vault-transit transit
66
+ }
67
+
68
+ # --- 3. Applying Policies ---
69
+ Write-Host $newlines
70
+ Write-Host "3. Applying policies..." -ForegroundColor Blue
71
+ $policyName = "full-access"
72
+ vault policy read $policyName
73
+ if ($?) {
74
+ Write-Host " - The policy '$policyName' already exists."
75
+ }
76
+ else {
77
+ Write-Host " - Creating policy '$policyName'..."
78
+ $policyContent = @"
79
+ path "*" {
80
+ capabilities = ["create", "read", "update", "delete", "list"]
81
+ }
82
+ "@
83
+ $policyContent | vault policy write $policyName -
84
+ }
85
+
86
+ # --- 4. Creating Roles ---
87
+ Write-Host $newlines
88
+ Write-Host "4. Creating roles..." -ForegroundColor Blue
89
+ $roleName = "vault-approle"
90
+ vault read auth/approle/role/$roleName
91
+ if ($?) {
92
+ Write-Host " - The AppRole '$roleName' already exists."
93
+ }
94
+ else {
95
+ Write-Host " - Creating AppRole '$roleName'..."
96
+ vault write auth/approle/role/$roleName policies="full-access"
97
+ }
98
+
99
+ # Get role_id
100
+ $role_id_output = vault read auth/approle/role/vault-approle/role-id
101
+ $role_id_match = $role_id_output | Select-String -Pattern 'role_id\s+([\w-]+)'
102
+ if ($role_id_match) {
103
+ $role_id = $role_id_match.Matches[0].Groups[1].Value
104
+ }
105
+ else {
106
+ Write-Error "Error: Could not find role_id"
107
+ exit 1
108
+ }
109
+
110
+ # Get secret_id
111
+ $secret_id_output = vault write -f auth/approle/role/vault-approle/secret-id
112
+ $secret_id_match = $secret_id_output | Select-String -Pattern 'secret_id\s+([\w-]+)'
113
+ if ($secret_id_match) {
114
+ $secret_id = $secret_id_match.Matches[0].Groups[1].Value
115
+ }
116
+ else {
117
+ Write-Error "Error: Could not find secret_id"
118
+ exit 1
119
+ }
120
+
121
+ if (-not $role_id -or -not $secret_id) {
122
+ Write-Error "Error: Not found role_id or secret_id"
123
+ exit 1
124
+ }
125
+
126
+ Write-Host " Role ID: $role_id"
127
+ Write-Host " Secret ID: $secret_id"
128
+
129
+ # --- 5. Login with approle ---
130
+ Write-Host $newlines
131
+ Write-Host "5. Login with approle..." -ForegroundColor Blue
132
+ vault write auth/approle/login role_id=$role_id secret_id=$secret_id
133
+
134
+ # --- 6. Writing secrets ---
135
+ Write-Host $newlines
136
+ Write-Host "6. Writing secrets..." -ForegroundColor Blue
137
+ vault kv put -mount=vault-keyvalue ms-archetype `
138
+ Security:ClientId=a74cb192-598c-4757-95ae-b315793bbbca `
139
+ Security:ValidAudiences:0=a74cb192-598c-4757-95ae-b315793bbbca `
140
+ Security:ValidAudiences:1=api://a74cb192-598c-4757-95ae-b315793bbbca `
141
+ Redis:Instances:Core:ConnectionString=localhost:6379
142
+
143
+ vault kv get -mount=vault-keyvalue ms-archetype
144
+
145
+ # --- 7. Writing database configuration ---
146
+ Write-Host $newlines
147
+ Write-Host "7. Writing database configuration..." -ForegroundColor Blue
148
+ vault write vault-database/config/db-ms-archetype `
149
+ plugin_name=mongodb-database-plugin `
150
+ allowed_roles="ms-archetype-mongo-role" `
151
+ connection_url="mongodb://{{username}}:{{password}}@mongo:27017/admin?ssl=false" `
152
+ username="admin" `
153
+ password="password"
154
+
155
+ vault write vault-database/roles/ms-archetype-mongo-role `
156
+ db_name=db-ms-archetype `
157
+ creation_statements="{ \""db\"": \""admin\"", \""roles\"": [{ \""role\"": \""readWrite\"", \""db\"": \""db-ms-archetype\"" }] }" `
158
+ default_ttl="1h" `
159
+ max_ttl="24h"
160
+
161
+ vault read vault-database/creds/ms-archetype-mongo-role
162
+
163
+ # --- 8. Writing rabbitmq configuration ---
164
+ Write-Host $newlines
165
+ Write-Host "8. Writing rabbitmq configuration..." -ForegroundColor Blue
166
+
167
+ Write-Host "Waiting for RabbitMQ to start..."
168
+ Start-Sleep -Seconds 12
169
+
170
+ vault write vault-rabbitmq/config/connection `
171
+ connection_uri="http://rabbitmq:15672" `
172
+ username="admin" `
173
+ password="password"
174
+
175
+ vault write vault-rabbitmq/roles/ms-archetype-rabbitmq-role `
176
+ vhosts="{\""/\"":{\""write\"": \"".*\"", \""read\"": \"".*\"", \""configure\"": \"".*\""}}"
177
+
178
+ vault read vault-rabbitmq/creds/ms-archetype-rabbitmq-role
@@ -0,0 +1,152 @@
1
+ #!/bin/bash
2
+
3
+ # Define colors
4
+ BLUE='\033[0;34m'
5
+ NC='\033[0m' # No color
6
+
7
+ # ASCII Art for CodeDesignPlus
8
+ ascii_art=$(cat <<'EOF'
9
+ ___ _ ___ _ ___ _
10
+ / __\___ __| | ___ / \___ ___(_) __ _ _ __ / _ \ |_ _ ___
11
+ / / / _ \ / _` |/ _ \ / /\ / _ \/ __| |/ _` | '_ \ / /_)/ | | | / __|
12
+ / /__| (_) | (_| | __// /_// __/\__ \ | (_| | | | / ___/| | |_| \__ \
13
+ \____/\___/ \__,_|\___/___,' \___||___/_|\__, |_| |_\/ |_|\__,_|___/
14
+ |___/
15
+ EOF
16
+ )
17
+ echo "$ascii_art"
18
+
19
+ # Your Vault Address and Login
20
+ export VAULT_ADDR="http://localhost:8200"
21
+ echo "${BLUE}-Logging in to Vault...${NC}"
22
+ vault login token=root
23
+
24
+ newlines=$'\n'
25
+
26
+ # Enable AppRole
27
+ echo "$newlines"
28
+ echo "${BLUE}1. Enabling auth methods...${NC}"
29
+ if vault auth list | grep -q 'approle/'; then
30
+ echo " - The method of authentication 'approle' already exists."
31
+ else
32
+ echo " - Enabling the method of authentication 'approle'..."
33
+ vault auth enable approle
34
+ fi
35
+
36
+ # Enable Secret, database and rabbtimq
37
+ echo "$newlines"
38
+ echo "${BLUE}2. Enabling secrets engines...${NC}"
39
+ if vault secrets list | grep -q 'vault-keyvalue/'; then
40
+ echo " - The secrets engine 'kv-v2' already exists in 'vault-keyvalue/'."
41
+ else
42
+ echo " - Enabling the secrets engine 'kv-v2' in 'vault-keyvalue/'..."
43
+ vault secrets enable -path=vault-keyvalue kv-v2
44
+ fi
45
+
46
+ if vault secrets list | grep -q 'vault-database/'; then
47
+ echo " - The secrets engine 'database' already exists in 'vault-database/'."
48
+ else
49
+ echo " - Enabling the secrets engine 'database' in 'vault-database/'..."
50
+ vault secrets enable -path=vault-database database
51
+ fi
52
+
53
+ if vault secrets list | grep -q 'vault-rabbitmq/'; then
54
+ echo " - The secrets engine 'rabbitmq' already exists in 'vault-rabbitmq/'."
55
+ else
56
+ echo " - Enabling the secrets engine 'rabbitmq' in 'vault-rabbitmq/'..."
57
+ vault secrets enable -path=vault-rabbitmq rabbitmq
58
+ fi
59
+
60
+ if vault secrets list | grep -q 'vault-transit/'; then
61
+ echo " - The secrets engine 'transit' already exists in 'vault-transit/'."
62
+ else
63
+ echo " - Enabling the secrets engine 'transit' in 'vault-transit/'..."
64
+ vault secrets enable -path=vault-transit transit
65
+ fi
66
+
67
+ # Create policies
68
+ echo "$newlines"
69
+ policy_name="full-access"
70
+ if vault policy read $policy_name > /dev/null 2>&1; then
71
+ echo "${BLUE}3. The policy '$policy_name' already exists.${NC}"
72
+ else
73
+ echo "${BLUE}3. Creating policy '$policy_name'...${NC}"
74
+ vault policy write $policy_name - <<EOF
75
+ path "*" {
76
+ capabilities = ["create", "read", "update", "delete", "list"]
77
+ }
78
+ EOF
79
+ fi
80
+
81
+ # Create roles
82
+ echo "$newlines"
83
+ role_name="vault-approle"
84
+ if vault read auth/approle/role/$role_name > /dev/null 2>&1; then
85
+ echo "${BLUE}4. The AppRole '$role_name' already exists.${NC}"
86
+ else
87
+ echo "${BLUE}4. Creating AppRole '$role_name'...${NC}"
88
+ vault write auth/approle/role/$role_name policies="full-access"
89
+ fi
90
+
91
+ # Get Role ID and Secret ID, etc...
92
+ role_id=$(vault read auth/approle/role/vault-approle/role-id | grep 'role_id' | awk '{print $2}')
93
+
94
+ secret_id=$(vault write -f auth/approle/role/vault-approle/secret-id | grep 'secret_id ' | awk '{print $2}')
95
+
96
+ if [ -z "$role_id" ] || [ -z "$secret_id" ]; then
97
+ echo "Error: Not found role_id or secret_id"
98
+ exit 1
99
+ fi
100
+
101
+ echo " Role ID: $role_id"
102
+ echo " Secret ID: $secret_id"
103
+
104
+ # Login with approle
105
+ echo "$newlines"
106
+ echo "${BLUE}5. Login with approle...${NC}"
107
+ vault write auth/approle/login role_id=$role_id secret_id=$secret_id
108
+
109
+ # Write secrets, db config, rabbitmq config
110
+ echo "$newlines"
111
+ echo "${BLUE}6. Writing secrets...${NC}"
112
+ vault kv put -mount=vault-keyvalue ms-archetype \
113
+ Security:ClientId=a74cb192-598c-4757-95ae-b315793bbbca \
114
+ Security:ValidAudiences:0=a74cb192-598c-4757-95ae-b315793bbbca \
115
+ Security:ValidAudiences:1=api://a74cb192-598c-4757-95ae-b315793bbbca \
116
+ Redis:Instances:Core:ConnectionString=localhost:6379
117
+
118
+ vault kv get -mount=vault-keyvalue ms-archetype
119
+
120
+ # Write database configuration
121
+ echo "$newlines"
122
+ echo "${BLUE}7. Writing database configuration...${NC}"
123
+ vault write vault-database/config/db-ms-archetype \
124
+ plugin_name=mongodb-database-plugin \
125
+ allowed_roles="ms-archetype-mongo-role" \
126
+ connection_url="mongodb://{{username}}:{{password}}@mongo:27017/admin?ssl=false" \
127
+ username="admin" \
128
+ password="password"
129
+
130
+ vault write vault-database/roles/ms-archetype-mongo-role \
131
+ db_name=db-ms-archetype \
132
+ creation_statements='{ "db": "admin", "roles": [{ "role": "readWrite", "db": "db-ms-archetype" }] }' \
133
+ default_ttl="1h" \
134
+ max_ttl="24h"
135
+
136
+ vault read vault-database/creds/ms-archetype-mongo-role
137
+
138
+ # Write rabbitmq configuration
139
+ echo "$newlines"
140
+ echo "${BLUE}8. Writing rabbitmq configuration...${NC}"
141
+
142
+ sleep 12
143
+
144
+ vault write vault-rabbitmq/config/connection \
145
+ connection_uri="http://rabbitmq:15672" \
146
+ username="admin" \
147
+ password="password"
148
+
149
+ vault write vault-rabbitmq/roles/ms-archetype-rabbitmq-role \
150
+ vhosts='{"/":{"write": ".*", "read": ".*", "configure": ".*"}}'
151
+
152
+ vault read vault-rabbitmq/creds/ms-archetype-rabbitmq-role
@@ -0,0 +1,9 @@
1
+ namespace CodeDesignPlus.Net.Microservice.Product.Application.Order.DataTransferObjects;
2
+
3
+ public static class MapsterConfig
4
+ {
5
+ public static void Configure()
6
+ {
7
+
8
+ }
9
+ }
@@ -0,0 +1,4 @@
1
+ namespace <%= ns %>;
2
+
3
+ public record <%= name %>(Guid Id) : IRequest<<%= dto %>>;
4
+
@@ -0,0 +1,9 @@
1
+ namespace <%= ns %>;
2
+
3
+ public class <%= handler %>(<%= repository %> repository, IMapper mapper) : IRequestHandler<<%= name %>, <%= dto %>>
4
+ {
5
+ public Task<<%= dto %>> Handle(<%= name %> request, CancellationToken cancellationToken)
6
+ {
7
+ return Task.FromResult<<%= dto %>>(default!);
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ namespace <%= ns %>;
2
+
3
+ public interface <%= name %> : IRepositoryBase
4
+ {
5
+
6
+ }
@@ -0,0 +1,7 @@
1
+ namespace <%= ns %>;
2
+
3
+ public class <%= name %>(IServiceProvider serviceProvider, IOptions<MongoOptions> mongoOptions, ILogger<<%= name %>> logger)
4
+ : RepositoryBase(serviceProvider, mongoOptions, logger), <%= interface %>
5
+ {
6
+
7
+ }
@@ -0,0 +1,23 @@
1
+ namespace <%= ns %>;
2
+
3
+ public sealed partial class <%= name %>
4
+ {
5
+ [GeneratedRegex(@"^0x[0-9]{32}$")]
6
+ private static partial Regex Regex();
7
+
8
+ public string Value { get; private set; }
9
+
10
+ private <%= name %>(string value)
11
+ {
12
+ DomainGuard.IsNullOrEmpty(value, Errors.UnknownError);
13
+
14
+ DomainGuard.IsFalse(Regex().IsMatch(value), Errors.UnknownError);
15
+
16
+ this.Value = value;
17
+ }
18
+
19
+ public static <%= name %> Create(string value)
20
+ {
21
+ return new <%= name %>(value);
22
+ }
23
+ }
@@ -0,0 +1,19 @@
1
+ import { toPascalCase, BaseModel } from "./base.mjs";
2
+
3
+ export class AggregateModel extends BaseModel {
4
+ constructor(aggregate) {
5
+ super();
6
+
7
+ this.sufix = 'Aggregate';
8
+ this.name = this._validate(aggregate, this.sufix);
9
+ this.fullname = `${this.name}${this.sufix}`;
10
+ this.file = `${this.fullname}.cs`;
11
+ }
12
+
13
+ static from(value) {
14
+ if(!value)
15
+ return null;
16
+
17
+ return new AggregateModel(toPascalCase(value));
18
+ }
19
+ }
@@ -0,0 +1,26 @@
1
+ import { toPascalCase, BaseModel } from "./base.mjs";
2
+
3
+ export class AppSettingsModel extends BaseModel {
4
+ constructor(answers) {
5
+ super();
6
+
7
+ this.sufix = '';
8
+ this.appName = `ms-${answers.microservice.toLowerCase()}`;
9
+ this.database = `db-ms-${answers.microservice.toLowerCase()}`;
10
+ this.description = answers.description;
11
+ this.business = answers.organization;
12
+ this.vault = answers.vault;
13
+
14
+ this.contact = {
15
+ name: answers.contactName,
16
+ email: answers.contactEmail.toLowerCase()
17
+ };
18
+ }
19
+
20
+ static from(answers) {
21
+ if(!answers || !answers.contactName || !answers.contactEmail)
22
+ return null;
23
+
24
+ return new AppSettingsModel(answers);
25
+ }
26
+ }
@@ -0,0 +1,24 @@
1
+ export class BaseModel {
2
+ _validate(value, sufix) {
3
+ if (!value)
4
+ throw new Error(`${sufix} name is required`);
5
+
6
+ const suffixRegex = new RegExp(`${sufix}$`, 'i');
7
+
8
+ value = value.replace(suffixRegex, '').trim();
9
+
10
+ value = toPascalCase(value);
11
+
12
+ return value;
13
+ }
14
+ }
15
+
16
+ export function toPascalCase(value) {
17
+ if (!value)
18
+ return value;
19
+
20
+ return value
21
+ .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
22
+ .map((x) => x.charAt(0).toUpperCase() + x.slice(1).toLowerCase())
23
+ .join("");
24
+ }
@@ -0,0 +1,38 @@
1
+ import { toPascalCase, BaseModel } from "./base.mjs";
2
+
3
+ export class CommandModel extends BaseModel {
4
+ constructor(command) {
5
+ super();
6
+
7
+ this.sufix = 'Command';
8
+ this.name = this._validate(command, this.sufix);
9
+ this.fullname = `${this.name}${this.sufix}`;
10
+ this.file = `${this.fullname}.cs`;
11
+ }
12
+
13
+ static from(value) {
14
+ return new CommandModel(toPascalCase(value));
15
+ }
16
+ }
17
+
18
+ export class CommandHandlerModel extends BaseModel {
19
+ constructor(command) {
20
+ super();
21
+
22
+ this.sufix = 'CommandHandler';
23
+ this.name = this._validate(command, this.sufix);
24
+ this.fullname = `${this.name}${this.sufix}`;
25
+ this.command = CommandModel.from(command);
26
+ this.file = `${this.fullname}.cs`;
27
+ }
28
+
29
+ static from(value) {
30
+ if(!value)
31
+ return [];
32
+
33
+ if (typeof value === 'string' && value.includes(','))
34
+ return value.split(',').map(x => new CommandHandlerModel(toPascalCase(x)));
35
+
36
+ return [new CommandHandlerModel(toPascalCase(value))];
37
+ }
38
+ }
@@ -0,0 +1,21 @@
1
+ import { toPascalCase, BaseModel } from "./base.mjs";
2
+
3
+ export class ConsumerModel extends BaseModel {
4
+ constructor(data) {
5
+ super();
6
+
7
+ this.sufix = 'Handler';
8
+ this.name = this._validate(data.consumer, this.sufix);
9
+ this.fullname = `${this.name}${this.sufix}`;
10
+ this.file = `${this.fullname}.cs`;
11
+
12
+ this.aggregate = `${this._validate(toPascalCase(data.aggregate), 'Aggregate')}`;
13
+ this.action = data.action.toLowerCase();
14
+ this.domainEvent = `${this._validate(toPascalCase(this.name), 'DomainEvent')}`;
15
+ this.command = toPascalCase(data.action);
16
+ }
17
+
18
+ static from(data) {
19
+ return new ConsumerModel(data);
20
+ }
21
+ }
@@ -0,0 +1,20 @@
1
+ import { toPascalCase, BaseModel } from "./base.mjs";
2
+
3
+ export class ControllerModel extends BaseModel {
4
+
5
+ constructor(controller) {
6
+ super();
7
+
8
+ this.sufix = 'Controller';
9
+ this.name = this._validate(controller, this.sufix);
10
+ this.fullname = `${this.name}${this.sufix}`;
11
+ this.file = `${this.fullname}.cs`;
12
+ }
13
+
14
+ static from(value) {
15
+ if (!value)
16
+ return null;
17
+
18
+ return new ControllerModel(toPascalCase(value));
19
+ }
20
+ }