blob: 4af899d42ac0c2ab509dc6f3b34e89bbb7d44cd6 [file] [log] [blame]
import { Injectable } from '@angular/core';
import { Http, Response, ResponseOptions, Headers } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/throw';
import { SessionContext } from '../common/session-context';
import { Globals } from '../common/globals';
import { BaseHttpService } from './base-http.service';
import { Branch } from '../model/branch';
import { Status } from '../model/status';
import { GridTerritory } from '../model/gridterritory';
import { GRIDTERRITORIES } from '../test-data/gridterritories';
import { MessageService } from './message.service';
@Injectable()
export class BaseDataService extends BaseHttpService {
constructor(
private _http: Http,
public messageService: MessageService,
private _sessionContext: SessionContext) {
super(messageService);
}
public getStatuses(): Observable<Status[]> {
const headers = new Headers();
const url = super.getBaseUrl() + '/notificationStatuses/';
this.createCommonHeaders(headers, this._sessionContext);
return this._http.get(url, { headers: headers })
.map(res => super.extractData(res, this._sessionContext))
.catch((error) => { return super.handleErrorPromise(error); });
}
public getBranches(): Observable<Branch[]> {
const headers = new Headers();
const url = super.getBaseUrl() + '/branches/';
this.createCommonHeaders(headers, this._sessionContext);
return this._http.get(url, { headers: headers })
.map(res => super.extractData(res, this._sessionContext))
.catch((error) => { return super.handleErrorPromise(error); });
}
public getGridTerritories(): Observable<GridTerritory[]> {
const headers = new Headers();
const url = super.getBaseUrl() + '/gridTerritories/';
this.createCommonHeaders(headers, this._sessionContext);
return this._http.get(url, { headers: headers })
.map(res => super.extractData(res, this._sessionContext))
.catch((error) => { return super.handleErrorPromise(error); });
}
}