Skip to content

Refactor AuthorityService to use caching & same pagination as other services #699

@tdonohue

Description

@tdonohue

AuthorityService currently extends IntegationService. This seems to be the only place IntegrationService is used in our codebase.

IntegationService seems similar to DataService but it does not seem to include the cache, remotedata and other current features.

IntegrationService also uses IntegrationSearchOptions for pagination, instead of the common PageInfo model.

The Authority Control / Controlled Vocabulary service should be using the same caching and pagination as other services, as this eases our maintenance and ensures that it has the same performance/behavior as other services.

This means we should look into the following changes:

  1. Remove the IntegrationService and refactor AuthorityService to use DataService (to add caching to this service)
  2. Remove the IntegrationSearchOptions and refactor code using it to instead use PageInfo for pagination.

This could be split into separate tasks as needed. However, as these two changes are directly related, it might be easier if done by the same developer. It's very possible the necessary refactoring here will require some larger changes to the AuthorityService, so it's worth considering all these necessary changes at one time.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions