UNPKG

ngx-drupal7-services

Version:

# Angular 2+/Ionic 2+ Drupal 7 Services #### Typescript angular module for [Drupal Services 3.x](https://www.drupal.org/project/services)

75 lines 8.96 kB
import { mergeMap, map } from 'rxjs/operators'; import { Injectable } from '@angular/core'; import { MainService } from '../main/main.service'; import { DrupalConstants } from '../application/drupal-constants'; import * as i0 from "@angular/core"; /** * system service for drupal * @see BACK_END/admin/structure/services/list/END_POINT/resources for more details */ export class SystemService extends MainService { constructor() { super(...arguments); this.entityType = 'system'; } /** * if there is already a token in the browser cookies and it is not expired it will return it * this will fetch a new token before trying to connect * @param refreshToken boolean to force the application to request new token * @return observable of the connect method * the subscription data is an object of SystemConnection interface */ connect(refreshToken = false) { if (this.isConnectionExpired()) { this.removeSession(); } if (!DrupalConstants.Connection || !DrupalConstants.Connection.token || refreshToken) { return this.getToken().pipe(mergeMap(token => { return this.post({}, 'connect').pipe(map(connection => { connection.token = token; this.saveSessionToken(connection); return connection; })); })); } return this.post({}, 'connect').pipe(map(connection => { this.saveSessionToken(connection); return connection; })); } /** * implement get_variable resource * @param variableName the name of the variable * @return the value of the variable */ getVariable(variableName) { return this.post({ name: variableName }, 'get_variable'); } /** * implement set_variable resource * @param variableName the name of the variable * @param value the value to set for the variable * @return always null, take care of overriding old variables with same name */ setVariable(variableName, value) { const variable = { name: variableName, value: value }; return this.post(variable, 'set_variable'); } /** * implement del_variable resource * @param variableName variable name to delete * @return null if variable found or not. */ delVariable(variableName) { return this.post({ name: variableName }, 'del_variable'); } } /** @nocollapse */ SystemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SystemService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SystemService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SystemService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHJ1cGFsNy1zZXJ2aWNlcy9zcmMvbGliL3N5c3RlbS9zeXN0ZW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFJbEU7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxXQUFXO0lBRDlDOztRQUVFLGVBQVUsR0FBRyxRQUFRLENBQUM7S0E4RHZCO0lBNURDOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxlQUF3QixLQUFLO1FBRW5DLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxZQUFZLEVBQUU7WUFDcEYsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNwRCxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUNsQyxPQUFPLFVBQVUsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEMsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLFlBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsWUFBb0IsRUFBRSxLQUFVO1FBQzFDLE1BQU0sUUFBUSxHQUFHO1lBQ2YsSUFBSSxFQUFFLFlBQVk7WUFDbEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxZQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7NkhBOURVLGFBQWE7aUlBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IG1lcmdlTWFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTWFpblNlcnZpY2UgfSBmcm9tICcuLi9tYWluL21haW4uc2VydmljZSc7XHJcbmltcG9ydCB7IERydXBhbENvbnN0YW50cyB9IGZyb20gJy4uL2FwcGxpY2F0aW9uL2RydXBhbC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBTeXN0ZW1Db25uZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3N5c3RlbSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIHN5c3RlbSBzZXJ2aWNlIGZvciBkcnVwYWxcclxuICogQHNlZSBCQUNLX0VORC9hZG1pbi9zdHJ1Y3R1cmUvc2VydmljZXMvbGlzdC9FTkRfUE9JTlQvcmVzb3VyY2VzIGZvciBtb3JlIGRldGFpbHNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2UgZXh0ZW5kcyBNYWluU2VydmljZSB7XHJcbiAgZW50aXR5VHlwZSA9ICdzeXN0ZW0nO1xyXG5cclxuICAvKipcclxuICAgKiBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgdG9rZW4gaW4gdGhlIGJyb3dzZXIgY29va2llcyBhbmQgaXQgaXMgbm90IGV4cGlyZWQgaXQgd2lsbCByZXR1cm4gaXRcclxuICAgKiB0aGlzIHdpbGwgZmV0Y2ggYSBuZXcgdG9rZW4gYmVmb3JlIHRyeWluZyB0byBjb25uZWN0XHJcbiAgICogQHBhcmFtIHJlZnJlc2hUb2tlbiBib29sZWFuIHRvIGZvcmNlIHRoZSBhcHBsaWNhdGlvbiB0byByZXF1ZXN0IG5ldyB0b2tlblxyXG4gICAqIEByZXR1cm4gb2JzZXJ2YWJsZSBvZiB0aGUgY29ubmVjdCBtZXRob2RcclxuICAgKiB0aGUgc3Vic2NyaXB0aW9uIGRhdGEgaXMgYW4gb2JqZWN0IG9mIFN5c3RlbUNvbm5lY3Rpb24gaW50ZXJmYWNlXHJcbiAgICovXHJcbiAgY29ubmVjdChyZWZyZXNoVG9rZW46IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8U3lzdGVtQ29ubmVjdGlvbj4ge1xyXG5cclxuICAgIGlmICh0aGlzLmlzQ29ubmVjdGlvbkV4cGlyZWQoKSkge1xyXG4gICAgICB0aGlzLnJlbW92ZVNlc3Npb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIURydXBhbENvbnN0YW50cy5Db25uZWN0aW9uIHx8ICFEcnVwYWxDb25zdGFudHMuQ29ubmVjdGlvbi50b2tlbiB8fCByZWZyZXNoVG9rZW4pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW4oKS5waXBlKG1lcmdlTWFwKHRva2VuID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0KHt9LCAnY29ubmVjdCcpLnBpcGUobWFwKGNvbm5lY3Rpb24gPT4ge1xyXG4gICAgICAgICAgY29ubmVjdGlvbi50b2tlbiA9IHRva2VuO1xyXG4gICAgICAgICAgdGhpcy5zYXZlU2Vzc2lvblRva2VuKGNvbm5lY3Rpb24pO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb247XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucG9zdCh7fSwgJ2Nvbm5lY3QnKS5waXBlKG1hcChjb25uZWN0aW9uID0+IHtcclxuICAgICAgdGhpcy5zYXZlU2Vzc2lvblRva2VuKGNvbm5lY3Rpb24pO1xyXG4gICAgICByZXR1cm4gY29ubmVjdGlvbjtcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGltcGxlbWVudCBnZXRfdmFyaWFibGUgcmVzb3VyY2VcclxuICAgKiBAcGFyYW0gdmFyaWFibGVOYW1lIHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZVxyXG4gICAqIEByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZVxyXG4gICAqL1xyXG4gIGdldFZhcmlhYmxlKHZhcmlhYmxlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdCh7IG5hbWU6IHZhcmlhYmxlTmFtZSB9LCAnZ2V0X3ZhcmlhYmxlJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBpbXBsZW1lbnQgc2V0X3ZhcmlhYmxlIHJlc291cmNlXHJcbiAgICogQHBhcmFtIHZhcmlhYmxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGVcclxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldCBmb3IgdGhlIHZhcmlhYmxlXHJcbiAgICogQHJldHVybiBhbHdheXMgbnVsbCwgdGFrZSBjYXJlIG9mIG92ZXJyaWRpbmcgb2xkIHZhcmlhYmxlcyB3aXRoIHNhbWUgbmFtZVxyXG4gICAqL1xyXG4gIHNldFZhcmlhYmxlKHZhcmlhYmxlTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxudWxsPiB7XHJcbiAgICBjb25zdCB2YXJpYWJsZSA9IHtcclxuICAgICAgbmFtZTogdmFyaWFibGVOYW1lLFxyXG4gICAgICB2YWx1ZTogdmFsdWVcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5wb3N0KHZhcmlhYmxlLCAnc2V0X3ZhcmlhYmxlJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBpbXBsZW1lbnQgZGVsX3ZhcmlhYmxlIHJlc291cmNlXHJcbiAgICogQHBhcmFtIHZhcmlhYmxlTmFtZSB2YXJpYWJsZSBuYW1lIHRvIGRlbGV0ZVxyXG4gICAqIEByZXR1cm4gbnVsbCBpZiB2YXJpYWJsZSBmb3VuZCBvciBub3QuXHJcbiAgICovXHJcbiAgZGVsVmFyaWFibGUodmFyaWFibGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bGw+IHtcclxuICAgIHJldHVybiB0aGlzLnBvc3QoeyBuYW1lOiB2YXJpYWJsZU5hbWUgfSwgJ2RlbF92YXJpYWJsZScpO1xyXG4gIH1cclxufVxyXG4iXX0=