]> git.openstreetmap.org Git - rails.git/blob - app/views/api/changesets/_changeset.xml.builder
expose the enhanced changeset stats via the API
[rails.git] / app / views / api / changesets / _changeset.xml.builder
1 # frozen_string_literal: true
2
3 # basic attributes
4
5 attrs = {
6   "id" => changeset.id,
7   "created_at" => changeset.created_at.xmlschema,
8   "open" => changeset.open?,
9   "comments_count" => changeset.comments.length,
10   "changes_count" => changeset.num_changes,
11   "created_count" => changeset.num_created_elements,
12   "modified_count" => changeset.num_modified_elements,
13   "deleted_count" => changeset.num_deleted_elements
14 }
15 attrs["closed_at"] = changeset.closed_at.xmlschema unless changeset.open?
16 changeset.bbox.to_unscaled.add_bounds_to(attrs, "_") if changeset.bbox.complete?
17
18 # user attributes
19
20 if changeset.user.data_public?
21   attrs["uid"] = changeset.user_id
22   attrs["user"] = changeset.user.display_name
23 end
24
25 xml.changeset(attrs) do |changeset_xml_node|
26   changeset.tags.each do |k, v|
27     changeset_xml_node.tag(:k => k, :v => v)
28   end
29
30   # include discussion if requested
31
32   if @comments
33     changeset_xml_node.discussion do |discussion_xml_node|
34       @comments.each do |comment|
35         discussion_xml_node << render(comment)
36       end
37     end
38   end
39 end