summaryrefslogtreecommitdiff
path: root/app/controllers/projects/avatars_controller.rb
blob: fb113df137f72ab2e96d7d794a51743f21d11425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# frozen_string_literal: true

class Projects::AvatarsController < Projects::ApplicationController
  include SendsBlob

  skip_before_action :default_cache_headers, only: :show

  before_action :authorize_admin_project!, only: [:destroy]

  feature_category :projects

  def show
    @blob = @repository.blob_at_branch(@repository.root_ref, @project.avatar_in_git)

    send_blob(@repository, @blob, allow_caching: @project.public?)
  end

  def destroy
    @project.remove_avatar!
    @project.save

    redirect_to edit_project_path(@project, anchor: 'js-general-project-settings'), status: :found
  end
end