Feature/update tenant grpc client#133
Merged
codedesignplus-wliscano merged 6 commits intodevfrom Sep 7, 2025
Merged
Conversation
* fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Dev (#125) * fix: update CI workflow dependencies and improve Docker Compose configurations * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution * Feature/audit (#124) * Rc (#123) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * feat: add soft delete properties to aggregate roots and entities --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Dev (#125) * fix: update CI workflow dependencies and improve Docker Compose configurations * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution * Feature/audit (#124) * Rc (#123) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * feat: add soft delete properties to aggregate roots and entities --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * Dev (#127) * fix: update CI workflow dependencies and improve Docker Compose configurations * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution * Feature/audit (#124) * Rc (#123) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication duri…
* fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Dev (#125) * fix: update CI workflow dependencies and improve Docker Compose configurations * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution * Feature/audit (#124) * Rc (#123) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file * Dev (#122) * fix: update CI workflow dependencies and improve Docker Compose configurations * Rc (#120) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication during the scanning process. - Ensured coverage exclusions and report paths are correctly set for each project. - This change enhances security by requiring a token for SonarQube operations, improving the integrity of the CI/CD pipeline. * feat: update ExceptionMiddlewareTests to improve response handling and validation error messages * Refactor SonarScanner commands to remove sensitive token exposure - Updated project.json and sonar.sh files across multiple packages to remove sonar.token parameter from SonarScanner commands, enhancing security by preventing token leakage. - Modified Dockerfiles in Redis sample projects to upgrade from .NET SDK 8.0 to 9.0, ensuring compatibility with the latest features and improvements. - Added unit tests for Pagination functionality in CodeDesignPlus.Net.Core, covering constructor and factory method behaviors. - Implemented comprehensive unit tests for ApplicationExtensions and MiddlewareExtensions in CodeDesignPlus.Net.Microservice.Commons, ensuring robust application behavior. - Created health check tests for ResourceHealthCheck and HealthChecksExtensions, validating health check endpoints and service registrations. - Developed error handling tests and fake error codes for better error management in the microservice commons. * feat: implement unit tests for RegisterResourcesBackgroundService and add fake controllers for testing * feat: enhance MongoDB serializers and tests with new functionality and improved handling * feat: update RabbitMQ services and tests for improved functionality and error handling * Refactor: Remove MongoDB diagnostics implementation and related tests - Deleted ServiceCollectionExtensions.cs, ActivitySourceService.cs, DiagnosticsActivityEventSubscriber.cs, and Usings.cs files from the Mongo.Diagnostics package. - Removed associated test files including ExceptionTest.cs, ServiceCollectionExtensionsTest.cs, ConfigurationUtil.cs, DataAnnotationUtil.cs, AppSettings.cs, MongoDiagnosticsServiceTest.cs, MongoDiagnosticsOptionsTest.cs, and Usings.cs from the test project. - Cleaned up the project structure by removing unnecessary files and references. - Updated RbacMiddleware and related tests to improve code quality and maintainability. * refactor: remove MongoDB diagnostics options and related code * feat: update SonarQube integration by replacing command options with a script for improved execution and error handling * fix: correct formatting in SonarQube execution command in CI workflow * feat: add SONAR_HOST_URL environment variable for SonarQube execution * fix: update token references in CI workflow for NuGet and SonarQube * refactor: streamline SonarQube execution by consolidating command execution into a single joined command * fix: add missing newline before error handling in SonarQube execution * fix: update SonarQube project reference in project.json and specify Kafka image version in docker-compose.yml * refactor: comment out UseSerilog_SendsLogsToOpenTelemetryAndLoki_Success test for future implementation * fix: enable conditions for SonarQube and package push steps in CI workflow * fix: add default text map propagator for OpenTelemetry tracing * Update package references across multiple projects to latest versions - Updated Microsoft.Extensions.* packages from version 9.0.4 to 9.0.7 in various projects. - Updated Microsoft.NET.Test.Sdk from version 17.13.0 to 17.14.1 in test projects. - Updated xunit.runner.visualstudio from version 3.0.2 to 3.1.1 in test projects. - Updated Ductus.FluentDocker and related packages to newer versions. - Updated StackExchange.Redis from version 2.8.31 to 2.8.41. - Updated Grpc.Net.Client and related packages to newer versions. - Updated Confluent.Kafka from version 2.9.0 to 2.11.0. - Updated MongoDB.Driver from version 3.3.0 to 3.4.0. - Updated OpenTelemetry packages to version 1.12.0. - Updated IdentityServer4 and related packages to newer versions. * fix: update container configurations to use ComposeVersion V2 and simplify container names * fix: enhance CI workflow and SonarQube integration with improved steps and coverage exclusions * fix: update CI workflow dependencies and improve Docker Compose configurations (#119) * chore: remove Snyk security workflow file --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * feat: add soft delete properties to aggregate roots and entities --------- Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: codedesignplus <codedesignplus@outlook.com> Co-authored-by: CodeDesignPlus <73084334+codedesignplus@users.noreply.github.com> Co-authored-by: CodeDesignPlus <codedesignsplus@outlook.com> * Dev (#127) * fix: update CI workflow dependencies and improve Docker Compose configurations * fix: update connection strings and improve test configurations for SQL Server and gRPC clients * Potential fix for code scanning alert no. 1: Log entries created from user input fix: sanitezedHttpVerb Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: simplify logging of authorization checks by removing unnecessary HTTP verb sanitization * fix: update project description for clarity in README.md * refactor: clean up nx.json and package.json, improve SQL Server password generation, and enhance SonarQube script execution * Feature/audit (#124) * Rc (#123) * fix: update Swagger endpoint path to use relative URL * feat: add configuration callback to StartupAttribute for service setup * chroe: update SonarQube job condition to only run for RC branch * refactor: change Configure property to private readonly field in StartupAttribute * refactor: remove configuration callback from StartupAttribute * refactor: update service configuration handling in Server class * refactor: change service lifetime from Singleton to Scoped in AddFileStorage method * refactor: add default value for Stream type in TypeExtensions * refactor: update Redis image version in docker-compose.yml * refactor: add default value for nullable Guid type in TypeExtensions * refactor: update AzureBlobFactory and AzureFileFactory to return self when not enabled; enhance LocalProvider and FileStorageService tests for better validation * refactor: update Swagger documentation comment for clarity * refactor: add PathBase property to CoreOptions and implement UsePath extension method for IApplicationBuilder * refactor: restore and enhance CI workflow configuration * refactor: restore and enhance CI workflow configuration * refactor: add MinimumLevel configuration to Serilog and enhance LoggerOptions with LogLevel property * feat: add FileUploadOperationFilter to handle file uploads in Swagger UI * refactor: remove FileUploadOperationFilter and its registration from Swagger configuration * feat: add ValidIssuers property to SecurityOptions and update token validation in ServiceCollectionExtensions * fix: update token validation logic to handle multiple valid issuers in ServiceCollectionExtensions * fix: reorder token validation parameters assignment for clarity in ServiceCollectionExtensions * chroe: add missing using directive for IServiceCollection in ExceptionMiddleware * feat: enhance user ID retrieval in UserContext to prioritize 'sub' and 'oid' claims * fix: update claim retrieval logic in UserContext to prioritize ObjectIdentifier and Subject claims * feat: enhance logging configuration and error handling in RabbitMQ services * feat: improve error handling and logging in RabbitPubSubService for event processing * feat: update OrdersData to use Guid for Id and enhance example usage in Program.cs * feat: enhance UserAggregate to include IdCountry and update related usage in Program.cs * feat: enhance observability setup by adding telemetry SDK and environment variable detector * feat: add SecretContexts property to Transit class for key management * feat: add RabbitMQ instrumentation support for tracing in observability * feat: add composite text map propagator for enhanced tracing support * feat: enhance exception middleware to return standardized problem details for validation and application errors * feat: Initialize CodeDesignPlus.Net.gRpc.Clients project with gRPC payment service - Added omnisharp.json for formatting options. - Created project.json to define project structure and targets for restore, build, test, and packaging. - Implemented sonar.sh script for SonarCloud integration. - Developed CodeDesignPlus.Net.gRpc.Clients.Abstractions project with IPayment interface and GrpcClientsOptions class. - Defined payment.proto for gRPC service and messages. - Created GrpcClientsException for error handling. - Implemented ServiceCollectionExtensions for dependency injection of gRPC clients. - Developed PaymentService to handle payment operations. - Added unit tests for PaymentService with xUnit. - Configured project references and dependencies for .NET 9.0. * feat: update project configuration for SonarQube integration and package management * feat: update logo for CodeDesignPlus.Net.gRpc.Clients project * fix: correct spelling of 'amount' in Order message of payment.proto * feat: add IHttpContextAccessor to PaymentService for improved request context handling * feat: implement gRPC services for User and Tenant management, update Payment service interface * fix: correct typo in PaymentUrl configuration key in PaymentServiceTest * refactor: reorder fields in Transaction message for consistency, update PaymentServiceTest to remove PaymentMethod * feat: add IPaymentGrpc and ITenantGrpc interfaces for payment and tenant management * feat: enhance gRPC services with detailed XML documentation and nullability annotations * feat: enhance user context integration in gRPC services with access token, user agent, and IP address properties * feat: add AccessToken, UserAgent, and IpAddress properties to UserContext for enhanced user context management * feat: implement ErrorInterceptor with logging and add ServiceCollectionExtensions for gRPC interceptor registration * feat: add logging capabilities to PaymentService, TenantService, and UserService for better traceability * feat: add paymentMethod field to Transaction message and enhance logging in PaymentService * feat: change domain and timezone fields to google.protobuf.StringValue for better handling of optional values * feat: enhance PaymentResponse and TransactionResponseDetails messages with additional fields for improved transaction data handling * feat: update Payment, Tenant, and User services to remove logger dependency for cleaner service interfaces * feat: change fields in TransactionResponseDetails to google.protobuf.StringValue for improved optional value handling * feat: reorder fields in TransactionResponseDetails for improved clarity and consistency * feat: mark CreditCard and Pse fields as optional in Transaction message for improved flexibility * feat: mark Address and PostalCode fields as optional in Location message for improved flexibility * feat: update Pay RPC to return PaymentResponse and fix typo in Order message * fix: correct typo in Order message field name from 'ammount' to 'amount' * feat: reorder fields in CreateTenantRequest and GetTenantResponse for improved clarity * fix: correct field name casing in CreateTenantRequest and Location messages for consistency * fix: change orderId and transactionId fields to use google.protobuf.StringValue for consistency * feat: update PayAsync method to return PaymentResponse and enhance documentation * refactor: update payment service methods to use InitiatePaymentRequest and remove unused parameters * refactor: comment out PaymentServiceTest class and its methods for future reference * feat: rename PayAsync to InitiatePaymentAsync and add UpdateStatusAsync method for payment status updates * fix: update message and FinancialNetwork fields to use google.protobuf.StringValue for consistency * feat: update InitiatePayment RPC to return InitiatePaymentResponse instead of google.protobuf.Empty * feat: update InitiatePaymentAsync method to return InitiatePaymentResponse * feat: add support for automatic event handler registration and exchange declaration in RabbitMQ options * feat: add TypeEntryPoint property to CoreOptions and update logging and observability extensions to include it in service names * feat: add nullable reference type support and auto-generated comment in DtoGenerator * feat: add nullable reference type support for generated properties in DtoGenerator * feat: update DtoGenerator to remove nullable reference type and adjust property generation * feat: update SonarQube commands to use server variable and remove hardcoded server URLs - Updated CI workflow to pass server variable to SonarQube commands for release and RC builds. - Removed hardcoded server URLs from project.json files across multiple packages. - Added default configurations for SonarQube server in project.json files for RabbitMQ. * feat: update SonarQube project arguments for multiple packages to reflect correct project names * feat: update SonarQube project arguments to include server URL for all packages * feat: remove hardcoded SonarQube server URLs from project configurations * feat: comment out GitHub and NuGet package push steps in CI workflow * feat: remove server argument from SonarQube run commands in CI workflow * Refactor SonarScanner commands in project.json files to remove server argument - Updated all project.json files to remove the server argument from the SonarScanner commands. - Added the SonarQube server URL directly in the command instead of passing it as an argument. - Ensured consistency across all projects in the CodeDesignPlus.Net suite. * feat: comment out conditional execution for SonarQube step and set SONAR_TOKEN environment variable * Add SonarQube token to sonar scanner commands for various projects - Updated sonar.sh and project.json files across multiple packages to include the SonarQube token for authentication duri…
…, with corresponding tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several important changes across licensing, core entity abstractions, and testing. The most significant updates are the enhancement of soft-delete support in core entity interfaces and classes, the introduction of a new generic
Item<TValue>record, and the unification and clarification of licensing information. There are also updates to configuration validation and related tests.Licensing and Documentation Updates:
LICENSE.mdfiles throughout the repository. This replaces previous MIT and older LGPL texts for consistency and clarity. [1] [2] [3] [4]Core Entity Abstractions and Soft-Delete Support:
DeletedAt,DeletedBy,IsDeleted) toAggregateRootBase,IEntity, and related test entity implementations, enabling logical deletion tracking without physical removal. [1] [2] [3]OrderAggregatedomain and test logic to support the new soft-delete pattern, including modifying theDeletemethod to accept adeletedByparameter and update soft-delete fields. [1] [2] [3] [4] [5]New Core Abstractions:
Item<TValue>record inCodeDesignPlus.Net.Core.Abstractions, with accompanying unit tests to ensure correct behavior and equality semantics. [1] [2]Configuration and Validation Improvements:
TypeEntryPointproperty inCoreOptionsrequired for better configuration validation, and updated all relevant test fixtures and helpers to include this new required field. [1] [2] [3] [4]Build and Dependency Management:
nx.jsonandpackage.jsonby removing unused dependencies and unnecessary configuration, streamlining project setup. [1] [2]