mempool/frontend/src/app/lightning/lightning-api.service.ts

45 lines
1.3 KiB
TypeScript
Raw Normal View History

import { Injectable } from '@angular/core';
2022-05-01 03:01:27 +04:00
import { HttpClient, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
const API_BASE_URL = '/lightning/api/v1';
@Injectable({
providedIn: 'root'
})
export class LightningApiService {
constructor(
private httpClient: HttpClient,
) { }
2022-04-29 03:57:27 +04:00
getNode$(publicKey: string): Observable<any> {
return this.httpClient.get<any>(API_BASE_URL + '/nodes/' + publicKey);
}
2022-05-01 03:01:27 +04:00
getChannel$(shortId: string): Observable<any> {
return this.httpClient.get<any>(API_BASE_URL + '/channels/' + shortId);
}
2022-05-16 01:36:59 +04:00
getChannelsByNodeId$(publicKey: string, index: number = 0, status = 'open'): Observable<any> {
2022-05-01 03:01:27 +04:00
let params = new HttpParams()
.set('public_key', publicKey)
2022-05-16 01:36:59 +04:00
.set('index', index)
.set('status', status)
2022-05-01 03:01:27 +04:00
;
2022-05-16 01:36:59 +04:00
return this.httpClient.get<any>(API_BASE_URL + '/channels', { params, observe: 'response' });
2022-04-29 03:57:27 +04:00
}
getLatestStatistics$(): Observable<any> {
return this.httpClient.get<any>(API_BASE_URL + '/statistics/latest');
}
2022-05-05 23:19:24 +04:00
listNodeStats$(publicKey: string): Observable<any> {
return this.httpClient.get<any>(API_BASE_URL + '/nodes/' + publicKey + '/statistics');
}
listTopNodes$(): Observable<any> {
return this.httpClient.get<any>(API_BASE_URL + '/nodes/top');
}
}