You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have a base RecordService class that assumes "Record-like" models backed by both the DB as a primary store for item read/write operations and OpenSearch indices for all list/search operations.
When creating new entities (i.e. the model + service + resource trifecta) that are only stored in the DB and are not backed by OpenSearch indices, we usually subclass from RecordService and override/adapt/remove configuration and functionality that assumes any OpenSearch indexing to get things working. This is necessary because the base class has a lot of convenient functionality for schema validation, results rendering, serialization, and overall ease of configuration.
We have the following use cases so far of services that are DB-only and had to do this:
The proposal is to "lift" some of the functionality overridden/reimplemented in the above use cases into invenio-records-resources, to avoid duplication and benefit across the board from common utilities and features. Some of this common functionality includes:
RecordService
class that assumes "Record-like" models backed by both the DB as a primary store for item read/write operations and OpenSearch indices for all list/search operations.RecordService
and override/adapt/remove configuration and functionality that assumes any OpenSearch indexing to get things working. This is necessary because the base class has a lot of convenient functionality for schema validation, results rendering, serialization, and overall ease of configuration.We have the following use cases so far of services that are DB-only and had to do this:
The proposal is to "lift" some of the functionality overridden/reimplemented in the above use cases into
invenio-records-resources,
to avoid duplication and benefit across the board from common utilities and features. Some of this common functionality includes:Service.search()
methodThe text was updated successfully, but these errors were encountered: