From fdd6b329a8a4ca542779da340de59f7b8a06d793 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 29 Jun 2017 22:02:54 -0400 Subject: [PATCH] Get changeset, timestamp, uid for all elements; changeset_count for users --- modules/services/osm.js | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/modules/services/osm.js b/modules/services/osm.js index de1d977e6..b5013e4df 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -104,11 +104,14 @@ var parsers = { var attrs = obj.attributes; return new osmNode({ id: osmEntity.id.fromOSM('node', attrs.id.value), - loc: getLoc(attrs), + visible: getVisible(attrs), version: attrs.version.value, + changeset: attrs.changeset && attrs.changeset.value, + timestamp: attrs.timestamp && attrs.timestamp.value, user: attrs.user && attrs.user.value, - tags: getTags(obj), - visible: getVisible(attrs) + uid: attrs.uid && attrs.uid.value, + loc: getLoc(attrs), + tags: getTags(obj) }); }, @@ -116,11 +119,14 @@ var parsers = { var attrs = obj.attributes; return new osmWay({ id: osmEntity.id.fromOSM('way', attrs.id.value), + visible: getVisible(attrs), version: attrs.version.value, + changeset: attrs.changeset && attrs.changeset.value, + timestamp: attrs.timestamp && attrs.timestamp.value, user: attrs.user && attrs.user.value, + uid: attrs.uid && attrs.uid.value, tags: getTags(obj), nodes: getNodes(obj), - visible: getVisible(attrs) }); }, @@ -128,11 +134,14 @@ var parsers = { var attrs = obj.attributes; return new osmRelation({ id: osmEntity.id.fromOSM('relation', attrs.id.value), + visible: getVisible(attrs), version: attrs.version.value, + changeset: attrs.changeset && attrs.changeset.value, + timestamp: attrs.timestamp && attrs.timestamp.value, user: attrs.user && attrs.user.value, + uid: attrs.uid && attrs.uid.value, tags: getTags(obj), - members: getMembers(obj), - visible: getVisible(attrs) + members: getMembers(obj) }); } }; @@ -347,10 +356,18 @@ export default { image_url = img[0].getAttribute('href'); } + var changesets = u.getElementsByTagName('changesets'), + changesets_count = 0; + + if (changesets && changesets[0] && changesets[0].getAttribute('count')) { + changesets_count = changesets[0].getAttribute('count'); + } + userDetails = { + id: u.attributes.id.value, display_name: u.attributes.display_name.value, image_url: image_url, - id: u.attributes.id.value + changesets_count: changesets_count }; callback(undefined, userDetails);