Class: Api::AdminController

Inherits:
ApplicationController show all
Defined in:
app/controllers/api/admin_controller.rb

Instance Method Summary collapse

Methods included from Response

#json_response

Instance Method Details

#email_users_with_skillsObject



27
28
29
30
31
32
33
34
35
# File 'app/controllers/api/admin_controller.rb', line 27

def email_users_with_skills
  params.require(%i[content object skills])

  users_skills.pluck(:id).each do |user_id|
    PrivateEmailWorker.perform_async(current_user.id, user_id, params[:object], params[:content])
  end

  render json: { message: 'Emailing started' }, status: :ok
end

#moderatorObject



8
9
10
# File 'app/controllers/api/admin_controller.rb', line 8

def moderator
  render json: { moderator: current_user.has_role?(:moderator) }, status: :ok
end

#users_with_skillsObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/api/admin_controller.rb', line 12

def users_with_skills
  respond_to do |format|
    format.csv do
      send_data User.to_csv(users_skills), filename: "users-with-skills-#{Time.zone.today}.csv"
    end

    format.json do
      render json: {
        count: users_skills.length,
        users: users_skills.map { |user| Api::UserSerializer.new(user) }
      }, status: :ok
    end
  end
end