[DURACOM-271] Renamed and reorganized suggestion data services

This commit is contained in:
Giuseppe Digilio
2024-06-07 16:30:27 +02:00
parent 3fbc3dca6f
commit dbcab6fc45
32 changed files with 158 additions and 152 deletions

View File

@@ -27,12 +27,12 @@ import { WORKSPACEITEM } from './eperson/models/workspaceitem.resource-type';
import { FEEDBACK } from './feedback/models/feedback.resource-type';
import { METADATA_FIELD } from './metadata/metadata-field.resource-type';
import { METADATA_SCHEMA } from './metadata/metadata-schema.resource-type';
import { SUGGESTION } from './notifications/models/suggestion-objects.resource-type';
import { SUGGESTION_SOURCE } from './notifications/models/suggestion-source-object.resource-type';
import { SUGGESTION_TARGET } from './notifications/models/suggestion-target-object.resource-type';
import { QUALITY_ASSURANCE_EVENT_OBJECT } from './notifications/qa/models/quality-assurance-event-object.resource-type';
import { QUALITY_ASSURANCE_SOURCE_OBJECT } from './notifications/qa/models/quality-assurance-source-object.resource-type';
import { QUALITY_ASSURANCE_TOPIC_OBJECT } from './notifications/qa/models/quality-assurance-topic-object.resource-type';
import { SUGGESTION } from './notifications/suggestions/models/suggestion-objects.resource-type';
import { SUGGESTION_SOURCE } from './notifications/suggestions/models/suggestion-source-object.resource-type';
import { SUGGESTION_TARGET } from './notifications/suggestions/models/suggestion-target-object.resource-type';
import { ORCID_HISTORY } from './orcid/model/orcid-history.resource-type';
import { ORCID_QUEUE } from './orcid/model/orcid-queue.resource-type';
import { RESEARCHER_PROFILE } from './profile/model/researcher-profile.resource-type';
@@ -131,9 +131,9 @@ export const LAZY_DATA_SERVICES: LazyDataServicesMap = new Map([
[QUALITY_ASSURANCE_EVENT_OBJECT.value, () => import('./notifications/qa/events/quality-assurance-event-data.service').then(m => m.QualityAssuranceEventDataService)],
[QUALITY_ASSURANCE_SOURCE_OBJECT.value, () => import('./notifications/qa/source/quality-assurance-source-data.service').then(m => m.QualityAssuranceSourceDataService)],
[QUALITY_ASSURANCE_TOPIC_OBJECT.value, () => import('./notifications/qa/topics/quality-assurance-topic-data.service').then(m => m.QualityAssuranceTopicDataService)],
[SUGGESTION.value, () => import('./notifications/suggestions-data.service').then(m => m.SuggestionsDataService)],
[SUGGESTION_SOURCE.value, () => import('./notifications/source/suggestion-source-data.service').then(m => m.SuggestionSourceDataService)],
[SUGGESTION_TARGET.value, () => import('./notifications/target/suggestion-target-data.service').then(m => m.SuggestionTargetDataService)],
[SUGGESTION.value, () => import('./notifications/suggestions/suggestion-data.service').then(m => m.SuggestionDataService)],
[SUGGESTION_SOURCE.value, () => import('./notifications/suggestions/source/suggestion-source-data.service').then(m => m.SuggestionSourceDataService)],
[SUGGESTION_TARGET.value, () => import('./notifications/suggestions/target/suggestion-target-data.service').then(m => m.SuggestionTargetDataService)],
[DUPLICATE.value, () => import('./submission/submission-duplicate-data.service').then(m => m.SubmissionDuplicateDataService)],
[CorrectionType.type.value, () => import('./submission/correctiontype-data.service').then(m => m.CorrectionTypeDataService)],
]);

View File

@@ -1,4 +1,4 @@
import { ResourceType } from '../../shared/resource-type';
import { ResourceType } from '../../../shared/resource-type';
/**
* The resource type for the Suggestion object

View File

@@ -1,4 +1,4 @@
import { ResourceType } from '../../shared/resource-type';
import { ResourceType } from '../../../shared/resource-type';
/**
* The resource type for the Suggestion Source object

View File

@@ -3,11 +3,11 @@ import {
deserialize,
} from 'cerialize';
import { typedObject } from '../../cache/builders/build-decorators';
import { CacheableObject } from '../../cache/cacheable-object.model';
import { HALLink } from '../../shared/hal-link.model';
import { ResourceType } from '../../shared/resource-type';
import { excludeFromEquals } from '../../utilities/equals.decorators';
import { typedObject } from '../../../cache/builders/build-decorators';
import { CacheableObject } from '../../../cache/cacheable-object.model';
import { HALLink } from '../../../shared/hal-link.model';
import { ResourceType } from '../../../shared/resource-type';
import { excludeFromEquals } from '../../../utilities/equals.decorators';
import { SUGGESTION_SOURCE } from './suggestion-source-object.resource-type';
/**

View File

@@ -1,4 +1,4 @@
import { ResourceType } from '../../shared/resource-type';
import { ResourceType } from '../../../shared/resource-type';
/**
* The resource type for the Suggestion Target object

View File

@@ -3,11 +3,11 @@ import {
deserialize,
} from 'cerialize';
import { typedObject } from '../../cache/builders/build-decorators';
import { CacheableObject } from '../../cache/cacheable-object.model';
import { HALLink } from '../../shared/hal-link.model';
import { ResourceType } from '../../shared/resource-type';
import { excludeFromEquals } from '../../utilities/equals.decorators';
import { typedObject } from '../../../cache/builders/build-decorators';
import { CacheableObject } from '../../../cache/cacheable-object.model';
import { HALLink } from '../../../shared/hal-link.model';
import { ResourceType } from '../../../shared/resource-type';
import { excludeFromEquals } from '../../../utilities/equals.decorators';
import { SUGGESTION_TARGET } from './suggestion-target-object.resource-type';
/**

View File

@@ -4,15 +4,15 @@ import {
deserialize,
} from 'cerialize';
import { typedObject } from '../../cache/builders/build-decorators';
import { CacheableObject } from '../../cache/cacheable-object.model';
import { HALLink } from '../../shared/hal-link.model';
import { typedObject } from '../../../cache/builders/build-decorators';
import { CacheableObject } from '../../../cache/cacheable-object.model';
import { HALLink } from '../../../shared/hal-link.model';
import {
MetadataMap,
MetadataMapSerializer,
} from '../../shared/metadata.models';
import { ResourceType } from '../../shared/resource-type';
import { excludeFromEquals } from '../../utilities/equals.decorators';
} from '../../../shared/metadata.models';
import { ResourceType } from '../../../shared/resource-type';
import { excludeFromEquals } from '../../../utilities/equals.decorators';
import { SUGGESTION } from './suggestion-objects.resource-type';
/**

View File

@@ -7,21 +7,21 @@ import {
import { of as observableOf } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../cache/object-cache.service';
import { RestResponse } from '../../cache/response.models';
import { CoreState } from '../../core-state.model';
import { FindAllData } from '../../data/base/find-all-data';
import { testFindAllDataImplementation } from '../../data/base/find-all-data.spec';
import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service';
import { RemoteData } from '../../data/remote-data';
import { GetRequest } from '../../data/request.models';
import { RequestService } from '../../data/request.service';
import { RequestEntry } from '../../data/request-entry.model';
import { RequestEntryState } from '../../data/request-entry-state.model';
import { HALEndpointService } from '../../shared/hal-endpoint.service';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../cache/object-cache.service';
import { RestResponse } from '../../../cache/response.models';
import { CoreState } from '../../../core-state.model';
import { FindAllData } from '../../../data/base/find-all-data';
import { testFindAllDataImplementation } from '../../../data/base/find-all-data.spec';
import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service';
import { RemoteData } from '../../../data/remote-data';
import { GetRequest } from '../../../data/request.models';
import { RequestService } from '../../../data/request.service';
import { RequestEntry } from '../../../data/request-entry.model';
import { RequestEntryState } from '../../../data/request-entry-state.model';
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
import { SuggestionSource } from '../models/suggestion-source.model';
import { SuggestionSourceDataService } from './suggestion-source-data.service';

View File

@@ -3,22 +3,22 @@ import { Injectable } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../cache/object-cache.service';
import { CoreState } from '../../core-state.model';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model';
import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../cache/object-cache.service';
import { CoreState } from '../../../core-state.model';
import {
FindAllData,
FindAllDataImpl,
} from '../../data/base/find-all-data';
import { IdentifiableDataService } from '../../data/base/identifiable-data.service';
import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service';
import { FindListOptions } from '../../data/find-list-options.model';
import { PaginatedList } from '../../data/paginated-list.model';
import { RemoteData } from '../../data/remote-data';
import { RequestService } from '../../data/request.service';
import { HALEndpointService } from '../../shared/hal-endpoint.service';
} from '../../../data/base/find-all-data';
import { IdentifiableDataService } from '../../../data/base/identifiable-data.service';
import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service';
import { FindListOptions } from '../../../data/find-list-options.model';
import { PaginatedList } from '../../../data/paginated-list.model';
import { RemoteData } from '../../../data/remote-data';
import { RequestService } from '../../../data/request.service';
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
import { SuggestionSource } from '../models/suggestion-source.model';
/**

View File

@@ -6,22 +6,22 @@ import {
import { of as observableOf } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
import { RequestParam } from '../cache/models/request-param.model';
import { ObjectCacheService } from '../cache/object-cache.service';
import { RestResponse } from '../cache/response.models';
import { RemoteData } from '../data/remote-data';
import { RequestService } from '../data/request.service';
import { RequestEntry } from '../data/request-entry.model';
import { RequestEntryState } from '../data/request-entry-state.model';
import { HALEndpointService } from '../shared/hal-endpoint.service';
import { SuggestionsDataService } from './suggestions-data.service';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
import { RequestParam } from '../../cache/models/request-param.model';
import { ObjectCacheService } from '../../cache/object-cache.service';
import { RestResponse } from '../../cache/response.models';
import { RemoteData } from '../../data/remote-data';
import { RequestService } from '../../data/request.service';
import { RequestEntry } from '../../data/request-entry.model';
import { RequestEntryState } from '../../data/request-entry-state.model';
import { HALEndpointService } from '../../shared/hal-endpoint.service';
import { SuggestionDataService } from './suggestion-data.service';
describe('SuggestionDataService test', () => {
let scheduler: TestScheduler;
let service: SuggestionsDataService;
let service: SuggestionDataService;
let requestService: RequestService;
let rdbService: RemoteDataBuildService;
let objectCache: ObjectCacheService;
@@ -40,7 +40,7 @@ describe('SuggestionDataService test', () => {
};
function initTestService() {
return new SuggestionsDataService(
return new SuggestionDataService(
requestService,
rdbService,
objectCache,

View File

@@ -2,32 +2,31 @@ import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
import { RequestParam } from '../cache/models/request-param.model';
import { ObjectCacheService } from '../cache/object-cache.service';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
import { RequestParam } from '../../cache/models/request-param.model';
import { ObjectCacheService } from '../../cache/object-cache.service';
import {
DeleteData,
DeleteDataImpl,
} from '../data/base/delete-data';
import { IdentifiableDataService } from '../data/base/identifiable-data.service';
import { SearchDataImpl } from '../data/base/search-data';
import { FindListOptions } from '../data/find-list-options.model';
import { PaginatedList } from '../data/paginated-list.model';
import { RemoteData } from '../data/remote-data';
import { RequestService } from '../data/request.service';
import { HALEndpointService } from '../shared/hal-endpoint.service';
import { NoContent } from '../shared/NoContent.model';
} from '../../data/base/delete-data';
import { IdentifiableDataService } from '../../data/base/identifiable-data.service';
import { SearchDataImpl } from '../../data/base/search-data';
import { FindListOptions } from '../../data/find-list-options.model';
import { PaginatedList } from '../../data/paginated-list.model';
import { RemoteData } from '../../data/remote-data';
import { RequestService } from '../../data/request.service';
import { HALEndpointService } from '../../shared/hal-endpoint.service';
import { NoContent } from '../../shared/NoContent.model';
import { Suggestion } from './models/suggestion.model';
/**
* The service handling all Suggestion Target REST requests.
*/
@Injectable({ providedIn: 'root' })
export class SuggestionsDataService extends IdentifiableDataService<Suggestion> {
export class SuggestionDataService extends IdentifiableDataService<Suggestion> {
protected searchFindBySourceMethod = 'findBySource';
protected searchFindByTargetAndSourceMethod = 'findByTargetAndSource';
private deleteData: DeleteData<Suggestion>;

View File

@@ -7,24 +7,24 @@ import {
import { of as observableOf } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
import { RequestParam } from '../../cache/models/request-param.model';
import { ObjectCacheService } from '../../cache/object-cache.service';
import { RestResponse } from '../../cache/response.models';
import { CoreState } from '../../core-state.model';
import { FindAllData } from '../../data/base/find-all-data';
import { testFindAllDataImplementation } from '../../data/base/find-all-data.spec';
import { SearchData } from '../../data/base/search-data';
import { testSearchDataImplementation } from '../../data/base/search-data.spec';
import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service';
import { RemoteData } from '../../data/remote-data';
import { GetRequest } from '../../data/request.models';
import { RequestService } from '../../data/request.service';
import { RequestEntry } from '../../data/request-entry.model';
import { RequestEntryState } from '../../data/request-entry-state.model';
import { HALEndpointService } from '../../shared/hal-endpoint.service';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service';
import { RequestParam } from '../../../cache/models/request-param.model';
import { ObjectCacheService } from '../../../cache/object-cache.service';
import { RestResponse } from '../../../cache/response.models';
import { CoreState } from '../../../core-state.model';
import { FindAllData } from '../../../data/base/find-all-data';
import { testFindAllDataImplementation } from '../../../data/base/find-all-data.spec';
import { SearchData } from '../../../data/base/search-data';
import { testSearchDataImplementation } from '../../../data/base/search-data.spec';
import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service';
import { RemoteData } from '../../../data/remote-data';
import { GetRequest } from '../../../data/request.models';
import { RequestService } from '../../../data/request.service';
import { RequestEntry } from '../../../data/request-entry.model';
import { RequestEntryState } from '../../../data/request-entry-state.model';
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
import { SuggestionTarget } from '../models/suggestion-target.model';
import { SuggestionTargetDataService } from './suggestion-target-data.service';

View File

@@ -3,27 +3,27 @@ import { Injectable } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { NotificationsService } from '../../../shared/notifications/notifications.service';
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
import { RequestParam } from '../../cache/models/request-param.model';
import { ObjectCacheService } from '../../cache/object-cache.service';
import { CoreState } from '../../core-state.model';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model';
import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service';
import { RequestParam } from '../../../cache/models/request-param.model';
import { ObjectCacheService } from '../../../cache/object-cache.service';
import { CoreState } from '../../../core-state.model';
import {
FindAllData,
FindAllDataImpl,
} from '../../data/base/find-all-data';
import { IdentifiableDataService } from '../../data/base/identifiable-data.service';
} from '../../../data/base/find-all-data';
import { IdentifiableDataService } from '../../../data/base/identifiable-data.service';
import {
SearchData,
SearchDataImpl,
} from '../../data/base/search-data';
import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service';
import { FindListOptions } from '../../data/find-list-options.model';
import { PaginatedList } from '../../data/paginated-list.model';
import { RemoteData } from '../../data/remote-data';
import { RequestService } from '../../data/request.service';
import { HALEndpointService } from '../../shared/hal-endpoint.service';
} from '../../../data/base/search-data';
import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service';
import { FindListOptions } from '../../../data/find-list-options.model';
import { PaginatedList } from '../../../data/paginated-list.model';
import { RemoteData } from '../../../data/remote-data';
import { RequestService } from '../../../data/request.service';
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
import { SuggestionTarget } from '../models/suggestion-target.model';
@Injectable({ providedIn: 'root' })
@@ -55,19 +55,26 @@ export class SuggestionTargetDataService extends IdentifiableDataService<Suggest
* The source for which to find targets.
* @param options
* Find list options object.
* @param useCachedVersionIfAvailable
* If this is true, the request will only be sent if there's no valid cached version. Defaults to true
* @param reRequestOnStale
* Whether or not the request should automatically be re-requested
* @param linksToFollow
* List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved.
*
* @return Observable<RemoteData<PaginatedList<SuggestionTarget>>>
* The list of Suggestion Target.
*/
public getTargets(
public getTargetsBySource(
source: string,
options: FindListOptions = {},
useCachedVersionIfAvailable = true,
reRequestOnStale = true,
...linksToFollow: FollowLinkConfig<SuggestionTarget>[]
): Observable<RemoteData<PaginatedList<SuggestionTarget>>> {
options.searchParams = [new RequestParam('source', source)];
return this.searchBy(this.searchFindBySourceMethod, options, true, true, ...linksToFollow);
return this.searchBy(this.searchFindBySourceMethod, options, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
}
/**

View File

@@ -30,11 +30,11 @@ import { EPerson } from './eperson/models/eperson.model';
import { Group } from './eperson/models/group.model';
import { MetadataField } from './metadata/metadata-field.model';
import { MetadataSchema } from './metadata/metadata-schema.model';
import { SuggestionSource } from './notifications/models/suggestion-source.model';
import { SuggestionTarget } from './notifications/models/suggestion-target.model';
import { QualityAssuranceEventObject } from './notifications/qa/models/quality-assurance-event.model';
import { QualityAssuranceSourceObject } from './notifications/qa/models/quality-assurance-source.model';
import { QualityAssuranceTopicObject } from './notifications/qa/models/quality-assurance-topic.model';
import { SuggestionSource } from './notifications/suggestions/models/suggestion-source.model';
import { SuggestionTarget } from './notifications/suggestions/models/suggestion-target.model';
import { OrcidHistory } from './orcid/model/orcid-history.model';
import { OrcidQueue } from './orcid/model/orcid-queue.model';
import { ResearcherProfile } from './profile/model/researcher-profile.model';

View File

@@ -12,7 +12,7 @@ import {
import { TranslateModule } from '@ngx-translate/core';
import { take } from 'rxjs/operators';
import { Suggestion } from '../../core/notifications/models/suggestion.model';
import { Suggestion } from '../../core/notifications/suggestions/models/suggestion.model';
import { Collection } from '../../core/shared/collection.model';
import { ItemType } from '../../core/shared/item-relationships/item-type.model';
import { ThemedCreateItemParentSelectorComponent } from '../../shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component';

View File

@@ -1,4 +1,4 @@
import { Suggestion } from '../../core/notifications/models/suggestion.model';
import { Suggestion } from '../../core/notifications/suggestions/models/suggestion.model';
/**
* A simple interface to unite a specific suggestion and the id of the chosen collection

View File

@@ -8,7 +8,7 @@ import {
} from '@angular/core';
import { TranslateModule } from '@ngx-translate/core';
import { SuggestionEvidences } from '../../../core/notifications/models/suggestion.model';
import { SuggestionEvidences } from '../../../core/notifications/suggestions/models/suggestion.model';
import { fadeIn } from '../../../shared/animations/fade';
import { ObjectKeysPipe } from '../../../shared/utils/object-keys-pipe';

View File

@@ -8,7 +8,7 @@ import {
} from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { TranslateModule } from '@ngx-translate/core';
import { Suggestion } from 'src/app/core/notifications/models/suggestion.model';
import { Suggestion } from 'src/app/core/notifications/suggestions/models/suggestion.model';
import { ItemSearchResultListElementComponent } from '../../../themes/custom/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component';
import { Item } from '../../core/shared/item.model';

View File

@@ -22,7 +22,7 @@ import {
take,
} from 'rxjs/operators';
import { SuggestionTarget } from '../../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../../core/notifications/suggestions/models/suggestion-target.model';
import { PaginationService } from '../../../core/pagination/pagination.service';
import { hasValue } from '../../../shared/empty.util';
import { ThemedLoadingComponent } from '../../../shared/loading/themed-loading.component';

View File

@@ -1,7 +1,7 @@
/* eslint-disable max-classes-per-file */
import { Action } from '@ngrx/store';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import { type } from '../../shared/ngrx/type';
/**

View File

@@ -15,7 +15,7 @@ import {
} from 'rxjs/operators';
import { PaginatedList } from '../../core/data/paginated-list.model';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { SuggestionsService } from '../suggestions.service';
import {

View File

@@ -1,4 +1,4 @@
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import {
SuggestionTargetActionTypes,
SuggestionTargetsActions,

View File

@@ -6,8 +6,7 @@ import {
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionNotificationsState } from '../../notifications/notifications.reducer';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import {
getCurrentUserSuggestionTargetsSelector,
getCurrentUserSuggestionTargetsVisitedSelector,
@@ -17,6 +16,7 @@ import {
isSuggestionTargetLoadedSelector,
suggestionTargetObjectSelector,
} from '../../suggestion-notifications/selectors';
import { SuggestionNotificationsState } from '../notifications.reducer';
import {
ClearSuggestionTargetsAction,
MarkUserSuggestionsAsVisitedAction,

View File

@@ -7,9 +7,9 @@ import {
SortOptions,
} from '../core/cache/models/sort-options.model';
import { FindListOptions } from '../core/data/find-list-options.model';
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
import { SuggestionsDataService } from '../core/notifications/suggestions-data.service';
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
import { SuggestionTarget } from '../core/notifications/suggestions/models/suggestion-target.model';
import { SuggestionDataService } from '../core/notifications/suggestions/suggestion-data.service';
import { SuggestionTargetDataService } from '../core/notifications/suggestions/target/suggestion-target-data.service';
import { ResearcherProfile } from '../core/profile/model/researcher-profile.model';
import { ResearcherProfileDataService } from '../core/profile/researcher-profile-data.service';
import { ResourceType } from '../core/shared/resource-type';
@@ -22,7 +22,7 @@ describe('SuggestionsService test', () => {
let scheduler: TestScheduler;
let service: SuggestionsService;
let researcherProfileService: ResearcherProfileDataService;
let suggestionsDataService: SuggestionsDataService;
let suggestionsDataService: SuggestionDataService;
let suggestionTargetDataService: SuggestionTargetDataService;
let translateService: any = {
instant: (str) => str,
@@ -89,7 +89,7 @@ describe('SuggestionsService test', () => {
sort: sortOptions,
};
service.getTargets('source', 10, 1);
expect(suggestionTargetDataService.getTargets).toHaveBeenCalledWith('source', findListOptions);
expect(suggestionTargetDataService.getTargetsBySource).toHaveBeenCalledWith('source', findListOptions);
});
it('should get suggestions', () => {

View File

@@ -11,7 +11,7 @@ import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service';
import { SuggestionsService } from '../suggestions.service';

View File

@@ -22,7 +22,7 @@ import {
takeUntil,
} from 'rxjs/operators';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import { fromTopEnter } from '../../shared/animations/fromTop';
import { isNotEmpty } from '../../shared/empty.util';
import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service';

View File

@@ -21,10 +21,10 @@ import {
import { FindListOptions } from '../core/data/find-list-options.model';
import { PaginatedList } from '../core/data/paginated-list.model';
import { RemoteData } from '../core/data/remote-data';
import { Suggestion } from '../core/notifications/models/suggestion.model';
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
import { SuggestionsDataService } from '../core/notifications/suggestions-data.service';
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
import { Suggestion } from '../core/notifications/suggestions/models/suggestion.model';
import { SuggestionTarget } from '../core/notifications/suggestions/models/suggestion-target.model';
import { SuggestionDataService } from '../core/notifications/suggestions/suggestion-data.service';
import { SuggestionTargetDataService } from '../core/notifications/suggestions/target/suggestion-target-data.service';
import { ResearcherProfile } from '../core/profile/model/researcher-profile.model';
import { ResearcherProfileDataService } from '../core/profile/researcher-profile-data.service';
import { NoContent } from '../core/shared/NoContent.model';
@@ -62,12 +62,12 @@ export class SuggestionsService {
* Initialize the service variables.
* @param {ResearcherProfileDataService} researcherProfileService
* @param {SuggestionTargetDataService} suggestionTargetDataService
* @param {SuggestionsDataService} suggestionsDataService
* @param {SuggestionDataService} suggestionsDataService
* @param translateService
*/
constructor(
private researcherProfileService: ResearcherProfileDataService,
private suggestionsDataService: SuggestionsDataService,
private suggestionsDataService: SuggestionDataService,
private suggestionTargetDataService: SuggestionTargetDataService,
private translateService: TranslateService,
) {
@@ -94,7 +94,7 @@ export class SuggestionsService {
sort: sortOptions,
};
return this.suggestionTargetDataService.getTargets(source, findListOptions).pipe(
return this.suggestionTargetDataService.getTargetsBySource(source, findListOptions).pipe(
getFinishedRemoteData(),
take(1),
map((rd: RemoteData<PaginatedList<SuggestionTarget>>) => {

View File

@@ -1,4 +1,4 @@
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../../core/notifications/suggestions/models/suggestion-target.model';
import { ResourceType } from '../../core/shared/resource-type';
// REST Mock ---------------------------------------------------------------------

View File

@@ -2,8 +2,8 @@
// REST Mock ---------------------------------------------------------------------
// -------------------------------------------------------------------------------
import { Suggestion } from '../../core/notifications/models/suggestion.model';
import { SUGGESTION } from '../../core/notifications/models/suggestion-objects.resource-type';
import { Suggestion } from '../../core/notifications/suggestions/models/suggestion.model';
import { SUGGESTION } from '../../core/notifications/suggestions/models/suggestion-objects.resource-type';
export const mockSuggestionPublicationOne: Suggestion = {
id: '24694773',

View File

@@ -4,7 +4,7 @@ import {
MemoizedSelector,
} from '@ngrx/store';
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
import { SuggestionTarget } from '../core/notifications/suggestions/models/suggestion-target.model';
import {
suggestionNotificationsSelector,
SuggestionNotificationsState,

View File

@@ -37,8 +37,8 @@ import {
import { FindListOptions } from '../core/data/find-list-options.model';
import { PaginatedList } from '../core/data/paginated-list.model';
import { RemoteData } from '../core/data/remote-data';
import { Suggestion } from '../core/notifications/models/suggestion.model';
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
import { Suggestion } from '../core/notifications/suggestions/models/suggestion.model';
import { SuggestionTarget } from '../core/notifications/suggestions/models/suggestion-target.model';
import { PaginationService } from '../core/pagination/pagination.service';
import { redirectOn4xx } from '../core/shared/authorized.operators';
import { getFirstSucceededRemoteDataPayload } from '../core/shared/operators';

View File

@@ -8,8 +8,8 @@ import { Observable } from 'rxjs';
import { find } from 'rxjs/operators';
import { RemoteData } from '../core/data/remote-data';
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
import { SuggestionTarget } from '../core/notifications/suggestions/models/suggestion-target.model';
import { SuggestionTargetDataService } from '../core/notifications/suggestions/target/suggestion-target-data.service';
import { hasValue } from '../shared/empty.util';
/**