Skip to content

refactor: rename Search module to SearchProviders#18

Merged
frigini merged 4 commits intomasterfrom
rename-domain-search
Nov 19, 2025
Merged

refactor: rename Search module to SearchProviders#18
frigini merged 4 commits intomasterfrom
rename-domain-search

Conversation

@frigini
Copy link
Owner

@frigini frigini commented Nov 19, 2025

  • Renamed module directory and all project files
  • Updated all namespaces from MeAjudaAi.Modules.Search to MeAjudaAi.Modules.SearchProviders
  • Renamed DbContext and related classes
  • Updated documentation (search.md -> search_providers.md)
  • Updated solution file references

Total files affected: ~35
Build status: SUCCESS (0 errors, 0 warnings)

Summary by CodeRabbit

  • Refactor
    • Internal module restructuring and reorganization completed to improve code organization and maintainability. No changes to end-user functionality or features.

- Renamed module directory and all project files
- Updated all namespaces from MeAjudaAi.Modules.Search to MeAjudaAi.Modules.SearchProviders
- Renamed DbContext and related classes
- Updated documentation (search.md -> search_providers.md)
- Updated solution file references

Total files affected: ~35
Build status: SUCCESS (0 errors, 0 warnings)
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 19, 2025

Warning

Rate limit exceeded

@frigini has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 6 minutes and 28 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 87cb039 and b962fea.

📒 Files selected for processing (15)
  • MeAjudaAi.sln (1 hunks)
  • docs/modules/search_providers.md (9 hunks)
  • src/Bootstrapper/MeAjudaAi.ApiService/MeAjudaAi.ApiService.csproj (1 hunks)
  • src/Bootstrapper/MeAjudaAi.ApiService/Program.cs (3 hunks)
  • src/Modules/SearchProviders/API/Extensions.cs (1 hunks)
  • src/Modules/SearchProviders/Application/Extensions.cs (1 hunks)
  • src/Modules/SearchProviders/Application/ModuleApi/SearchModuleApi.cs (5 hunks)
  • src/Modules/SearchProviders/Infrastructure/Extensions.cs (2 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/SearchDbContextModelSnapshot.cs (3 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (2 hunks)
  • src/Modules/SearchProviders/Tests/Integration/SearchableProviderRepositoryIntegrationTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Application/Handlers/SearchProvidersQueryHandlerTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Application/Queries/SearchProvidersQueryTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Application/Validators/SearchProvidersQueryValidatorTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Domain/Entities/SearchableProviderTests.cs (1 hunks)

Walkthrough

A comprehensive module refactoring renames the MeAjudaAi.Modules.Search namespace hierarchy to MeAjudaAi.Modules.SearchProviders across all layers (API, Application, Domain, Infrastructure) and test projects. Project names, file paths, class names (DbContext, test bases), and internal references are systematically updated. No functional logic changes.

Changes

Cohort / File(s) Summary
Solution & Project Configuration
MeAjudaAi.sln, src/Modules/SearchProviders/API/MeAjudaAi.Modules.SearchProviders.API.csproj, src/Modules/SearchProviders/Application/MeAjudaAi.Modules.SearchProviders.Application.csproj, src/Modules/SearchProviders/Domain/MeAjudaAi.Modules.SearchProviders.Domain.csproj, src/Modules/SearchProviders/Infrastructure/MeAjudaAi.Modules.SearchProviders.Infrastructure.csproj, src/Modules/SearchProviders/Tests/MeAjudaAi.Modules.SearchProviders.Tests.csproj
Updated project display names, root namespaces, and project references from MeAjudaAi.Modules.Search.* to MeAjudaAi.Modules.SearchProviders.*; solution file paths updated accordingly.
Documentation
docs/README.md, docs/modules/search_providers.md
Module reference renamed from "Search" to "SearchProviders" with link and documentation content updates reflecting new module name, paths, and entity references.
API Layer
src/Modules/SearchProviders/API/Endpoints/SearchProvidersEndpoint.cs, src/Modules/SearchProviders/API/Extensions.cs
Namespace and using directives updated to MeAjudaAi.Modules.SearchProviders.*; endpoint namespace changed from Search.API.Endpoints to SearchProviders.API.Endpoints.
Application Layer — DTOs & Queries
src/Modules/SearchProviders/Application/DTOs/LocationDto.cs, src/Modules/SearchProviders/Application/DTOs/PagedSearchResultDto.cs, src/Modules/SearchProviders/Application/DTOs/SearchableProviderDto.cs, src/Modules/SearchProviders/Application/Queries/SearchProvidersQuery.cs
Namespace relocated from MeAjudaAi.Modules.Search.Application.* to MeAjudaAi.Modules.SearchProviders.Application.*; using directives updated accordingly.
Application Layer — Handlers & Extensions
src/Modules/SearchProviders/Application/Handlers/SearchProvidersQueryHandler.cs, src/Modules/SearchProviders/Application/Extensions.cs, src/Modules/SearchProviders/Application/ModuleApi/SearchModuleApi.cs, src/Modules/SearchProviders/Application/Validators/SearchProvidersQueryValidator.cs
Namespace and using directives updated to reference SearchProviders.Application.* and related domain/infrastructure modules; public module API namespace changed.
Domain Layer — Entities & ValueObjects
src/Modules/SearchProviders/Domain/Entities/SearchableProvider.cs, src/Modules/SearchProviders/Domain/ValueObjects/SearchableProviderId.cs, src/Modules/SearchProviders/Domain/Models/SearchResult.cs
Namespace relocated from MeAjudaAi.Modules.Search.Domain.* to MeAjudaAi.Modules.SearchProviders.Domain.*; using directives for enums and value objects updated.
Domain Layer — Enums & Events
src/Modules/SearchProviders/Domain/Enums/ESubscriptionTier.cs, src/Modules/SearchProviders/Domain/Events/SearchableProviderIndexedDomainEvent.cs, src/Modules/SearchProviders/Domain/Events/SearchableProviderRemovedDomainEvent.cs, src/Modules/SearchProviders/Domain/Events/SearchableProviderUpdatedDomainEvent.cs
Namespace updated from MeAjudaAi.Modules.Search.Domain.* to MeAjudaAi.Modules.SearchProviders.Domain.*.
Domain Layer — Repository & Assembly
src/Modules/SearchProviders/Domain/Repositories/ISearchableProviderRepository.cs, src/Modules/SearchProviders/Domain/Properties/AssemblyInfo.cs
Repository interface namespace updated; InternalsVisibleTo attributes updated to grant access to SearchProviders.Infrastructure and SearchProviders.Tests assemblies.
Infrastructure Layer — DbContext & Factory
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs, src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs
DbContext class renamed from SearchDbContext to SearchProvidersDbContext; namespace, constructors, and factory method updated to reflect new type; design-time and runtime constructor signatures changed.
Infrastructure Layer — Migrations
src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.Designer.cs, src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.cs, src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/SearchDbContextModelSnapshot.cs
Namespace and using directives updated; DbContext attribute and entity type references changed from SearchDbContext / Search.Domain.Entities to SearchProvidersDbContext / SearchProviders.Domain.Entities.
Infrastructure Layer — Configuration & Repository
src/Modules/SearchProviders/Infrastructure/Persistence/Configurations/SearchableProviderConfiguration.cs, src/Modules/SearchProviders/Infrastructure/Persistence/Repositories/SearchableProviderRepository.cs, src/Modules/SearchProviders/Infrastructure/Persistence/DTOs/ProviderSearchResultDto.cs
Namespace updated to SearchProviders.Infrastructure.*; repository constructor parameter updated from SearchDbContext to SearchProvidersDbContext; using directives for domain references changed.
Infrastructure Layer — Extensions
src/Modules/SearchProviders/Infrastructure/Extensions.cs
Namespace and using directives updated to SearchProviders.*; DbContext type parameter in AddDbContext changed from SearchDbContext to SearchProvidersDbContext.
Tests — Integration
src/Modules/SearchProviders/Tests/Integration/SearchProvidersIntegrationTestBase.cs, src/Modules/SearchProviders/Tests/Integration/SearchableProviderRepositoryIntegrationTests.cs
Test base class renamed from SearchIntegrationTestBase to SearchProvidersIntegrationTestBase; namespace and using directives updated; DbContext and repository references changed to SearchProviders.* equivalents.
Tests — Unit
src/Modules/SearchProviders/Tests/Unit/Application/Handlers/SearchProvidersQueryHandlerTests.cs, src/Modules/SearchProviders/Tests/Unit/Application/Queries/SearchProvidersQueryTests.cs, src/Modules/SearchProviders/Tests/Unit/Application/Validators/SearchProvidersQueryValidatorTests.cs, src/Modules/SearchProviders/Tests/Unit/Domain/Entities/SearchableProviderTests.cs
Test namespaces and using directives updated from MeAjudaAi.Modules.Search.Tests.* to MeAjudaAi.Modules.SearchProviders.Tests.*; references to domain/application types updated.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Migration files (20251114205434_InitialCreate.Designer.cs, SearchDbContextModelSnapshot.cs): Verify that DbContext type references (SearchProvidersDbContext), entity mappings, and namespace changes are consistent and will not break migrations.
  • Public API surface: Ensure all namespace changes for DTOs, queries, repositories, and test base classes are propagated consistently across internal and external references.
  • DbContext and Factory: The rename of SearchDbContextSearchProvidersDbContext and parameter type updates in the repository constructor should be verified across all usages (DI registration, factory instantiation, test setup).
  • Test infrastructure: The SearchProvidersIntegrationTestBase class rename and inheritance updates must match all derived test classes; verify DI container registration reflects the new namespaces.
  • Cross-module references: Confirm that inter-module project references in .csproj files and InternalsVisibleTo declarations are complete and match the renamed modules.

Possibly related PRs

  • Implementing search module #10: Introduces the SearchProviders module structure initially; this PR completes the namespace refactoring across all layers of the module.
  • implementing location module #11: Modifies the SearchableProviderId value object and Search module APIs; this PR renames those types as part of the broader SearchProviders refactoring.

Poem

🐰 From Search to SearchProviders, a mighty renaming quest,
Through API, App, Domain, all the way through every test,
DbContext transformed, migrations align just right,
Namespaces cascading—a refactoring delight! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 61.54% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'refactor: rename Search module to SearchProviders' directly and clearly summarizes the main change—renaming the Search module to SearchProviders across the codebase.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- Updated using statement in Program.cs
- Updated ProjectReference in .csproj file
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/modules/search_providers.md (1)

21-25: Align documented paths and schema with the actual code

A few inconsistencies between docs and implementation should be corrected:

  • Folder paths still reference src/Modules/Search/ and src\Modules\Search\... (structure section and dotnet test / dotnet ef commands), but the module has been renamed to SearchProviders.
  • The migrations section claims the module uses schema SearchProviders (lines 98–99, 116), whereas SearchProvidersDbContext sets HasDefaultSchema("search") and SQL samples use search.searchable_providers (lines 338–342 and repository queries).

Recommend updating the paths to src/Modules/SearchProviders/... and documenting the actual schema name (search) to avoid confusion when running commands or debugging DB objects.

Also applies to: 36-40, 74-75, 98-99, 108-113, 116-120, 338-342, 405-413

🧹 Nitpick comments (10)
src/Modules/SearchProviders/API/Extensions.cs (1)

10-36: Consider updating method names and comments for consistency.

While the namespace changes are correct, the method name AddSearchModule and related comments still reference "Search" without "Providers". For full consistency with the module rename:

  • Consider renaming AddSearchModuleAddSearchProvidersModule
  • Update XML comments to reference "SearchProviders" module
  • Similarly, AddSearchApplication and AddSearchInfrastructure (called on lines 28, 31) could be renamed

Note: If these method names are intentionally kept as "Search" for API stability or brevity, this is acceptable but creates a naming mismatch with the namespace.

src/Modules/SearchProviders/Application/ModuleApi/SearchModuleApi.cs (2)

31-67: Optional: Update log messages and comments for consistency.

Multiple log messages and comments still reference "Search module" without "Providers" (lines 35, 49, 53, 59, 64). While not functionally critical, updating these would improve consistency with the module rename.


14-26: Update ModuleMetadata.Name from "Search" to "SearchProviders" for consistency with the module directory structure.

The metadata name "Search" inconsistently differs from the established pattern where all other modules have their metadata name match their directory name (Users, Providers, Documents, Catalogs, Location). While the current inconsistency does not cause functional issues—module discovery uses reflection on the [ModuleApi] attribute rather than name-based lookup—updating this maintains architectural consistency and clarity in diagnostics/logging output. Update ModuleMetadata.Name to "SearchProviders" and the XML comment referencing "Search" module.

src/Modules/SearchProviders/Tests/Unit/Application/Queries/SearchProvidersQueryTests.cs (1)

1-12: Namespace migration completed, but test trait needs update.

The using directive and namespace have been correctly updated to SearchProviders. However, line 10 still has [Trait("Module", "Search")] which should be "SearchProviders" for consistency with the module rename and proper test categorization.

Apply this diff to update the test trait:

 [Trait("Category", "Unit")]
-[Trait("Module", "Search")]
+[Trait("Module", "SearchProviders")]
 [Trait("Component", "Query")]
src/Modules/SearchProviders/Tests/Unit/Application/Handlers/SearchProvidersQueryHandlerTests.cs (1)

1-22: Namespace migration completed, but test trait needs update.

The using directives and namespace have been correctly updated to SearchProviders. However, line 20 still has [Trait("Module", "Search")] which should be "SearchProviders" for consistency with the module rename and proper test categorization.

Apply this diff to update the test trait:

 [Trait("Category", "Unit")]
-[Trait("Module", "Search")]
+[Trait("Module", "SearchProviders")]
 [Trait("Component", "QueryHandler")]
src/Modules/SearchProviders/Tests/Unit/Domain/Entities/SearchableProviderTests.cs (1)

1-14: Namespace migration completed, but test trait needs update.

The using directives and namespace have been correctly updated to SearchProviders. However, line 12 still has [Trait("Module", "Search")] which should be "SearchProviders" for consistency with the module rename and proper test categorization.

Apply this diff to update the test trait:

 [Trait("Category", "Unit")]
-[Trait("Module", "Search")]
+[Trait("Module", "SearchProviders")]
 [Trait("Component", "Domain")]
src/Modules/SearchProviders/Tests/Unit/Application/Validators/SearchProvidersQueryValidatorTests.cs (1)

2-6: Validator tests correctly retargeted to SearchProviders

Usings and namespace now reference the SearchProviders Application/Domain types, and the tests continue to exercise the same behavior.

If you want trait-based filtering to mirror the new module name, you might later rename [Trait("Module", "Search")] to "SearchProviders", but it’s not required for this refactor.

src/Modules/SearchProviders/Tests/Integration/SearchableProviderRepositoryIntegrationTests.cs (1)

2-4: Repository integration tests now target SearchProviders stack

The tests correctly inherit from SearchProvidersIntegrationTestBase, use SearchProvidersDbContext, and depend on MeAjudaAi.Modules.SearchProviders.* enums and repository interfaces, so they remain valid against the renamed module.

Similar to the unit tests, consider whether [Trait("Module", "Search")] should be updated to "SearchProviders" for consistency in test categorization, but it’s optional for this rename-only PR.

Also applies to: 8-9, 16-17, 24-25

src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/SearchDbContextModelSnapshot.cs (1)

1-31: Model snapshot wired to SearchProvidersDbContext and SearchProviders entity

The snapshot now imports SearchProviders infrastructure, lives in the SearchProviders.Infrastructure.Persistence.Migrations namespace, targets SearchProvidersDbContext, and maps MeAjudaAi.Modules.SearchProviders.Domain.Entities.SearchableProvider; mapping details are unchanged. Consider renaming the partial class to SearchProvidersDbContextModelSnapshot at some point for naming consistency, though this is purely cosmetic.

src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)

5-5: Rename SearchDbContextFactory for clarity

The factory correctly creates SearchProvidersDbContext and implements IDesignTimeDbContextFactory<SearchProvidersDbContext>, but the class is still named SearchDbContextFactory. For consistency and discoverability (especially with EF tooling and IDE navigation), consider renaming the class (and file) to SearchProvidersDbContextFactory.

Also applies to: 8-13, 31-32

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 76a2531 and 87cb039.

📒 Files selected for processing (42)
  • MeAjudaAi.sln (2 hunks)
  • docs/README.md (1 hunks)
  • docs/modules/search_providers.md (9 hunks)
  • src/Modules/SearchProviders/API/Endpoints/SearchProvidersEndpoint.cs (2 hunks)
  • src/Modules/SearchProviders/API/Extensions.cs (1 hunks)
  • src/Modules/SearchProviders/API/MeAjudaAi.Modules.SearchProviders.API.csproj (2 hunks)
  • src/Modules/SearchProviders/Application/DTOs/LocationDto.cs (1 hunks)
  • src/Modules/SearchProviders/Application/DTOs/PagedSearchResultDto.cs (1 hunks)
  • src/Modules/SearchProviders/Application/DTOs/SearchableProviderDto.cs (1 hunks)
  • src/Modules/SearchProviders/Application/Extensions.cs (1 hunks)
  • src/Modules/SearchProviders/Application/Handlers/SearchProvidersQueryHandler.cs (1 hunks)
  • src/Modules/SearchProviders/Application/MeAjudaAi.Modules.SearchProviders.Application.csproj (1 hunks)
  • src/Modules/SearchProviders/Application/ModuleApi/SearchModuleApi.cs (2 hunks)
  • src/Modules/SearchProviders/Application/Queries/SearchProvidersQuery.cs (1 hunks)
  • src/Modules/SearchProviders/Application/Validators/SearchProvidersQueryValidator.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Entities/SearchableProvider.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Enums/ESubscriptionTier.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Events/SearchableProviderIndexedDomainEvent.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Events/SearchableProviderRemovedDomainEvent.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Events/SearchableProviderUpdatedDomainEvent.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/MeAjudaAi.Modules.SearchProviders.Domain.csproj (1 hunks)
  • src/Modules/SearchProviders/Domain/Models/SearchResult.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Properties/AssemblyInfo.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/Repositories/ISearchableProviderRepository.cs (1 hunks)
  • src/Modules/SearchProviders/Domain/ValueObjects/SearchableProviderId.cs (1 hunks)
  • src/Modules/SearchProviders/Infrastructure/Extensions.cs (2 hunks)
  • src/Modules/SearchProviders/Infrastructure/MeAjudaAi.Modules.SearchProviders.Infrastructure.csproj (2 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/Configurations/SearchableProviderConfiguration.cs (1 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/DTOs/ProviderSearchResultDto.cs (1 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.Designer.cs (3 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.cs (1 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/SearchDbContextModelSnapshot.cs (3 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/Repositories/SearchableProviderRepository.cs (2 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (1 hunks)
  • src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (2 hunks)
  • src/Modules/SearchProviders/Tests/Integration/SearchProvidersIntegrationTestBase.cs (6 hunks)
  • src/Modules/SearchProviders/Tests/Integration/SearchableProviderRepositoryIntegrationTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/MeAjudaAi.Modules.SearchProviders.Tests.csproj (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Application/Handlers/SearchProvidersQueryHandlerTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Application/Queries/SearchProvidersQueryTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Application/Validators/SearchProvidersQueryValidatorTests.cs (1 hunks)
  • src/Modules/SearchProviders/Tests/Unit/Domain/Entities/SearchableProviderTests.cs (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (12)
src/Modules/SearchProviders/Application/Handlers/SearchProvidersQueryHandler.cs (2)
src/Modules/SearchProviders/Application/Extensions.cs (1)
  • Extensions (16-34)
src/Modules/SearchProviders/Infrastructure/Extensions.cs (1)
  • Extensions (14-61)
src/Modules/SearchProviders/API/Extensions.cs (2)
src/Modules/SearchProviders/Application/Extensions.cs (1)
  • Extensions (16-34)
src/Modules/SearchProviders/Infrastructure/Extensions.cs (1)
  • Extensions (14-61)
src/Modules/SearchProviders/Infrastructure/Persistence/Repositories/SearchableProviderRepository.cs (2)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)
  • SearchProvidersDbContext (12-32)
src/Modules/SearchProviders/Application/Extensions.cs (2)
src/Modules/SearchProviders/Application/ModuleApi/SearchModuleApi.cs (1)
  • ModuleApi (17-152)
src/Modules/SearchProviders/Infrastructure/Extensions.cs (1)
  • Extensions (14-61)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (1)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)
  • SearchProvidersDbContext (12-32)
src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.Designer.cs (2)
src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/SearchDbContextModelSnapshot.cs (1)
  • DbContext (14-126)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/SearchDbContextModelSnapshot.cs (3)
src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.Designer.cs (1)
  • DbContext (15-129)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)
  • SearchProvidersDbContext (12-32)
src/Modules/SearchProviders/Infrastructure/Extensions.cs (3)
src/Modules/SearchProviders/Application/Extensions.cs (1)
  • Extensions (16-34)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)
  • SearchProvidersDbContext (12-32)
src/Modules/SearchProviders/Tests/Integration/SearchableProviderRepositoryIntegrationTests.cs (2)
src/Modules/SearchProviders/Tests/Integration/SearchProvidersIntegrationTestBase.cs (2)
  • SearchProvidersIntegrationTestBase (19-271)
  • SearchProvidersIntegrationTestBase (25-28)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Tests/Unit/Application/Handlers/SearchProvidersQueryHandlerTests.cs (1)
src/Modules/SearchProviders/Application/Extensions.cs (1)
  • Extensions (16-34)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Tests/Integration/SearchProvidersIntegrationTestBase.cs (4)
src/Modules/SearchProviders/Infrastructure/Extensions.cs (1)
  • Extensions (14-61)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (3)
  • SearchProvidersDbContext (15-74)
  • SearchProvidersDbContext (20-22)
  • SearchProvidersDbContext (25-28)
src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContextFactory.cs (1)
  • SearchProvidersDbContext (12-32)
src/Modules/SearchProviders/Infrastructure/Persistence/Repositories/SearchableProviderRepository.cs (1)
  • SearchableProviderRepository (49-258)
🪛 LanguageTool
docs/modules/search_providers.md

[style] ~354-~354: Para conferir mais clareza ao seu texto, prefira mover o advérbio.
Context: ...rchProvidersProvidersProvidersProviders atualmente opera de forma independente sem sincronização au...

(COLOCAÇÃO_ADVÉRBIO)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Code Quality Checks
  • GitHub Check: Security Scan
🔇 Additional comments (35)
src/Modules/SearchProviders/Domain/Events/SearchableProviderRemovedDomainEvent.cs (1)

3-3: LGTM! Clean namespace refactoring.

The namespace update from MeAjudaAi.Modules.Search.Domain.Events to MeAjudaAi.Modules.SearchProviders.Domain.Events is correct and aligns with the module rename objective. The successful build confirms all references to this event have been updated consistently across the codebase.

src/Modules/SearchProviders/Domain/Events/SearchableProviderIndexedDomainEvent.cs (1)

3-3: LGTM! Namespace updated correctly.

The namespace change from MeAjudaAi.Modules.Search.Domain.Events to MeAjudaAi.Modules.SearchProviders.Domain.Events aligns with the module refactoring objectives and matches the file's directory structure.

src/Modules/SearchProviders/Domain/Events/SearchableProviderUpdatedDomainEvent.cs (1)

3-3: LGTM! Namespace updated correctly.

The namespace change from MeAjudaAi.Modules.Search.Domain.Events to MeAjudaAi.Modules.SearchProviders.Domain.Events is consistent with the PR objectives and aligns with the file path structure. The successful build confirms all references were updated across the codebase.

docs/README.md (1)

59-59: LGTM! Documentation correctly updated.

The module reference has been properly updated to reflect the new SearchProviders name, and the link points to the correct documentation file.

src/Modules/SearchProviders/Domain/ValueObjects/SearchableProviderId.cs (1)

4-4: LGTM! Clean namespace update.

The namespace has been correctly updated to reflect the module rename with no functional changes.

src/Modules/SearchProviders/Domain/MeAjudaAi.Modules.SearchProviders.Domain.csproj (1)

5-5: LGTM! RootNamespace correctly updated.

The project's RootNamespace property properly reflects the new module naming convention.

src/Modules/SearchProviders/Application/DTOs/LocationDto.cs (1)

3-3: LGTM! Namespace correctly updated.

The DTO namespace has been properly updated to match the module rename.

src/Modules/SearchProviders/Infrastructure/Persistence/DTOs/ProviderSearchResultDto.cs (1)

1-1: LGTM! Infrastructure namespace correctly updated.

The infrastructure persistence DTO namespace has been properly updated.

MeAjudaAi.sln (2)

126-147: Verify solution folder naming consistency.

The project names and paths have been correctly updated to SearchProviders, but the solution folder at Line 126 is still named "Search". Should this be renamed to "SearchProviders" for consistency?

-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Search", "Search", "{6FF68FBA-C4AF-48EC-AFE2-E320F2195C79}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SearchProviders", "SearchProviders", "{6FF68FBA-C4AF-48EC-AFE2-E320F2195C79}"

130-146: LGTM! Project references correctly updated.

All five projects (API, Application, Domain, Infrastructure, Tests) have been properly renamed with correct paths and preserved GUIDs.

src/Modules/SearchProviders/Domain/Models/SearchResult.cs (1)

1-3: LGTM! Using directives and namespace correctly updated.

Both the using directive and namespace declaration have been properly updated to reflect the module rename.

src/Modules/SearchProviders/Domain/Repositories/ISearchableProviderRepository.cs (1)

1-7: LGTM! Repository namespace and dependencies correctly updated.

All using directives and the namespace declaration have been systematically updated to reference the new SearchProviders module namespace.

src/Modules/SearchProviders/API/Extensions.cs (1)

1-8: LGTM! Namespace migration completed correctly.

The using directives and namespace declaration have been properly updated from MeAjudaAi.Modules.Search to MeAjudaAi.Modules.SearchProviders.

src/Modules/SearchProviders/API/MeAjudaAi.Modules.SearchProviders.API.csproj (1)

1-21: LGTM! Project references updated correctly.

The RootNamespace and ProjectReference paths have been properly updated to reflect the new SearchProviders module structure.

src/Modules/SearchProviders/Application/ModuleApi/SearchModuleApi.cs (1)

1-12: LGTM! Namespace migration completed correctly.

The using directives and namespace declaration have been properly updated to the SearchProviders module structure.

src/Modules/SearchProviders/Application/Validators/SearchProvidersQueryValidator.cs (1)

1-42: LGTM! Namespace migration completed correctly.

The using directive and namespace declaration have been properly updated to reference the SearchProviders module. The validator logic remains unchanged as expected for this refactoring.

src/Modules/SearchProviders/Infrastructure/Persistence/Configurations/SearchableProviderConfiguration.cs (1)

1-118: LGTM! Namespace migration completed correctly.

All using directives and the namespace declaration have been properly updated to reference the SearchProviders module structure. The EF Core entity configuration logic remains unchanged as expected for this refactoring.

src/Modules/SearchProviders/Domain/Enums/ESubscriptionTier.cs (1)

1-27: Namespace rename aligns enum with new module

ESubscriptionTier is now under MeAjudaAi.Modules.SearchProviders.Domain.Enums with no behavioral changes. This keeps consumers intact while matching the new module name.

src/Modules/SearchProviders/Tests/MeAjudaAi.Modules.SearchProviders.Tests.csproj (1)

39-44: Test project references now point to SearchProviders projects

The four <ProjectReference> entries correctly target the new MeAjudaAi.Modules.SearchProviders.* projects, keeping the test project aligned with the renamed module.

src/Modules/SearchProviders/Infrastructure/MeAjudaAi.Modules.SearchProviders.Infrastructure.csproj (1)

5-5: Infrastructure project metadata updated to SearchProviders

RootNamespace and the Domain/Application <ProjectReference> entries now match the SearchProviders naming and layout; this is consistent with the rest of the refactor.

Also applies to: 21-22

src/Modules/SearchProviders/Infrastructure/Extensions.cs (1)

1-3: Infrastructure DI now correctly targets SearchProvidersDbContext and repository

The namespace/usings and AddDbContext<SearchProvidersDbContext>/ISearchableProviderRepository registrations are all aligned with the new SearchProviders module. The connection-string resolution and Npgsql configuration remain unchanged.

Also applies to: 9-10, 35-58

src/Modules/SearchProviders/Application/DTOs/PagedSearchResultDto.cs (1)

1-43: Paged search result DTO moved under SearchProviders namespace

PagedSearchResultDto<T> keeps the same structure and behavior, now exposed from MeAjudaAi.Modules.SearchProviders.Application.DTOs, which matches the rest of the Application layer rename.

src/Modules/SearchProviders/Application/Handlers/SearchProvidersQueryHandler.cs (1)

1-5: Search query handler correctly rehomed to SearchProviders.Application

Imports and namespace now point to the SearchProviders DTOs, query, repository, and value objects; the handler behavior and contract remain the same.

Also applies to: 11-95

src/Modules/SearchProviders/Application/DTOs/SearchableProviderDto.cs (1)

1-3: Namespace and enum import aligned with SearchProviders refactor

The using and namespace now correctly target MeAjudaAi.Modules.SearchProviders.*, keeping SearchableProviderDto consistent with the module rename and existing ESubscriptionTier usage.

src/Modules/SearchProviders/Domain/Entities/SearchableProvider.cs (1)

1-7: Domain usings/namespace updated consistently for SearchableProvider

Enum and value-object imports, plus the namespace, are now under MeAjudaAi.Modules.SearchProviders.*; the aggregate’s API and invariants remain unchanged.

src/Modules/SearchProviders/Domain/Properties/AssemblyInfo.cs (1)

5-8: InternalsVisibleTo targets now match SearchProviders assemblies

The infrastructure and test assemblies referenced in InternalsVisibleTo have been updated to MeAjudaAi.Modules.SearchProviders.Infrastructure and .Tests, matching the new module naming.

src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.cs (1)

7-7: Migration namespace moved under SearchProviders.Infrastructure.Persistence.Migrations

The InitialCreate migration is now in the SearchProviders infrastructure namespace; the migration operations themselves are untouched, so the database schema remains identical.

src/Modules/SearchProviders/Application/MeAjudaAi.Modules.SearchProviders.Application.csproj (1)

5-11: Root namespace and Domain reference updated to SearchProviders

The application project now uses MeAjudaAi.Modules.SearchProviders.Application as root namespace and references the renamed Domain project; this matches the new module name and structure.

src/Modules/SearchProviders/Application/Queries/SearchProvidersQuery.cs (1)

2-9: Query now references SearchProviders DTOs/enums and namespace

The query imports and namespace have been switched to MeAjudaAi.Modules.SearchProviders.*, keeping SearchProvidersQuery aligned with the renamed DTOs and ESubscriptionTier while leaving its behaviour intact.

src/Modules/SearchProviders/Infrastructure/Persistence/Migrations/20251114205434_InitialCreate.Designer.cs (1)

1-4: Designer migration updated for SearchProvidersDbContext and entity namespace

The auto-generated designer now references SearchProvidersDbContext and the SearchProviders domain SearchableProvider entity under the correct infrastructure namespace, keeping it consistent with the runtime migration and model snapshot.

Also applies to: 13-16, 31-31

src/Modules/SearchProviders/Application/Extensions.cs (1)

2-4: Namespace and DI wiring consistent with SearchProviders rename

The updated usings and namespace correctly point to MeAjudaAi.Modules.SearchProviders.*, and AddSearchApplication still wires SearchProvidersQuery and SearchModuleApi as expected. No issues from the rename here.

Also applies to: 11-11

src/Modules/SearchProviders/Infrastructure/Persistence/Repositories/SearchableProviderRepository.cs (1)

1-7: Repository now correctly targets SearchProvidersDbContext and new domain namespaces

The constructor and usings have been updated to SearchProvidersDbContext and MeAjudaAi.Modules.SearchProviders.Domain.*, staying consistent with the DbContext rename while preserving the existing search.searchable_providers schema. The hybrid EF/Dapper design remains intact.

Also applies to: 12-13, 49-51

src/Modules/SearchProviders/API/Endpoints/SearchProvidersEndpoint.cs (1)

1-3: Endpoint rename is consistent while keeping the public route stable

The endpoint now lives under MeAjudaAi.Modules.SearchProviders.API.Endpoints and uses the SearchProviders application/domain namespaces, while still exposing /api/v1/search/providers. This keeps external contracts stable with only internal namespace changes.

Also applies to: 13-13

src/Modules/SearchProviders/Infrastructure/Persistence/SearchProvidersDbContext.cs (1)

2-4: DbContext type/namespace update looks correct and consistent

SearchProvidersDbContext is correctly renamed with matching generic options in both constructors and the namespace updated to ...SearchProviders.Infrastructure.Persistence. Keeping HasDefaultSchema("search") aligns with the existing database objects and repository SQL.

Also applies to: 9-10, 15-26

src/Modules/SearchProviders/Tests/Integration/SearchProvidersIntegrationTestBase.cs (1)

2-6: Integration test base correctly migrated to SearchProviders types and DbContext

The integration base now uses SearchProvidersDbContext, the SearchProviders domain entities/enums, and registers ISearchableProviderRepository from the new infrastructure namespace. Raw SQL still targets the search schema, which matches the DbContext configuration. The migration looks consistent and should keep tests behaving as before.

Also applies to: 13-26, 58-60, 86-88, 100-101, 206-207, 217-218

Filipe Frigini added 2 commits November 19, 2025 14:16
Documentation fixes: Fix mangled identifiers in search_providers.md, update all references to SearchableProvider and SearchableProviderRepository

API consistency: Rename methods to AddSearchProvidersModule, UseSearchProvidersModule, AddSearchProvidersApplication, AddSearchProvidersInfrastructure

Module metadata: Update ModuleMetadata.Name from Search to SearchProviders, update all log messages

Test traits: Update Module trait from Search to SearchProviders in all tests

Infrastructure: Rename SearchDbContextFactory to SearchProvidersDbContextFactory, rename model snapshot class

Build verified successfully
@github-actions
Copy link

📊 Code Coverage Report

Coverage: 40.51% (extracted from OpenCover (Direct))

📈 Coverage Details

  • Coverage badges: Coverage
  • Minimum threshold: 70% (warning) / 85% (good)
  • Report format: Auto-detected from OpenCover/Cobertura XML files
  • Coverage source: OpenCover (Direct)

📋 Coverage Analysis

  • Line Coverage: Shows percentage of code lines executed during tests
  • Branch Coverage: Shows percentage of code branches/conditions tested
  • Complexity: Code complexity metrics for maintainability

🎯 Quality Gates

  • Pass: Coverage ≥ 85%
  • ⚠️ Warning: Coverage 70-84%
  • Fail: Coverage < 70%

📁 Artifacts

  • Coverage reports: Available in workflow artifacts
  • Test results: TRX files with detailed test execution data

This comment is updated automatically on each push to track coverage trends.

@frigini frigini merged commit d778434 into master Nov 19, 2025
6 checks passed
@frigini frigini deleted the rename-domain-search branch November 19, 2025 17:39
@coderabbitai coderabbitai bot mentioned this pull request Nov 27, 2025
@coderabbitai coderabbitai bot mentioned this pull request Dec 8, 2025
7 tasks
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