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)
83 lines • 7.42 kB
JavaScript
import { Injectable } from '@angular/core';
import { MainService } from '../main/main.service';
import * as i0 from "@angular/core";
/**
* node service for drupal
* @see BACK_END/admin/structure/services/list/END_POINT/resources for more details
*/
export class NodeService extends MainService {
constructor() {
super(...arguments);
this.entityType = 'node';
}
/**
* impelement index resource
* @return array of nodes
*/
getAllNodes() {
return this.get();
}
/**
* implement retrive resource
* @param nid node id to retrive
* @return object of the node entity
*/
getNodeById(nid) {
return this.get(nid);
}
/**
* implement create resource
* @param node node entity to create
* @return created node details
*/
createNode(node) {
return this.post(node);
}
/**
* implement create resource
* @param node node to create
* @return created node details
*/
updateNode(node) {
return this.put(node, node.nid);
}
/**
* implement delete resource
* @param nid node id to delete
* @return array true if node deleted, otherwise return false array
*/
deleteNode(nid) {
return this.delete(nid);
}
/**
* implement files resource
* @param nid node id
* @return array of files that attached to that node
*/
files(nid) {
return this.get(`${nid}/files`);
}
/**
* implement comments resource
* @param nid node id
* @return array of comments that attached to that node
*/
comments(nid) {
return this.get(`${nid}/comments`);
}
/**
* implement attach_files resource
* @param nid node id
* @file object contains the field details and the file to upload
* @return attached file
*/
attachFilesToNode(nid, file) {
return this.post(file, `${nid}/attach_file`);
}
}
/** @nocollapse */ NodeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: NodeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
/** @nocollapse */ NodeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: NodeService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: NodeService, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRydXBhbDctc2VydmljZXMvc3JjL2xpYi9ub2RlL25vZGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHbkQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBRDVDOztRQUVFLGVBQVUsR0FBRyxNQUFNLENBQUM7S0EwRXJCO0lBeEVDOzs7T0FHRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxJQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsSUFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsR0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVBOzs7O01BSUU7SUFDSCxRQUFRLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFQTs7Ozs7TUFLRTtJQUNILGlCQUFpQixDQUFDLEdBQVcsRUFBRSxJQUFnQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUMvQyxDQUFDOzsySEF6RVUsV0FBVzsrSEFBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vbWFpbi9tYWluLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlRW50aXR5LCBDb21tZW50RW50aXR5LCBOb2RlRW50aXR5LCBDcmVhdGVkTm9kZSwgRmlsZUF0dGFjaCB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG4vKipcclxuICogbm9kZSBzZXJ2aWNlIGZvciBkcnVwYWxcclxuICogQHNlZSBCQUNLX0VORC9hZG1pbi9zdHJ1Y3R1cmUvc2VydmljZXMvbGlzdC9FTkRfUE9JTlQvcmVzb3VyY2VzIGZvciBtb3JlIGRldGFpbHNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vZGVTZXJ2aWNlIGV4dGVuZHMgTWFpblNlcnZpY2Uge1xyXG4gIGVudGl0eVR5cGUgPSAnbm9kZSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIGltcGVsZW1lbnQgaW5kZXggcmVzb3VyY2VcclxuICAgKiBAcmV0dXJuIGFycmF5IG9mIG5vZGVzXHJcbiAgICovXHJcbiAgZ2V0QWxsTm9kZXMoKTogT2JzZXJ2YWJsZTxOb2RlRW50aXR5W10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaW1wbGVtZW50IHJldHJpdmUgcmVzb3VyY2VcclxuICAgKiBAcGFyYW0gbmlkIG5vZGUgaWQgdG8gcmV0cml2ZVxyXG4gICAqIEByZXR1cm4gb2JqZWN0IG9mIHRoZSBub2RlIGVudGl0eVxyXG4gICAqL1xyXG4gIGdldE5vZGVCeUlkKG5pZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxOb2RlRW50aXR5PiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQobmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGltcGxlbWVudCBjcmVhdGUgcmVzb3VyY2VcclxuICAgKiBAcGFyYW0gbm9kZSBub2RlIGVudGl0eSB0byBjcmVhdGVcclxuICAgKiBAcmV0dXJuIGNyZWF0ZWQgbm9kZSBkZXRhaWxzXHJcbiAgICovXHJcbiAgY3JlYXRlTm9kZShub2RlOiBOb2RlRW50aXR5KTogT2JzZXJ2YWJsZTxDcmVhdGVkTm9kZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdChub2RlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGltcGxlbWVudCBjcmVhdGUgcmVzb3VyY2VcclxuICAgKiBAcGFyYW0gbm9kZSBub2RlIHRvIGNyZWF0ZVxyXG4gICAqIEByZXR1cm4gY3JlYXRlZCBub2RlIGRldGFpbHNcclxuICAgKi9cclxuICB1cGRhdGVOb2RlKG5vZGU6IHtuaWQ6IG51bWJlcn0pOiBPYnNlcnZhYmxlPENyZWF0ZWROb2RlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wdXQobm9kZSwgbm9kZS5uaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaW1wbGVtZW50IGRlbGV0ZSByZXNvdXJjZVxyXG4gICAqIEBwYXJhbSBuaWQgbm9kZSBpZCB0byBkZWxldGVcclxuICAgKiBAcmV0dXJuIGFycmF5IHRydWUgaWYgbm9kZSBkZWxldGVkLCBvdGhlcndpc2UgcmV0dXJuIGZhbHNlIGFycmF5XHJcbiAgICovXHJcbiAgZGVsZXRlTm9kZShuaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Ym9vbGVhbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWxldGUobmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGltcGxlbWVudCBmaWxlcyByZXNvdXJjZVxyXG4gICAqIEBwYXJhbSBuaWQgbm9kZSBpZFxyXG4gICAqIEByZXR1cm4gYXJyYXkgb2YgZmlsZXMgdGhhdCBhdHRhY2hlZCB0byB0aGF0IG5vZGVcclxuICAgKi9cclxuICBmaWxlcyhuaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RmlsZUVudGl0eVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoYCR7bmlkfS9maWxlc2ApO1xyXG4gIH1cclxuXHJcbiAgIC8qKlxyXG4gICAqIGltcGxlbWVudCBjb21tZW50cyByZXNvdXJjZVxyXG4gICAqIEBwYXJhbSBuaWQgbm9kZSBpZFxyXG4gICAqIEByZXR1cm4gYXJyYXkgb2YgY29tbWVudHMgdGhhdCBhdHRhY2hlZCB0byB0aGF0IG5vZGVcclxuICAgKi9cclxuICBjb21tZW50cyhuaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q29tbWVudEVudGl0eVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoYCR7bmlkfS9jb21tZW50c2ApO1xyXG4gIH1cclxuXHJcbiAgIC8qKlxyXG4gICAqIGltcGxlbWVudCBhdHRhY2hfZmlsZXMgcmVzb3VyY2VcclxuICAgKiBAcGFyYW0gbmlkIG5vZGUgaWRcclxuICAgKiBAZmlsZSBvYmplY3QgY29udGFpbnMgdGhlIGZpZWxkIGRldGFpbHMgYW5kIHRoZSBmaWxlIHRvIHVwbG9hZFxyXG4gICAqIEByZXR1cm4gYXR0YWNoZWQgZmlsZVxyXG4gICAqL1xyXG4gIGF0dGFjaEZpbGVzVG9Ob2RlKG5pZDogbnVtYmVyLCBmaWxlOiBGaWxlQXR0YWNoKTogT2JzZXJ2YWJsZTxGaWxlRW50aXR5PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3N0KGZpbGUsIGAke25pZH0vYXR0YWNoX2ZpbGVgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==