X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/8598ae3bc8b5545fafee8ff062522688bcf40393..0fb725ea611e7788a05bcb39bbf65ccdfe7ae505:/app/views/api/users/_user.json.jbuilder diff --git a/app/views/api/users/_user.json.jbuilder b/app/views/api/users/_user.json.jbuilder new file mode 100644 index 000000000..9629e8fa5 --- /dev/null +++ b/app/views/api/users/_user.json.jbuilder @@ -0,0 +1,73 @@ +json.user do + json.id user.id + json.display_name user.display_name + json.account_created user.creation_time.xmlschema + json.description user.description if user.description + + if current_user && current_user == user + json.contributor_terms do + json.agreed user.terms_agreed.present? + json.pd user.consider_pd + end + else + json.contributor_terms do + json.agreed user.terms_agreed.present? + end + end + + json.img do + json.href user_image_url(user) if user.avatar.attached? || user.image_use_gravatar + end + + json.roles do + json.array! user.roles.map(&:role) + end + + json.changesets do + json.count user.changesets.size + end + + json.traces do + json.count user.traces.size + end + + json.blocks do + json.received do + json.count user.blocks.size + json.active user.blocks.active.size + end + + if user.moderator? + json.issued do + json.count user.blocks_created.size + json.active user.blocks_created.active.size + end + end + end + + if current_user && current_user == user + if user.home_lat && user.home_lon + json.home do + json.lat user.home_lat + json.lon user.home_lon + json.zoom user.home_zoom + end + end + + if user.languages + json.languages do + json.array! user.languages.split(",") + end + end + + json.messages do + json.received do + json.count user.messages.size + json.unread user.new_messages.size + end + json.sent do + json.count user.sent_messages.size + end + end + end +end