/** * Created by reunion on 21/11/2016. */ import { ExternalInterface } from "./external-interface.interface"; import { DataEntity } from "../data-entity.class"; import { DataEntityCollection } from "../data-entity-collection.class"; import { Headers, Http, Response } from "@angular/http"; import { DataManagerService } from '../data-manager.service'; import { DrupalInterfaceConfig } from "./drupal-interface-config.interface"; import { Observable } from "rxjs/Rx"; import 'rxjs/add/operator/map'; export declare class DrupalInterface implements ExternalInterface { protected http: Http; protected manager: DataManagerService; private configuration; private locale; constructor(http: Http, manager: DataManagerService, configuration?: DrupalInterfaceConfig); /** * Retourne les headers nécessaire aux requêtes http * @returns {Headers} Les headers */ protected getHeaders(): Headers; useLocale(locale: string): void; getApiUrl(entityType: string): string; /** * Charge une entité depuis le serveur * @param entityType Type de l'entité * @returns {ObserverObservableCouple} Couple Observable / Observer créé conséquemment à la requête http */ getEntity(entityType: string): Observable; private handleError(error); /** * Charge une entité depuis le serveur * @param entityType Type de l'entité * @param entityId Id de l'entité * @returns {ObserverObservableCouple} Couple Observable / Observer créé conséquemment à la requête http */ loadEntity(entityType: string, entityId: any): Observable; /** * Convertit la réponse serveur en entité * @param res Réponse à convertir * @returns {DataEntity} Entité de données */ protected extractEntity(res: Response): DataEntity; /** * Sauve l'entité vers le serveur * @param entity Entité à sauvegarder * @returns {any} L'observable de l'entité */ saveEntity(entity: DataEntity, applyDiff?: boolean, exclusions?: string[]): Observable; /** * Sauve l'entité vers le serveur SANS diff * @param entity Entité à sauvegarder * @returns {any} L'observable de l'entité */ saveRawEntity(entity: DataEntity): Observable; /** * Crée une nouvelle entité sur le serveur * @param entityType Type de l'entité * @param datas Données de création * @returns {Observable} L'observable de l'entité créée */ createEntity(entityType: string, datas: Object, params?: Object, exclusions?: string[]): Observable; putEntity(entityType: string, datas: Object, params?: Object): Observable; /** * Suppression de l'entité du serveur * @param entity entité à supprimer * @param params * @returns {Observable} L'observable de suppression */ deleteEntity(entity: DataEntity, params?: Object): Observable; /** * Duplique une entité sur le serveur * @param entity Entité à dupliquer * @returns {Observable} L'observable à supprimer */ duplicateEntity(entity: DataEntity): Observable; /** * Charge une collection d'entités depuis le serveur * @param entityType Type de collection à charger * @param fields * @param params * @returns {Observable} L'observable de la collection */ loadEntityCollection(entityType: string, fields?: Array, params?: Object): Observable; /** * Convertit la réponse du serveur en objet DataEntityCollection * @param res Réponse du serveur * @returns {DataEntityCollection} L'objet DataEntityCollection */ protected extractEntityCollection(res: Response): DataEntityCollection; saveEntityCollection(entityCollection: DataEntityCollection): Observable; release(): void; }