docbrown/app/controllers/api/v0/users_controller.rb

28 lines
796 B
Ruby

module Api
module V0
class UsersController < ApiController
before_action :authenticate!, only: %i[me]
before_action -> { doorkeeper_authorize! :public }, only: :me, if: -> { doorkeeper_token }
SHOW_ATTRIBUTES_FOR_SERIALIZATION = %i[
id username name summary twitter_username github_username website_url
location created_at profile_image registered
].freeze
def show
relation = User.select(SHOW_ATTRIBUTES_FOR_SERIALIZATION)
@user = if params[:id] == "by_username"
relation.find_by!(username: params[:url])
else
relation.find(params[:id])
end
not_found unless @user.registered
end
def me
render :show
end
end
end
end