Skip to content

Improve Catalogs and Managers Inheritance#107

Merged
MikeAlhayek merged 2 commits into
mainfrom
ma/fix-catalogs
Jul 15, 2026
Merged

Improve Catalogs and Managers Inheritance#107
MikeAlhayek merged 2 commits into
mainfrom
ma/fix-catalogs

Conversation

@MikeAlhayek

Copy link
Copy Markdown
Member

This pull request introduces significant changes to the catalog manager abstractions and their implementations, primarily to clarify responsibilities between read-only and mutable operations and to align interface inheritance with intended usage. The changes also update dependency injection registrations and method signatures to support cancellation tokens and improve consistency.

Abstraction and Interface Refactoring:

  • The INamedCatalogManager<T>, ISourceCatalogManager<T>, and INamedSourceCatalogManager<T> interfaces now inherit from IReadCatalogManager<T> instead of ICatalogManager<T>, and have been expanded with explicit CRUD and validation methods, each supporting cancellation tokens. [1] [2] [3]
  • ISearchIndexProfileManager now inherits from INamedCatalogManager<SearchIndexProfile> instead of ICatalogManager<SearchIndexProfile>, and its methods have been updated to support cancellation tokens.
  • ISearchIndexProfileStore's GetByTypeAsync method now accepts a cancellation token.

Implementation and Dependency Injection Updates:

  • SearchIndexProfileManager now derives from NamedCatalogManager<SearchIndexProfile>, and its methods are updated for cancellation token support and to delegate name-based lookups to the base class. [1] [2]
  • Service registration for ICatalogManager<SearchIndexProfile> is replaced by INamedCatalogManager<SearchIndexProfile> to match the new interface hierarchy.

Codebase Consistency and Usage:

  • All usages of ICatalog<AIDataSource> in the AI data source handlers are replaced with IAIDataSourceStore for improved clarity and alignment with the new abstractions. [1] [2] [3]
  • FindByNameAsync and GetByTypeAsync methods across interfaces and implementations consistently support cancellation tokens. [1] [2]

These changes collectively improve the clarity, flexibility, and testability of the catalog management infrastructure by separating read and write responsibilities, standardizing async operations, and ensuring all relevant methods support cancellation.

@MikeAlhayek
MikeAlhayek merged commit 0144ebd into main Jul 15, 2026
9 checks passed
@MikeAlhayek
MikeAlhayek deleted the ma/fix-catalogs branch July 15, 2026 16:26
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