@@ -18,6 +18,12 @@ import {from as observableFrom, Observable} from 'rxjs';
1818import { map , mergeMap } from 'rxjs/operators' ;
1919import { Address } from '../model/account/Address' ;
2020import { PublicAccount } from '../model/account/PublicAccount' ;
21+ import { MosaicId } from '../model/mosaic/MosaicId' ;
22+ import { AddressAlias } from '../model/namespace/AddressAlias' ;
23+ import { Alias } from '../model/namespace/Alias' ;
24+ import { AliasType } from '../model/namespace/AliasType' ;
25+ import { EmptyAlias } from '../model/namespace/EmptyAlias' ;
26+ import { MosaicAlias } from '../model/namespace/MosaicAlias' ;
2127import { NamespaceId } from '../model/namespace/NamespaceId' ;
2228import { NamespaceInfo } from '../model/namespace/NamespaceInfo' ;
2329import { NamespaceName } from '../model/namespace/NamespaceName' ;
@@ -70,6 +76,7 @@ export class NamespaceHttp extends Http implements NamespaceRepository {
7076 PublicAccount . createFromPublicKey ( namespaceInfoDTO . namespace . owner , networkType ) ,
7177 new UInt64 ( namespaceInfoDTO . namespace . startHeight ) ,
7278 new UInt64 ( namespaceInfoDTO . namespace . endHeight ) ,
79+ this . extractAlias ( namespaceInfoDTO . namespace ) ,
7380 ) ;
7481 } ) ) ) ) ;
7582 }
@@ -98,6 +105,7 @@ export class NamespaceHttp extends Http implements NamespaceRepository {
98105 PublicAccount . createFromPublicKey ( namespaceInfoDTO . namespace . owner , networkType ) ,
99106 new UInt64 ( namespaceInfoDTO . namespace . startHeight ) ,
100107 new UInt64 ( namespaceInfoDTO . namespace . endHeight ) ,
108+ this . extractAlias ( namespaceInfoDTO . namespace ) ,
101109 ) ;
102110 } ) ;
103111 } ) ) ) ) ;
@@ -130,6 +138,7 @@ export class NamespaceHttp extends Http implements NamespaceRepository {
130138 PublicAccount . createFromPublicKey ( namespaceInfoDTO . namespace . owner , networkType ) ,
131139 new UInt64 ( namespaceInfoDTO . namespace . startHeight ) ,
132140 new UInt64 ( namespaceInfoDTO . namespace . endHeight ) ,
141+ this . extractAlias ( namespaceInfoDTO . namespace ) ,
133142 ) ;
134143 } ) ;
135144 } ) ) ) ) ;
@@ -169,4 +178,21 @@ export class NamespaceHttp extends Http implements NamespaceRepository {
169178 }
170179 return result ;
171180 }
181+
182+ /**
183+ * Extract the alias from a namespace
184+ *
185+ * @internal
186+ * @access private
187+ * @param namespace
188+ */
189+ private extractAlias ( namespace : any ) : Alias {
190+ if ( namespace . alias && namespace . alias . type === AliasType . Mosaic ) {
191+ return new MosaicAlias ( namespace . alias . type , namespace . alias . mosaicId ) ;
192+ } else if ( namespace . alias && namespace . alias . type === AliasType . Address ) {
193+ return new AddressAlias ( namespace . alias . type , namespace . alias . address ) ;
194+ }
195+
196+ return new EmptyAlias ( ) ;
197+ }
172198}
0 commit comments