From a8fc99b0442db0ddd1f9523c67c3d97b560c5faf Mon Sep 17 00:00:00 2001 From: Ehsan Rezaei Date: Tue, 25 Aug 2026 18:23:20 +0200 Subject: [PATCH] AAE-49653 Removing dead code and improvements --- .../services/task-filter-cloud.service.md | 5 -- .../process-filters-cloud.component.ts | 58 ++++++++++--------- .../mock/process-filters-cloud.mock.ts | 22 ------- .../process-filter-cloud.service.spec.ts | 15 +---- .../services/process-filter-cloud.service.ts | 31 ---------- .../task-filters-cloud.component.ts | 28 ++++----- .../mock/task-filters-cloud.mock.ts | 6 -- .../task-filter-cloud.service.spec.ts | 17 +----- .../services/task-filter-cloud.service.ts | 31 ---------- 9 files changed, 47 insertions(+), 166 deletions(-) diff --git a/docs/process-services-cloud/services/task-filter-cloud.service.md b/docs/process-services-cloud/services/task-filter-cloud.service.md index c24be9cf15..58c5802e9c 100644 --- a/docs/process-services-cloud/services/task-filter-cloud.service.md +++ b/docs/process-services-cloud/services/task-filter-cloud.service.md @@ -35,11 +35,6 @@ Manages task filters. Gets all task filters for a task app. - _appName:_ `string` - (Optional) Name of the target app - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskFilterCloudModel`](../../../lib/process-services-cloud/src/lib/task/task-filters/models/filter-cloud.model.ts)`[]>` - Observable of task filter details -- **getTaskNotificationSubscription**(appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskCloudEngineEvent`](../../../lib/process-services-cloud/src/lib/models/engine-event-cloud.model.ts)`[]>`
- - - _appName:_ `string` - - - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskCloudEngineEvent`](../../../lib/process-services-cloud/src/lib/models/engine-event-cloud.model.ts)`[]>` - - - **isDefaultFilter**(filterName: `string`): `boolean`
Checks if given filter is a default filter - _filterName:_ `string` - Name of the target task filter diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts index e0e74ba1cb..806ca7b5d0 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/process-filters/process-filters-cloud.component.ts @@ -75,10 +75,10 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges { currentFilter?: ProcessFilterCloudModel; filters: ProcessFilterCloudModel[] = []; counters: { [key: string]: number } = {}; - currentFiltersValues: { [key: string]: number } = {}; - updatedFiltersSet = new Set(); enableNotifications = true; notificationDebounceTime = 3000; + currentFiltersValues: { [key: string]: number } = {}; + updatedFiltersSet = new Set(); private filtersLoadedFor?: string; private countersSubscription?: Subscription; @@ -93,7 +93,6 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges { ngOnInit() { this.enableNotifications = this.appConfigService.get('notifications', true); this.notificationDebounceTime = this.appConfigService.get('notificationDebounceTime', 3000); - if (!this.filtersLoadedFor) { this.getFilters(this.appName); } @@ -139,7 +138,7 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges { /** * Initialize counter collection for filters */ - initFilterCounters(): void { + initFilterCounters() { this.filters.forEach((filter) => (this.counters[filter.key] = 0)); } @@ -165,6 +164,20 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges { ); // fallback to preserve the previous behavior } + /** + * Check equality of the filter names by translating the given name strings + * + * @param name1 source name + * @param name2 target name + * @returns `true` if filter names are equal, otherwise `false` + */ + private checkFilterNamesEquality(name1: string, name2: string): boolean { + const translatedName1 = this.translationService.instant(name1); + const translatedName2 = this.translationService.instant(name2); + + return translatedName1.toLocaleLowerCase() === translatedName2.toLocaleLowerCase(); + } + /** * Selects and emits the given filter * @@ -231,6 +244,14 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges { return this.filters === undefined || (this.filters && this.filters.length === 0); } + /** + * Reset the filters + */ + private resetFilter() { + this.filters = []; + this.currentFilter = undefined; + } + isActiveFilter(filter: ProcessFilterCloudModel): boolean { return this.currentFilter.name === filter.name; } @@ -243,37 +264,18 @@ export class ProcessFiltersCloudComponent implements OnInit, OnChanges { } } - /** Flags the counter of a filter as read whenever the filter is refreshed elsewhere */ - getFilterKeysAfterExternalRefreshing(): void { - this.processFilterCloudService.filterKeyToBeRefreshed$ - .pipe(takeUntilDestroyed(this.destroyRef)) - .subscribe((filterKey: string) => this.updatedFiltersSet.delete(filterKey)); - } - isFilterUpdated(filterName: string): boolean { return this.updatedFiltersSet.has(filterName); } /** - * Check equality of the filter names by translating the given name strings + * Get filer key when filter was refreshed by external action * - * @param name1 source name - * @param name2 target name - * @returns `true` if filter names are equal, otherwise `false` */ - private checkFilterNamesEquality(name1: string, name2: string): boolean { - const translatedName1 = this.translationService.instant(name1); - const translatedName2 = this.translationService.instant(name2); - - return translatedName1.toLocaleLowerCase() === translatedName2.toLocaleLowerCase(); - } - - /** - * Reset the filters - */ - private resetFilter() { - this.filters = []; - this.currentFilter = undefined; + getFilterKeysAfterExternalRefreshing(): void { + this.processFilterCloudService.filterKeyToBeRefreshed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((filterKey: string) => { + this.updatedFiltersSet.delete(filterKey); + }); } private loadFilterCounters(appName: string, filters$: Observable): void { diff --git a/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts b/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts index d39f80a1a8..5f31e0a9da 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/mock/process-filters-cloud.mock.ts @@ -189,25 +189,3 @@ const mockAppVersion2: ApplicationVersionModel = { }; export const mockAppVersions = [mockAppVersion1, mockAppVersion2]; - -export const processNotifications = [ - { - eventType: 'PROCESS_CREATED', - entity: { - appVersion: '1', - id: 'bccc1217-7036-11ef-86f2-bae4749e773e', - processDefinitionId: 'Process_XmWTFMqf:1:1b30709b-6ff3-11ef-86f2-bae4749e773e', - processDefinitionKey: 'Process_XmWTFMqf', - initiator: 'hruser', - status: 'CREATED', - processDefinitionVersion: 1, - processDefinitionName: 'processchild' - } - } -]; - -export const processCloudEngineEventsMock = { - data: { - engineEvents: processNotifications - } -}; diff --git a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts index bdfa3094be..7a5a7911d3 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts @@ -25,12 +25,10 @@ import { fakeProcessCloudFilterEntries, fakeProcessCloudFilters, fakeProcessCloudFilterWithDifferentEntries, - fakeProcessFilter, - processCloudEngineEventsMock + fakeProcessFilter } from '../mock/process-filters-cloud.mock'; import { ProcessFilterCloudModel } from '../models/process-filter-cloud.model'; import { IdentityUserService } from '../../../people/services/identity-user.service'; -import { NotificationCloudService } from '../../../services/notification-cloud.service'; import { ApolloTestingModule } from 'apollo-angular/testing'; import { NoopTranslateModule, NoopAuthModule } from '@alfresco/adf-core'; @@ -41,7 +39,6 @@ describe('ProcessFilterCloudService', () => { let updatePreferenceSpy: jasmine.Spy; let createPreferenceSpy: jasmine.Spy; let getCurrentUserInfoSpy: jasmine.Spy; - let notificationCloudService: NotificationCloudService; const identityUserMock = { username: 'mock-username', @@ -59,7 +56,6 @@ describe('ProcessFilterCloudService', () => { const preferenceCloudService = TestBed.inject(PROCESS_FILTERS_SERVICE_TOKEN); const identityUserService = TestBed.inject(IdentityUserService); - notificationCloudService = TestBed.inject(NotificationCloudService); createPreferenceSpy = spyOn(preferenceCloudService, 'createPreference').and.returnValue(of(fakeProcessCloudFilters)); updatePreferenceSpy = spyOn(preferenceCloudService, 'updatePreference').and.returnValue(of(fakeProcessCloudFilters)); @@ -250,13 +246,4 @@ describe('ProcessFilterCloudService', () => { expect(updatePreferenceSpy).toHaveBeenCalledWith('mock-appName', 'process-filters-mock-appName-mock-username', fakeProcessCloudFilters); }); - - it('should return engine event task subscription', async () => { - spyOn(notificationCloudService, 'makeGQLQuery').and.returnValue(of(processCloudEngineEventsMock)); - - const result = await firstValueFrom(service.getProcessNotificationSubscription('testApp')); - expect(result.length).toBe(1); - expect(result[0].eventType).toBe('PROCESS_CREATED'); - expect(result[0].entity.status).toBe('CREATED'); - }); }); diff --git a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts index 9839470ea2..8d2df151a8 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts @@ -22,24 +22,6 @@ import { switchMap, map } from 'rxjs/operators'; import { PROCESS_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service'; import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface'; import { IdentityUserService } from '../../../people/services/identity-user.service'; -import { NotificationCloudService } from '../../../services/notification-cloud.service'; -import { TaskCloudEngineEvent } from '../../../models/engine-event-cloud.model'; - -const PROCESS_EVENT_SUBSCRIPTION_QUERY = ` - subscription { - engineEvents(eventType: [ - PROCESS_CANCELLED - PROCESS_COMPLETED - PROCESS_CREATED - PROCESS_RESUMED - PROCESS_SUSPENDED - PROCESS_STARTED - ]) { - eventType - entity - } - } -`; @Injectable({ providedIn: 'root' @@ -52,7 +34,6 @@ export class ProcessFilterCloudService { protected readonly preferenceService = inject(PROCESS_FILTERS_SERVICE_TOKEN); protected readonly identityUserService = inject(IdentityUserService); - private readonly notificationCloudService = inject(NotificationCloudService); constructor() { this.filtersSubject = new BehaviorSubject([]); @@ -404,18 +385,6 @@ export class ProcessFilterCloudService { ]; } - /** - * @deprecated use FilterCountersCloudService.getEngineEvents instead. - * - * @param appName Name of the target app - * @returns Process engine events - */ - getProcessNotificationSubscription(appName: string): Observable { - return this.notificationCloudService - .makeGQLQuery(appName, PROCESS_EVENT_SUBSCRIPTION_QUERY) - .pipe(map((events: any) => events?.data?.engineEvents)); - } - /** * Refresh filter key * diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts index a5b9fac8c6..c8df6aaf96 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/task-filters/task-filters-cloud.component.ts @@ -77,7 +77,6 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp ngOnInit() { this.enableNotifications = this.appConfigService.get('notifications', true); this.notificationDebounceTime = this.appConfigService.get('notificationDebounceTime', 3000); - if (!this.filtersLoadedFor) { this.getFilters(this.appName); } @@ -223,6 +222,14 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp return this.filters === undefined || (this.filters && this.filters.length === 0); } + /** + * Reset the filters properties + */ + private resetFilter() { + this.filters = []; + this.currentFilter = undefined; + } + checkIfFilterValuesHasBeenUpdated(filterKey: string, filterValue: number) { if (this.currentFiltersValues[filterKey] === undefined || this.currentFiltersValues[filterKey] !== filterValue) { this.currentFiltersValues = { ...this.currentFiltersValues, [filterKey]: filterValue }; @@ -231,11 +238,14 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp } } - /** Flags the counter of a filter as read whenever the filter is refreshed elsewhere */ + /** + * Get filer key when filter was refreshed by external action + * + */ getFilterKeysAfterExternalRefreshing(): void { - this.taskFilterCloudService.filterKeyToBeRefreshed$ - .pipe(takeUntilDestroyed(this.destroyRef)) - .subscribe((filterKey: string) => this.updatedCountersSet.delete(filterKey)); + this.taskFilterCloudService.filterKeyToBeRefreshed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((filterKey: string) => { + this.updatedCountersSet.delete(filterKey); + }); } private loadFilterCounters(appName: string, filters$: Observable): void { @@ -261,12 +271,4 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent imp this.counters = { ...this.counters, [filter.key]: counter }; }); } - - /** - * Reset the filters properties - */ - private resetFilter() { - this.filters = []; - this.currentFilter = undefined; - } } diff --git a/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts b/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts index 0f8bf2e70a..760e6d2e9f 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/mock/task-filters-cloud.mock.ts @@ -285,12 +285,6 @@ export const taskNotifications = [ } ]; -export const taskCloudEngineEventsMock = { - data: { - engineEvents: taskNotifications - } -}; - export const defaultTaskFiltersMock: TaskFilterCloudModel[] = [ new TaskFilterCloudModel({ name: 'CREATED_TASK_FILTER', diff --git a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts index 80c2c514cb..6de519f5ba 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.spec.ts @@ -25,12 +25,10 @@ import { fakePreferenceWithNoTaskFilterPreference, fakeTaskCloudFilters, fakeTaskCloudPreferenceList, - fakeTaskFilter, - taskCloudEngineEventsMock + fakeTaskFilter } from '../mock/task-filters-cloud.mock'; import { UserPreferenceCloudService } from '../../../services/user-preference-cloud.service'; import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface'; -import { NotificationCloudService } from '../../../services/notification-cloud.service'; import { IdentityUserService } from '../../../people/services/identity-user.service'; import { ApolloTestingModule } from 'apollo-angular/testing'; import { StorageService, NoopAuthModule, NoopTranslateModule } from '@alfresco/adf-core'; @@ -38,7 +36,6 @@ import { TaskStatusFilter } from '../models/filter-cloud.model'; describe('TaskFilterCloudService', () => { let service: TaskFilterCloudService; - let notificationCloudService: NotificationCloudService; let getPreferencesSpy: jasmine.Spy; let getPreferenceByKeySpy: jasmine.Spy; @@ -58,7 +55,6 @@ describe('TaskFilterCloudService', () => { providers: [{ provide: TASK_FILTERS_SERVICE_TOKEN, useClass: UserPreferenceCloudService }] }); service = TestBed.inject(TaskFilterCloudService); - notificationCloudService = TestBed.inject(NotificationCloudService); const preferenceCloudService = service.preferenceService; createPreferenceSpy = spyOn(preferenceCloudService, 'createPreference').and.returnValue(of(fakeTaskCloudFilters)); @@ -234,17 +230,6 @@ describe('TaskFilterCloudService', () => { expect(service.isDefaultFilter(defaultFilterName)).toBe(true); expect(service.isDefaultFilter(fakeFilterName)).toBe(false); }); - - it('should return engine event task subscription', (done) => { - spyOn(notificationCloudService, 'makeGQLQuery').and.returnValue(of(taskCloudEngineEventsMock)); - - service.getTaskNotificationSubscription('myAppName').subscribe((res) => { - expect(res.length).toBe(1); - expect(res[0].eventType).toBe('TASK_ASSIGNED'); - expect(res[0].entity.name).toBe('This is a new task'); - done(); - }); - }); }); describe('Inject [LocalPreferenceCloudService] into the TaskFilterCloudService', () => { diff --git a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts index 371aa3a073..baafc85244 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts @@ -22,32 +22,12 @@ import { switchMap, map } from 'rxjs/operators'; import { BaseCloudService } from '../../../services/base-cloud.service'; import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface'; import { TASK_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service'; -import { NotificationCloudService } from '../../../services/notification-cloud.service'; -import { TaskCloudEngineEvent } from '../../../models/engine-event-cloud.model'; import { IdentityUserService } from '../../../people/services/identity-user.service'; -const TASK_EVENT_SUBSCRIPTION_QUERY = ` - subscription { - engineEvents(eventType: [ - TASK_COMPLETED - TASK_ASSIGNED - TASK_ACTIVATED - TASK_SUSPENDED - TASK_CANCELLED, - TASK_CREATED - ]) { - eventType - entity - } - } -`; - @Injectable({ providedIn: 'root' }) export class TaskFilterCloudService extends BaseCloudService { - private readonly notificationCloudService = inject(NotificationCloudService); - public preferenceService = inject(TASK_FILTERS_SERVICE_TOKEN); protected identityUserService = inject(IdentityUserService); @@ -323,17 +303,6 @@ export class TaskFilterCloudService extends BaseCloudService { ]; } - /** - * @deprecated use FilterCountersCloudService.getEngineEvents instead. - * @param appName Name of the target app - * @returns Task engine events - */ - getTaskNotificationSubscription(appName: string): Observable { - return this.notificationCloudService - .makeGQLQuery(appName, TASK_EVENT_SUBSCRIPTION_QUERY) - .pipe(map((events: any) => events.data.engineEvents)); - } - /** * Refresh filter key *