1717import { ClientResponse } from 'http' ;
1818import { from as observableFrom , Observable , throwError } from 'rxjs' ;
1919import { catchError , map } from 'rxjs/operators' ;
20+ import { NetworkName } from '../model/blockchain/NetworkName' ;
2021import { NetworkType } from '../model/blockchain/NetworkType' ;
2122import { NodeInfo } from '../model/node/NodeInfo' ;
23+ import { NetworkRoutesApi } from './api/apis' ;
2224import { Http } from './Http' ;
25+ import { NetworkTypeDTO } from './model/networkTypeDTO' ;
2326import { NetworkRepository } from './NetworkRepository' ;
2427import { NodeHttp } from './NodeHttp' ;
2528
@@ -34,6 +37,7 @@ export class NetworkHttp extends Http implements NetworkRepository {
3437 * Nem2 Library account routes api
3538 */
3639 private nodeHttp : NodeHttp ;
40+ private networkRouteApi : NetworkRoutesApi ;
3741
3842 /**
3943 * Constructor
@@ -42,13 +46,14 @@ export class NetworkHttp extends Http implements NetworkRepository {
4246 constructor ( url : string ) {
4347 super ( ) ;
4448 this . nodeHttp = new NodeHttp ( url ) ;
49+ this . networkRouteApi = new NetworkRoutesApi ( url ) ;
4550
4651 }
4752
4853 /**
49- * Get current network type .
54+ * Get current network identifier .
5055 *
51- * @return network type enum .
56+ * @return network identifier .
5257 */
5358 public getNetworkType ( ) : Observable < NetworkType > {
5459 return observableFrom ( this . nodeHttp . getNodeInfo ( ) ) . pipe (
@@ -58,4 +63,18 @@ export class NetworkHttp extends Http implements NetworkRepository {
5863 catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ) ,
5964 ) ;
6065 }
66+
67+ /**
68+ * Get current network type name and description
69+ *
70+ * @return current network type name and description
71+ */
72+ public getNetworkName ( ) : Observable < NetworkName > {
73+ return observableFrom ( this . networkRouteApi . getNetworkType ( ) ) . pipe (
74+ map ( ( response : { response : ClientResponse ; body : NetworkTypeDTO ; } ) => {
75+ return new NetworkName ( response . body . name , response . body . description ) ;
76+ } ) ,
77+ catchError ( ( error ) => throwError ( this . errorHandling ( error ) ) ) ,
78+ ) ;
79+ }
6180}
0 commit comments