mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
[ACA-2948] Add API to fetch the bpm properties (#5610)
* Add the api to fetch the bpm properties * remove useless map * Use latest api * Use the BehaviorSubject * filter the status true
This commit is contained in:
parent
55a5cc073b
commit
e56331fecb
@ -34,7 +34,7 @@ export class AlfrescoApiServiceMock extends AlfrescoApiService {
|
||||
|
||||
initialize(): Promise<any> {
|
||||
return new Promise((resolve) => {
|
||||
this.alfrescoApiInitializedSubject.next();
|
||||
this.alfrescoApiInitializedSubject.next(true);
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ import {
|
||||
AlfrescoApiCompatibility, AlfrescoApiConfig
|
||||
} from '@alfresco/js-api';
|
||||
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
||||
import { Subject, Observable } from 'rxjs';
|
||||
import { Subject, Observable, BehaviorSubject } from 'rxjs';
|
||||
import { OauthConfigModel } from '../models/oauth-config.model';
|
||||
import { StorageService } from './storage.service';
|
||||
|
||||
@ -40,7 +40,7 @@ export class AlfrescoApiService {
|
||||
*/
|
||||
nodeUpdated = new Subject<Node>();
|
||||
|
||||
protected alfrescoApiInitializedSubject: Subject<any>;
|
||||
protected alfrescoApiInitializedSubject: BehaviorSubject<any>;
|
||||
alfrescoApiInitialized: Observable<any>;
|
||||
|
||||
protected alfrescoApi: AlfrescoApiCompatibility;
|
||||
@ -102,7 +102,7 @@ export class AlfrescoApiService {
|
||||
constructor(
|
||||
protected appConfig: AppConfigService,
|
||||
protected storageService: StorageService) {
|
||||
this.alfrescoApiInitializedSubject = new Subject();
|
||||
this.alfrescoApiInitializedSubject = new BehaviorSubject(null);
|
||||
this.alfrescoApiInitialized = this.alfrescoApiInitializedSubject.asObservable();
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@ export class AlfrescoApiService {
|
||||
await this.appConfig.load().then(() => {
|
||||
this.storageService.prefix = this.appConfig.get<string>(AppConfigValues.STORAGE_PREFIX, '');
|
||||
this.initAlfrescoApi();
|
||||
this.alfrescoApiInitializedSubject.next();
|
||||
this.alfrescoApiInitializedSubject.next(true);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@ import { AppConfigService } from '../app-config/app-config.service';
|
||||
import { DiscoveryApiService } from './discovery-api.service';
|
||||
import { setupTestBed } from '../testing/setup-test-bed';
|
||||
import { CoreTestingModule } from '../testing/core.testing.module';
|
||||
import { SystemPropertiesRepresentation } from '@alfresco/js-api';
|
||||
|
||||
declare let jasmine: any;
|
||||
|
||||
@ -87,6 +88,18 @@ const fakeBPMDiscoveryResponse: any = {
|
||||
'minorVersion': '6'
|
||||
};
|
||||
|
||||
const fakeBPMDiscoverySystemPropertyResponse: any = {
|
||||
'allowInvolveByEmail': true,
|
||||
'disableJavaScriptEventsInFormEditor': false,
|
||||
'logoutDisabled': false,
|
||||
'authConfiguration': {
|
||||
'authUrl': 'fakeAuthUrl',
|
||||
'realm': 'fakeRealm',
|
||||
'clientId': 'fakeClient',
|
||||
'useBrowserLogout': true
|
||||
}
|
||||
};
|
||||
|
||||
describe('Discovery Api Service', () => {
|
||||
|
||||
let service;
|
||||
@ -172,5 +185,42 @@ describe('Discovery Api Service', () => {
|
||||
status: 403
|
||||
});
|
||||
});
|
||||
|
||||
it('Should retrieve the system properties for BPM', (done) => {
|
||||
service.getBPMSystemProperties().subscribe((data: SystemPropertiesRepresentation) => {
|
||||
expect(data).not.toBeNull();
|
||||
expect(data.allowInvolveByEmail).toBe(true);
|
||||
expect(data.disableJavaScriptEventsInFormEditor).toBe(false);
|
||||
expect(data.logoutDisabled).toBe(false);
|
||||
expect(data.authConfiguration.authUrl).toBe('fakeAuthUrl');
|
||||
expect(data.authConfiguration.realm).toBe('fakeRealm');
|
||||
expect(data.authConfiguration.clientId).toBe('fakeClient');
|
||||
expect(data.authConfiguration.useBrowserLogout).toBe(true);
|
||||
done();
|
||||
});
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 200,
|
||||
contentType: 'json',
|
||||
responseText: fakeBPMDiscoverySystemPropertyResponse
|
||||
});
|
||||
});
|
||||
|
||||
it('Should retrieve the system properties for BPM', (done) => {
|
||||
service.getBPMSystemProperties().subscribe(
|
||||
() => {
|
||||
fail('expected an error, bpm not running');
|
||||
},
|
||||
(error) => {
|
||||
expect(error.response.statusCode).toEqual(404);
|
||||
expect(error.response.statusText).toEqual('Not Found');
|
||||
done();
|
||||
});
|
||||
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({
|
||||
status: 404,
|
||||
statusText: 'Not Found'
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -20,6 +20,10 @@ import { from, throwError, Observable } from 'rxjs';
|
||||
import { BpmProductVersionModel, EcmProductVersionModel } from '../models/product-version.model';
|
||||
import { AlfrescoApiService } from './alfresco-api.service';
|
||||
import { map, catchError } from 'rxjs/operators';
|
||||
import {
|
||||
SystemPropertiesRepresentation,
|
||||
Activiti
|
||||
} from '@alfresco/js-api';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@ -51,4 +55,15 @@ export class DiscoveryApiService {
|
||||
catchError((err) => throwError(err))
|
||||
);
|
||||
}
|
||||
|
||||
private get systemPropertiesApi(): Activiti.SystemPropertiesApi {
|
||||
return this.apiService.getInstance().activiti.systemPropertiesApi;
|
||||
}
|
||||
|
||||
public getBPMSystemProperties(): Observable<SystemPropertiesRepresentation> {
|
||||
return from(this.systemPropertiesApi.getProperties())
|
||||
.pipe(
|
||||
catchError((err) => throwError(err.error))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ import { Observable, BehaviorSubject } from 'rxjs';
|
||||
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
||||
import { LanguageItem } from '../language-menu/language.interface';
|
||||
import { StorageService } from './storage.service';
|
||||
import { distinctUntilChanged, map } from 'rxjs/operators';
|
||||
import { distinctUntilChanged, map, filter } from 'rxjs/operators';
|
||||
import { AlfrescoApiService } from './alfresco-api.service';
|
||||
|
||||
export enum UserPreferenceValues {
|
||||
@ -51,7 +51,7 @@ export class UserPreferencesService {
|
||||
private appConfig: AppConfigService,
|
||||
private storage: StorageService,
|
||||
private alfrescoApiService: AlfrescoApiService) {
|
||||
this.alfrescoApiService.alfrescoApiInitialized.subscribe(this.initUserPreferenceStatus.bind(this));
|
||||
this.alfrescoApiService.alfrescoApiInitialized.pipe(filter(status => status)).subscribe(this.initUserPreferenceStatus.bind(this));
|
||||
this.onChangeSubject = new BehaviorSubject(this.userPreferenceStatus);
|
||||
this.onChange = this.onChangeSubject.asObservable();
|
||||
}
|
||||
|
56
package-lock.json
generated
56
package-lock.json
generated
@ -5,11 +5,11 @@
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@alfresco/adf-cli": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.7.0.tgz",
|
||||
"integrity": "sha512-cp0S8TkWWeIRCfapiQq5AfVXyhljtK7gJ4K+MRsU8spaWYRfGUXgA/RMeHdddy+ksBt98dG9EvtYGXiIhq/syQ==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-O3QiEXBBY3Ar+XvPVdVfrw8NYxNr1juXG9qU80iRFAvmE4u5OymEpBJS7aYT100MsUg2ntpxNtnRzvpNPP7Ofg==",
|
||||
"requires": {
|
||||
"@alfresco/adf-testing": "3.7.0",
|
||||
"@alfresco/adf-testing": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@angular-devkit/core": "^7.2.15",
|
||||
"commander": "^4.0.0",
|
||||
"ejs": "^2.6.1",
|
||||
@ -21,65 +21,71 @@
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-content-services": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.7.0.tgz",
|
||||
"integrity": "sha512-AMFck7pdrYGL0I4AhbFV4RBNE5I273Q9/99m4tNcpctAQJVVo/ZeZ1dpgibkrz2LL9Bd+WwNsqWMUTf0e0ZIMQ==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-DzK7cgeujufLMOthx7wzbDvTvFs5rRvF56I2AxiFUj48mao9EIl+IxHudwzBS814Tln1sV1vY7C+tq/VqX1pzg==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-core": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.7.0.tgz",
|
||||
"integrity": "sha512-A5z85OkZSG6CdH4KUbhDFchZp0mQderSjOPhjGw6EI409DpbZy4UcNf0dsocAMTIdDXh0s4ubmcWN+5NqZqQpw==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-GQMoGBsm5PBhl3iShR3+Q6iiIQ15DLRtL2uF8qi6jajH0MzUycxGri/bN8oEscz6IJ2WBYJM7AMI5qF452Wikg==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-extensions": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.7.0.tgz",
|
||||
"integrity": "sha512-tYM6ddTKceTRemKW2nHiiHJJFH1a+U7l4LTdqNoRyTM66J4s5HDm/G+zsQBy1k7ybPTGC56d1mWA0jqq+gnEEQ==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-PyoGm0psaANn7TluZBQ/8irUAoz8SWxGonR1PoJM06YpI9IKWActqZwLSE2GsyTS2ZbcGD+a/45z9DscHTo/6w==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-insights": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.7.0.tgz",
|
||||
"integrity": "sha512-NvvQpM0u0w2qSR/2K7Vb7uRSEmuQcJyxcX5f0/qYsZNpbAqsiIW7QzgrTZ9tSSvxVZzBMd7OMwQQn89KV+s95g==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-qOrBF9GjV54pi/XZ3jsl0zF0G0zREdwKvNyJA+aXolrn8+KdCEUgifklcQ57kpngjWFw8fPuHsN4jNRAFv94Vg==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-process-services": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.7.0.tgz",
|
||||
"integrity": "sha512-a9mYsaf19qOdUYjAos5ym7T6roZJGvhYd3ghLs7CkJ7B12dEh+OtuBERAg0UbS+WxLx+tyUIxfBKu3e3SnmIPA==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-+qMbQkl7ApR5etxx915DWYN0DtvkRzL5M8FZDZbMgn86aWA7Nqj3IGlKdcmtIqXKao7lPvQgkEPBUwXFQ0gIug==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-process-services-cloud": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.7.0.tgz",
|
||||
"integrity": "sha512-4XGv9vLk5mBfMDoqV9+Qi2SciHzZfuWiG5ZYbDmqk6LSsjdsOF73bkAXeXVd5xhWigibIAuBvlaPL9Yb+lpWBQ==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-ZYF/sgsLWI1z+kJ2UkRPNTm+ccOqCxu4+8mEmyi80iF8ZJ1BHxW3wKsq3jLtVllgipjFgQQNVMhq08rjg6aczw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-testing": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.7.0.tgz",
|
||||
"integrity": "sha512-RvsWg3xHBtBZZ2x7zYhomsZ3gB93D5bmwphg/HeR90v53+ruu2hbgDk1+mv5qINhcbOF21cAcR4GtqVn0UnzVg==",
|
||||
"version": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193.tgz",
|
||||
"integrity": "sha512-v3nJ0ONK/f4WdZKdXXYUVLZnbQB7ku9eC7pGd9SjegPZFU64ztW0+vYM8f8yeX8XD768fPx+v59+xVaPZpwjOw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/js-api": {
|
||||
<<<<<<< HEAD
|
||||
"version": "3.8.0-3a40c5996640ecadb0861606ff7692210d9ec2fd",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.8.0-3a40c5996640ecadb0861606ff7692210d9ec2fd.tgz",
|
||||
"integrity": "sha512-oHW5wPMjLOgKILpDUH41eduKgpiXbydaFQDKcb7Cz7a2RdtDArExqMu2PRMwg4Dkm2Kx6PDa441aYi+8C7qo/w==",
|
||||
=======
|
||||
"version": "3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78.tgz",
|
||||
"integrity": "sha512-ip90kBBTqRFUSkPwVev1A0Q7g7oCrxuOuG7KObcgvt77KdH3dLYbYMn0UmVS0i2BuwxITRrIqZ+bxynF3Tt4Rw==",
|
||||
>>>>>>> Use latest api
|
||||
"requires": {
|
||||
"event-emitter": "^0.3.5",
|
||||
"minimatch": "3.0.4",
|
||||
|
18
package.json
18
package.json
@ -78,15 +78,15 @@
|
||||
"process services-cloud"
|
||||
],
|
||||
"dependencies": {
|
||||
"@alfresco/adf-cli": "3.7.0",
|
||||
"@alfresco/adf-content-services": "3.7.0",
|
||||
"@alfresco/adf-core": "3.7.0",
|
||||
"@alfresco/adf-extensions": "3.7.0",
|
||||
"@alfresco/adf-insights": "3.7.0",
|
||||
"@alfresco/adf-process-services": "3.7.0",
|
||||
"@alfresco/adf-process-services-cloud": "3.7.0",
|
||||
"@alfresco/adf-testing": "3.7.0",
|
||||
"@alfresco/js-api": "3.8.0-3a40c5996640ecadb0861606ff7692210d9ec2fd",
|
||||
"@alfresco/adf-cli": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-content-services": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-core": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-extensions": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-insights": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-process-services": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-process-services-cloud": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/adf-testing": "3.8.0-4cdaced7bc5fc0c3bd1021ee11fc7fee8f634193",
|
||||
"@alfresco/js-api": "3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78",
|
||||
"@angular/animations": "^7.2.15",
|
||||
"@angular/cdk": "7.3.7",
|
||||
"@angular/common": "^7.2.15",
|
||||
|
Loading…
x
Reference in New Issue
Block a user