Skip to content

Rc#131

Merged
codedesignplus-wliscano merged 123 commits intomainfrom
rc
Jul 23, 2025
Merged

Rc#131
codedesignplus-wliscano merged 123 commits intomainfrom
rc

Conversation

@codedesignplus-wliscano
Copy link
Contributor

This pull request introduces several significant updates across the codebase, including licensing changes, enhancements to the AggregateRootBase and IEntity abstractions, and the addition of new features and tests. The most notable changes involve adopting the GNU Lesser General Public License, extending entity abstractions to support soft deletion, and adding new functionality with corresponding unit tests.

Licensing Updates:

  • Adoption of GNU Lesser General Public License: Replaced the MIT License with the GNU Lesser General Public License across multiple license files (LICENSE.md, packages/CodeDesignPlus.Net.Cache/LICENSE.md, packages/CodeDesignPlus.Net.Core/LICENSE.md, packages/CodeDesignPlus.Net.Criteria/LICENSE.md). The new license includes details about redistribution, warranty disclaimers, and contribution guidelines. [1] [2] [3] [4]

Entity and Aggregate Enhancements:

  • Soft Deletion Support: Added DeletedAt, DeletedBy, and IsDeleted properties to AggregateRootBase and IEntity abstractions to enable soft deletion functionality. These changes ensure entities can be marked as deleted without being physically removed from the database. [1] [2]
  • Updated OrderAggregate: Modified the Delete method in OrderAggregate to support soft deletion by setting the new properties and emitting a OrderDeletedDomainEvent.

New Features:

  • Item<TValue> Record: Introduced a new Item<TValue> record in CodeDesignPlus.Net.Core.Abstractions, representing an item with a unique identifier and associated value.

Testing Enhancements:

  • Unit Tests for Item<TValue>: Added comprehensive tests for the Item<TValue> record, including constructor validation and equality checks.
  • CoreOptions Validation: Added a [Required] attribute to TypeEntryPoint and updated tests to ensure proper validation of this property. [1] [2] [3]
  • Soft Deletion Tests: Updated tests for AggregateRootBase and OrderAggregate to validate the new soft deletion functionality. [1] [2] [3]

Configuration Updates:

  • nx.json Simplification: Removed tasksRunnerOptions and its associated configurations, simplifying the nx.json file.
  • Dependency Updates: Added which as a new development dependency in package.json.

These changes collectively improve the project's licensing compliance, enhance entity management capabilities, introduce new features, and strengthen test coverage to ensure code reliability and maintainability.

codedesignplus and others added 30 commits April 22, 2025 21:02
…se-proxy

Feature/fix swagger reverse proxy
… when not enabled; enhance LocalProvider and FileStorageService tests for better validation
codedesignplus-wliscano and others added 29 commits July 8, 2025 08:53
- 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.
…a script for improved execution and error handling
- 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.
Update package references across multiple projects to latest versions
fix: update container configurations to use ComposeVersion V2 and sim…
fix: enhance CI workflow and SonarQube integration with improved step…
* 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>
* 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>
* 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>

* feat: add UserId and Oid properties to user context for enhanced user identification

* feat: add Oid property to UserContext for improved user identification

* fix: change Oid property type from Guid to string in UserContext and IUserContext for consistency

* refactor: simplify Oid property implementation in UserContext for improved readability

---------

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>
* 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>

* feat: add UserId and Oid properties to user context for enhanced user identification

* feat: add Oid property to UserContext for improved user identification

* fix: change Oid property type from Guid to string in UserContext and IUserContext for consistency

* refactor: simplify Oid property implementation in UserContext for improved readability

* fix: initialize Oid property in UserContext to prevent null reference issues

* fix: update Oid and userId claims in CustomProfileService for consistency

---------

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>
* 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>

* feat: add UserId and Oid properties to user context for enhanced user identification

* feat: add Oid property to UserContext for improved user identification

* fix: change Oid property type from Guid to string in UserContext and IUserContext for consistency

* refactor: simplify Oid property implementation in UserContext for improved readability

* fix: initialize Oid property in UserContext to prevent null reference issues

* fix: update Oid and userId claims in CustomProfileService for consistency

* Update license files to GNU Lesser General Public License v3.0 and add contribution guidelines

- Changed license from MIT to GNU Lesser General Public License v3.0 in multiple packages.
- Updated copyright years to 2022–2030 for Wilzon Liscano and CodeDesignPlus.
- Added sections for contact and contributions, including support email and pull request instructions.
- Ensured consistency across all license files in the project.

---------

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>
@codedesignplus-wliscano codedesignplus-wliscano merged commit 56a5a39 into main Jul 23, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant