[ACS-11205] Use new LazyApi decorator (#5079)

* [ACS-11205] Use new LazyApi decorator

* [ACS-11205] Use latest ADF

* [ACS-11025] CR fixes
This commit is contained in:
Michal Kinas
2026-03-12 12:00:23 +01:00
committed by GitHub
parent 9ea290dac7
commit ea8c621f54
13 changed files with 100 additions and 139 deletions
@@ -52,7 +52,8 @@ import {
PeopleApi,
VersionsApi,
DirectAccessUrlEntry,
VersionPaging
VersionPaging,
LazyApi
} from '@alfresco/js-api';
import { map } from 'rxjs/operators';
@@ -60,65 +61,36 @@ import { map } from 'rxjs/operators';
providedIn: 'root'
})
export class ContentApiService {
private _nodesApi: NodesApi;
get nodesApi(): NodesApi {
this._nodesApi = this._nodesApi ?? new NodesApi(this.api.getInstance());
return this._nodesApi;
}
@LazyApi((self: ContentApiService) => new NodesApi(self.api.getInstance()))
nodesApi: NodesApi;
private _trashcanApi: TrashcanApi;
get trashcanApi(): TrashcanApi {
this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.api.getInstance());
return this._trashcanApi;
}
@LazyApi((self: ContentApiService) => new TrashcanApi(self.api.getInstance()))
trashcanApi: TrashcanApi;
private _sharedLinksApi: SharedlinksApi;
get sharedLinksApi(): SharedlinksApi {
this._sharedLinksApi = this._sharedLinksApi ?? new SharedlinksApi(this.api.getInstance());
return this._sharedLinksApi;
}
@LazyApi((self: ContentApiService) => new SharedlinksApi(self.api.getInstance()))
sharedLinksApi: SharedlinksApi;
private _discoveryApi: DiscoveryApi;
get discoveryApi(): DiscoveryApi {
this._discoveryApi = this._discoveryApi ?? new DiscoveryApi(this.api.getInstance());
return this._discoveryApi;
}
@LazyApi((self: ContentApiService) => new DiscoveryApi(self.api.getInstance()))
discoveryApi: DiscoveryApi;
private _favoritesApi: FavoritesApi;
get favoritesApi(): FavoritesApi {
this._favoritesApi = this._favoritesApi ?? new FavoritesApi(this.api.getInstance());
return this._favoritesApi;
}
@LazyApi((self: ContentApiService) => new FavoritesApi(self.api.getInstance()))
favoritesApi: FavoritesApi;
private _contentApi: ContentApi;
get contentApi(): ContentApi {
this._contentApi = this._contentApi ?? new ContentApi(this.api.getInstance());
return this._contentApi;
}
@LazyApi((self: ContentApiService) => new ContentApi(self.api.getInstance()))
contentApi: ContentApi;
private _sitesApi: SitesApi;
get sitesApi(): SitesApi {
this._sitesApi = this._sitesApi ?? new SitesApi(this.api.getInstance());
return this._sitesApi;
}
@LazyApi((self: ContentApiService) => new SitesApi(self.api.getInstance()))
sitesApi: SitesApi;
private _searchApi: SearchApi;
get searchApi(): SearchApi {
this._searchApi = this._searchApi ?? new SearchApi(this.api.getInstance());
return this._searchApi;
}
@LazyApi((self: ContentApiService) => new SearchApi(self.api.getInstance()))
searchApi: SearchApi;
private _peopleApi: PeopleApi;
get peopleApi(): PeopleApi {
this._peopleApi = this._peopleApi ?? new PeopleApi(this.api.getInstance());
return this._peopleApi;
}
@LazyApi((self: ContentApiService) => new PeopleApi(self.api.getInstance()))
peopleApi: PeopleApi;
@LazyApi((self: ContentApiService) => new VersionsApi(self.api.getInstance()))
versionsApi: VersionsApi;
private _versionsApi: VersionsApi;
get versionsApi(): VersionsApi {
this._versionsApi = this._versionsApi ?? new VersionsApi(this.api.getInstance());
return this._versionsApi;
}
constructor(
private readonly api: AlfrescoApiService,
private readonly preferences: UserPreferencesService
@@ -26,16 +26,15 @@ import { inject, Injectable } from '@angular/core';
import { ProfileState } from '@alfresco/adf-extensions';
import { AlfrescoApiService, GroupService } from '@alfresco/adf-content-services';
import { BehaviorSubject } from 'rxjs';
import { PeopleApi } from '@alfresco/js-api';
import { PeopleApi, LazyApi } from '@alfresco/js-api';
@Injectable({ providedIn: 'root' })
export class UserProfileService {
private api = inject(AlfrescoApiService);
private groupService = inject(GroupService);
private get peopleApi(): PeopleApi {
return new PeopleApi(this.api.getInstance());
}
@LazyApi((self: UserProfileService) => new PeopleApi(self.api.getInstance()))
private peopleApi: PeopleApi;
private userProfile = new BehaviorSubject<ProfileState>(null);
userProfile$ = this.userProfile.asObservable();