diff --git a/ng2-components/ng2-activiti-form/src/services/ecm-model.service.spec.ts b/ng2-components/ng2-activiti-form/src/services/ecm-model.service.spec.ts index 6aa8bee800..75a2a6cdbc 100644 --- a/ng2-components/ng2-activiti-form/src/services/ecm-model.service.spec.ts +++ b/ng2-components/ng2-activiti-form/src/services/ecm-model.service.spec.ts @@ -31,7 +31,7 @@ declare let jasmine: any; describe('EcmModelService', () => { - let service; + let service: EcmModelService; beforeAll(() => { TestBed.configureTestingModule({ @@ -88,11 +88,11 @@ describe('EcmModelService', () => { let typeName = 'typeTest'; - service.createEcmType(typeName, service.MODEL_NAME, service.TYPE_MODEL).subscribe(() => { - expect(jasmine.Ajax.requests.mostRecent().url.endsWith('versions/1/cmm/' + service.MODEL_NAME + '/types')).toBeTruthy(); + service.createEcmType(typeName, EcmModelService.MODEL_NAME, EcmModelService.TYPE_MODEL).subscribe(() => { + expect(jasmine.Ajax.requests.mostRecent().url.endsWith('versions/1/cmm/' + EcmModelService.MODEL_NAME + '/types')).toBeTruthy(); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).name).toEqual(typeName); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).title).toEqual(typeName); - expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).parentName).toEqual(service.TYPE_MODEL); + expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).parentName).toEqual(EcmModelService.TYPE_MODEL); done(); }); @@ -108,11 +108,11 @@ describe('EcmModelService', () => { let typeName = 'typeTest:testName@#$*!'; let cleanName = 'testName'; - service.createEcmType(typeName, service.MODEL_NAME, service.TYPE_MODEL).subscribe(() => { - expect(jasmine.Ajax.requests.mostRecent().url.endsWith('versions/1/cmm/' + service.MODEL_NAME + '/types')).toBeTruthy(); + service.createEcmType(typeName, EcmModelService.MODEL_NAME, EcmModelService.TYPE_MODEL).subscribe(() => { + expect(jasmine.Ajax.requests.mostRecent().url.endsWith('versions/1/cmm/' + EcmModelService.MODEL_NAME + '/types')).toBeTruthy(); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).name).toEqual(cleanName); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).title).toEqual(typeName); - expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).parentName).toEqual(service.TYPE_MODEL); + expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).parentName).toEqual(EcmModelService.TYPE_MODEL); done(); }); @@ -133,8 +133,8 @@ describe('EcmModelService', () => { } }; - service.addPropertyToAType(service.MODEL_NAME, typeName, formFields).subscribe(() => { - expect(jasmine.Ajax.requests.mostRecent().url.endsWith('1/cmm/' + service.MODEL_NAME + '/types/' + typeName + '?select=props')).toBeTruthy(); + service.addPropertyToAType(EcmModelService.MODEL_NAME, typeName, formFields).subscribe(() => { + expect(jasmine.Ajax.requests.mostRecent().url.endsWith('1/cmm/' + EcmModelService.MODEL_NAME + '/types/' + typeName + '?select=props')).toBeTruthy(); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).name).toEqual(typeName); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).properties).toEqual([{ name: 'test', @@ -174,8 +174,8 @@ describe('EcmModelService', () => { } }; - service.addPropertyToAType(service.MODEL_NAME, typeName, formFields).subscribe(() => { - expect(jasmine.Ajax.requests.mostRecent().url.endsWith('1/cmm/' + service.MODEL_NAME + '/types/' + cleanName + '?select=props')).toBeTruthy(); + service.addPropertyToAType(EcmModelService.MODEL_NAME, typeName, formFields).subscribe(() => { + expect(jasmine.Ajax.requests.mostRecent().url.endsWith('1/cmm/' + EcmModelService.MODEL_NAME + '/types/' + cleanName + '?select=props')).toBeTruthy(); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).name).toEqual(cleanName); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).properties).toEqual([{ name: 'test', @@ -206,7 +206,7 @@ describe('EcmModelService', () => { it('Should create ECM model', (done) => { - service.createEcmModel(service.MODEL_NAME, service.MODEL_NAMESPACE).subscribe(() => { + service.createEcmModel(EcmModelService.MODEL_NAME, EcmModelService.MODEL_NAMESPACE).subscribe(() => { expect(jasmine.Ajax.requests.mostRecent().url.endsWith('alfresco/versions/1/cmm')).toBeTruthy(); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).status).toEqual('DRAFT'); done(); @@ -221,8 +221,8 @@ describe('EcmModelService', () => { it('Should activate ECM model', (done) => { - service.activeEcmModel(service.MODEL_NAME).subscribe(() => { - expect(jasmine.Ajax.requests.mostRecent().url.endsWith('alfresco/versions/1/cmm/' + service.MODEL_NAME + '?select=status')).toBeTruthy(); + service.activeEcmModel(EcmModelService.MODEL_NAME).subscribe(() => { + expect(jasmine.Ajax.requests.mostRecent().url.endsWith('alfresco/versions/1/cmm/' + EcmModelService.MODEL_NAME + '?select=status')).toBeTruthy(); expect(JSON.parse(jasmine.Ajax.requests.mostRecent().params).status).toEqual('ACTIVE'); done(); }); diff --git a/ng2-components/ng2-activiti-form/src/services/ecm-model.service.ts b/ng2-components/ng2-activiti-form/src/services/ecm-model.service.ts index 72acfa1413..a83727a68b 100644 --- a/ng2-components/ng2-activiti-form/src/services/ecm-model.service.ts +++ b/ng2-components/ng2-activiti-form/src/services/ecm-model.service.ts @@ -16,9 +16,8 @@ */ import { Injectable } from '@angular/core'; -import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfresco-core'; +import { AlfrescoAuthenticationService, AlfrescoApiService } from 'ng2-alfresco-core'; import { Observable } from 'rxjs/Rx'; -import { Response, Http, Headers, RequestOptions } from '@angular/http'; import { FormModel } from '../components/widgets/core/form.model'; @Injectable() @@ -29,8 +28,7 @@ export class EcmModelService { public static TYPE_MODEL: string = 'cm:folder'; constructor(private authService: AlfrescoAuthenticationService, - private http: Http, - public alfrescoSettingsService: AlfrescoSettingsService) { + public apiService: AlfrescoApiService) { } public createEcmTypeForActivitiForm(formName: string, form: FormModel): Observable { @@ -126,71 +124,39 @@ export class EcmModelService { } public activeEcmModel(modelName: string): Observable { - let url = `${this.alfrescoSettingsService.ecmHost}/alfresco/api/-default-/private/alfresco/versions/1/cmm/${modelName}?select=status`; - let options = this.getRequestOptions(); - let body = {status: 'ACTIVE'}; - - return this.http - .put(url, body, options) + return Observable.fromPromise(this.apiService.getInstance().core.customModelApi.activateCustomModel(modelName)) .map(this.toJson) .catch(this.handleError); } public createEcmModel(modelName: string, nameSpace: string): Observable { - let url = `${this.alfrescoSettingsService.ecmHost}/alfresco/api/-default-/private/alfresco/versions/1/cmm`; - let options = this.getRequestOptions(); - let body = { - status: 'DRAFT', namespaceUri: modelName, namespacePrefix: nameSpace, name: modelName, description: '', author: '' - }; - - return this.http - .post(url, body, options) + return Observable.fromPromise(this.apiService.getInstance().core.customModelApi.createCustomModel('DRAFT', '', modelName, modelName, nameSpace)) .map(this.toJson) .catch(this.handleError); } public getEcmModels(): Observable { - let url = `${this.alfrescoSettingsService.ecmHost}/alfresco/api/-default-/private/alfresco/versions/1/cmm`; - let options = this.getRequestOptions(); - - return this.http - .get(url, options) + return Observable.fromPromise(this.apiService.getInstance().core.customModelApi.getAllCustomModel()) .map(this.toJson) .catch(this.handleError); } public getEcmType(modelName: string): Observable { - let url = `${this.alfrescoSettingsService.ecmHost}/alfresco/api/-default-/private/alfresco/versions/1/cmm/${modelName}/types`; - let options = this.getRequestOptions(); - - return this.http - .get(url, options) + return Observable.fromPromise(this.apiService.getInstance().core.customModelApi.getAllCustomType(modelName)) .map(this.toJson) .catch(this.handleError); } public createEcmType(typeName: string, modelName: string, parentType: string): Observable { let name = this.cleanNameType(typeName); - let url = `${this.alfrescoSettingsService.ecmHost}/alfresco/api/-default-/private/alfresco/versions/1/cmm/${modelName}/types`; - let options = this.getRequestOptions(); - let body = { - name: name, - parentName: parentType, - title: typeName, - description: '' - }; - - return this.http - .post(url, body, options) + return Observable.fromPromise(this.apiService.getInstance().core.customModelApi.createCustomType(modelName, name, parentType, typeName, '')) .map(this.toJson) .catch(this.handleError); } public addPropertyToAType(modelName: string, typeName: string, formFields: any) { let name = this.cleanNameType(typeName); - let url = `${this.alfrescoSettingsService.ecmHost}/alfresco/api/-default-/private/alfresco/versions/1/cmm/${modelName}/types/${name}?select=props`; - let options = this.getRequestOptions(); let properties = []; if (formFields && formFields.values) { @@ -209,15 +175,10 @@ export class EcmModelService { } } - let body = { - name: name, - properties: properties - }; - - return this.http - .put(url, body, options) + return Observable.fromPromise(this.apiService.getInstance().core.customModelApi.addPropertyToType(modelName, name, properties)) .map(this.toJson) .catch(this.handleError); + } public cleanNameType(name: string): string { @@ -228,23 +189,9 @@ export class EcmModelService { return cleanName.replace(/[^a-zA-Z ]/g, ''); } - public getHeaders(): Headers { - return new Headers({ - 'Accept': 'application/json', - 'Content-Type': 'application/json', - 'Authorization': this.authService.getTicketEcmBase64() - }); - } - - public getRequestOptions(): RequestOptions { - let headers = this.getHeaders(); - return new RequestOptions({headers: headers}); - } - - toJson(res: Response) { + toJson(res: any) { if (res) { - let body = res.json(); - return body || {}; + return res || {}; } return {}; }