blob: 899b48421004f5f26dc4f63ce20aaf839449e0c8 [file] [log] [blame]
Matteo Scandolo0f77c502016-12-06 16:46:00 -08001/// <reference path="../../../../typings/index.d.ts"/>
2
3// Imports
4import {AppConfig} from '../../config/app.config';
5import {AuthService} from './auth.service';
Matteo Scandolo40f8fa92016-12-07 09:21:35 -08006import {Injectable} from '@angular/core';
7import {Response} from '@angular/http';
Matteo Scandolo0f77c502016-12-06 16:46:00 -08008import {XosHttp} from './xoshttp.service';
9import {Observable} from 'rxjs/Rx';
10
11// Import RxJs required methods
12import 'rxjs/add/operator/map';
13import 'rxjs/add/operator/catch';
14
15@Injectable()
16export class InstanceService {
17 private baseUrl = AppConfig.apiEndpoint;
18 constructor (private http: XosHttp, private authService: AuthService) {}
19 // Fetch all existing instances
20 query() : Observable<any[]> {
21 return this.http.get(`${this.baseUrl}/core/instances/`)
22 .map((res: Response) => res.json())
23 .catch((error: any) => Observable.throw(error.response.json().error || 'Server error'));
24 }
25}