~cytrogen/masto-fe

ref: 1cdcd9dc08c91321f80ffe4822f6a3da15abeb2c masto-fe/app/controllers/api/v1/profiles_controller.rb -rw-r--r-- 803 bytes
1cdcd9dc — renovate[bot] Update eslint (non-major) (#26567) 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

class Api::V1::ProfilesController < Api::BaseController
  before_action -> { doorkeeper_authorize! :write, :'write:accounts' }
  before_action :require_user!
  before_action :set_image
  before_action :validate_image_param

  def destroy
    @account = current_account
    UpdateAccountService.new.call(@account, { @image => nil }, raise_error: true)
    ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
    render json: @account, serializer: REST::CredentialAccountSerializer
  end

  private

  def set_image
    @image = params[:image]
  end

  def validate_image_param
    raise(Mastodon::InvalidParameterError, 'Image must be either "avatar" or "header"') unless valid_image?
  end

  def valid_image?
    %w(avatar header).include?(@image)
  end
end