ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
87 lines • 11.7 kB
JavaScript
import { HttpEventType, HttpHeaders, HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { share } from 'rxjs/operators';
import { Util } from '../../util/util';
import { OntimizeBaseService } from './ontimize-base-service.class';
import * as i0 from "@angular/core";
export class OntimizeFileService extends OntimizeBaseService {
constructor() {
super(...arguments);
this.path = '';
}
configureService(config) {
super.configureService(config);
this.path = config.path;
}
upload(files, entity, data) {
const dataObservable = new Observable(observer => {
const url = `${this.urlBase}${this.path}/${entity}`;
const toUpload = new FormData();
files.forEach(item => {
item.prepareToUpload();
item.isUploading = true;
toUpload.append('name', item.name);
toUpload.append('file', item.file);
});
if (data) {
toUpload.append('data', JSON.stringify(data));
}
const request = new HttpRequest('POST', url, toUpload, {
headers: this.buildHeaders(),
reportProgress: true
});
this.httpClient.request(request).subscribe(resp => {
if (HttpEventType.UploadProgress === resp.type) {
const progressData = {
loaded: resp.loaded,
total: resp.total
};
observer.next(progressData);
}
else if (HttpEventType.Response === resp.type) {
if (resp.body) {
if (resp.body['code'] === 3) {
this.authService.logout();
}
else if (resp.body['code'] === 1) {
observer.error(resp.body['message']);
}
else if (resp.body['code'] === 0) {
observer.next(resp.body);
}
else {
observer.error('Service unavailable');
}
}
else {
observer.next(resp.body);
}
}
}, error => {
console.error(error);
if (error.status === 401) {
this.authService.logout();
}
else {
observer.error(error);
}
}, () => observer.complete());
});
return dataObservable.pipe(share());
}
buildHeaders() {
let headers = new HttpHeaders({ 'Access-Control-Allow-Origin': '*' });
const sessionId = this.authService.getSessionInfo().id;
if (Util.isDefined(sessionId)) {
headers = headers.append('Authorization', 'Bearer ' + sessionId);
}
return headers;
}
}
OntimizeFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeFileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
OntimizeFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeFileService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeFileService, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL29udGltaXplL29udGltaXplLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHcEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUQ1RDs7UUFHUyxTQUFJLEdBQVcsRUFBRSxDQUFDO0tBb0YxQjtJQWxGUSxnQkFBZ0IsQ0FBQyxNQUFXO1FBQ2pDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQVFNLE1BQU0sQ0FBQyxLQUFZLEVBQUUsTUFBYyxFQUFFLElBQWE7UUFFdkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFFL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFFcEQsTUFBTSxRQUFRLEdBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsT0FBTyxD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RUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O2lIQXBGVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50VHlwZSwgSHR0cEhlYWRlcnMsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElGaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZmlsZS1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9udGltaXplQmFzZVNlcnZpY2UgfSBmcm9tICcuL29udGltaXplLWJhc2Utc2VydmljZS5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbnRpbWl6ZUZpbGVTZXJ2aWNlIGV4dGVuZHMgT250aW1pemVCYXNlU2VydmljZSBpbXBsZW1lbnRzIElGaWxlU2VydmljZSB7XG5cbiAgcHVibGljIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBjb25maWd1cmVTZXJ2aWNlKGNvbmZpZzogYW55KTogdm9pZCB7XG4gICAgc3VwZXIuY29uZmlndXJlU2VydmljZShjb25maWcpO1xuICAgIHRoaXMucGF0aCA9IGNvbmZpZy5wYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGZpbGUvcyB1cGxvYWQgcmVxdWVzdC9zXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlcyB0aGUgYXJyYXkgb2YgZmlsZXMgdG8gdXBsb2FkXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIGVudGl0eVxuICAgKi9cbiAgcHVibGljIHVwbG9hZChmaWxlczogYW55W10sIGVudGl0eTogc3RyaW5nLCBkYXRhPzogb2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuXG4gICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnVybEJhc2V9JHt0aGlzLnBhdGh9LyR7ZW50aXR5fWA7XG5cbiAgICAgIGNvbnN0IHRvVXBsb2FkOiBhbnkgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZpbGVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0ucHJlcGFyZVRvVXBsb2FkKCk7XG4gICAgICAgIGl0ZW0uaXNVcGxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0b1VwbG9hZC5hcHBlbmQoJ25hbWUnLCBpdGVtLm5hbWUpO1xuICAgICAgICB0b1VwbG9hZC5hcHBlbmQoJ2ZpbGUnLCBpdGVtLmZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRvVXBsb2FkLmFwcGVuZCgnZGF0YScsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIHVybCwgdG9VcGxvYWQsIHtcbiAgICAgICAgaGVhZGVyczogdGhpcy5idWlsZEhlYWRlcnMoKSxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWVcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmh0dHBDbGllbnQucmVxdWVzdChyZXF1ZXN0KS5zdWJzY3JpYmUocmVzcCA9PiB7XG4gICAgICAgIGlmIChIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzID09PSByZXNwLnR5cGUpIHtcbiAgICAgICAgICAvLyBVcGxvYWQgcHJvZ3Jlc3MgZXZlbnQgcmVjZWl2ZWRcbiAgICAgICAgICBjb25zdCBwcm9ncmVzc0RhdGEgPSB7XG4gICAgICAgICAgICBsb2FkZWQ6IHJlc3AubG9hZGVkLFxuICAgICAgICAgICAgdG90YWw6IHJlc3AudG90YWxcbiAgICAgICAgICB9O1xuICAgICAgICAgIG9ic2VydmVyLm5leHQocHJvZ3Jlc3NEYXRhKTtcbiAgICAgICAgfSBlbHNlIGlmIChIdHRwRXZlbnRUeXBlLlJlc3BvbnNlID09PSByZXNwLnR5cGUpIHtcbiAgICAgICAgICAvLyBGdWxsIHJlc3BvbnNlIHJlY2VpdmVkXG4gICAgICAgICAgaWYgKHJlc3AuYm9keSkge1xuICAgICAgICAgICAgaWYgKHJlc3AuYm9keVsnY29kZSddID09PSAzKSB7XG4gICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3AuYm9keVsnY29kZSddID09PSAxKSB7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKHJlc3AuYm9keVsnbWVzc2FnZSddKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcC5ib2R5Wydjb2RlJ10gPT09IDApIHtcbiAgICAgICAgICAgICAgLy8gUkVTUE9OU0VcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXNwLmJvZHkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gVW5rbm93IHN0YXRlIC0+IGVycm9yXG4gICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdTZXJ2aWNlIHVuYXZhaWxhYmxlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzcC5ib2R5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YU9ic2VydmFibGUucGlwZShzaGFyZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHsgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6ICcqJyB9KTtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFNlc3Npb25JbmZvKCkuaWQ7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlc3Npb25JZCkpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHNlc3Npb25JZCk7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbn1cbiJdfQ==