@@ -3,38 +3,22 @@ import { apiOSM } from '../config/constants';
3
3
import { API_URL } from '../config' ;
4
4
5
5
export function getUserDetails ( uid : number , token : string ) : Map < 'string' , * > {
6
- const user = { } ;
7
- const fromOSM = fetch ( `${ apiOSM } /user/${ uid } ` )
8
- . then ( r => r . text ( ) )
6
+ const user = { uid : uid } ;
7
+ const fromOSM = fetch ( `${ apiOSM } /user/${ uid } .json` , {
8
+ method : 'GET' ,
9
+ headers : { 'Content-Type' : 'application/json' }
10
+ } )
11
+ . then ( r => r . json ( ) )
9
12
. then ( r => {
10
- const parser = new DOMParser ( ) ;
11
- const xml = parser . parseFromString ( r , 'text/xml' ) ;
12
- xml . getElementsByTagName ( 'osm' ) ;
13
- const userXml =
14
- xml . getElementsByTagName ( 'osm' ) [ 0 ] &&
15
- xml . getElementsByTagName ( 'osm' ) [ 0 ] . getElementsByTagName ( 'user' ) [ 0 ] ;
16
-
17
- user . count =
18
- userXml . getElementsByTagName ( 'changesets' ) [ 0 ] &&
19
- userXml . getElementsByTagName ( 'changesets' ) [ 0 ] . getAttribute ( 'count' ) ;
20
-
21
- user . uid = userXml . getAttribute ( 'id' ) ;
22
-
23
- user . accountCreated = userXml . getAttribute ( 'account_created' ) ;
24
-
25
- user . description =
26
- userXml . getElementsByTagName ( 'description' ) [ 0 ] &&
27
- userXml . getElementsByTagName ( 'description' ) [ 0 ] . innerHTML ;
28
-
29
- user . img =
30
- userXml . getElementsByTagName ( 'img' ) [ 0 ] &&
31
- userXml . getElementsByTagName ( 'img' ) [ 0 ] . getAttribute ( 'href' ) ;
32
- user . name = userXml . getAttribute ( 'display_name' ) ;
33
-
34
- return user ;
13
+ const u = r . user ;
14
+ user . count = u . changesets . count ;
15
+ user . accountCreated = u . account_created ;
16
+ user . description = u . description ;
17
+ user . img = u . img && u . img . href ;
18
+ user . name = u . display_name ;
19
+ return fromJS ( user ) ;
35
20
} )
36
- . catch ( e => user )
37
- . then ( user => fromJS ( user ) ) ;
21
+ . catch ( e => user ) ;
38
22
39
23
const fromOSMCha = fetch ( `${ API_URL } /user-stats/${ uid } /` , {
40
24
method : 'GET' ,
0 commit comments