ensl.org/app/controllers/api/v1/users_controller.rb

40 lines
1.1 KiB
Ruby
Raw Normal View History

class Api::V1::UsersController < Api::V1::BaseController
def index
render json: Api::V1::UsersCollection.as_json
end
def show
@user = User.find(params[:id])
@steam = steam_profile @user
render json: {
id: @user.id,
username: @user.username,
country: @user.country,
time_zone: @user.time_zone,
avatar: @user.profile.avatar.url,
admin: @user.admin?,
steam: {
2015-08-17 18:16:32 +00:00
url: @steam.nil? ? nil : @steam.base_url,
nickname: @steam.nil? ? nil : @steam.nickname
2015-08-01 15:44:39 +00:00
},
bans: {
gather: @user.banned?(Ban::TYPE_GATHER).present?,
mute: @user.banned?(Ban::TYPE_MUTE).present?,
site: @user.banned?(Ban::TYPE_SITE).present?
2015-08-01 16:05:17 +00:00
},
team: @user.team.present? ? { id: @user.team.id, name: @user.team.name } : nil
}
2015-07-22 16:22:38 +00:00
rescue ActiveRecord::RecordNotFound
raise ActionController::RoutingError.new('User Not Found')
end
private
2015-08-17 18:16:32 +00:00
def steam_profile(user)
SteamCondenser::Community::SteamId.from_steam_id("STEAM_#{user.steamid}")
2015-08-17 18:16:32 +00:00
rescue SteamCondenser::Error
nil
end
2014-03-31 21:33:16 +00:00
end