summaryrefslogtreecommitdiff
path: root/app/controllers/projects/hook_logs_controller.rb
blob: a7afc3d77a5089c51524f2ae1256c44f2e44c9b1 (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
25
26
27
28
29
30
31
32
33
34
35
# frozen_string_literal: true

class Projects::HookLogsController < Projects::ApplicationController
  include HooksExecution

  before_action :authorize_admin_project!

  before_action :hook, only: [:show, :retry]
  before_action :hook_log, only: [:show, :retry]

  respond_to :html

  layout 'project_settings'

  def show
  end

  def retry
    result = hook.execute(hook_log.request_data, hook_log.trigger)

    set_hook_execution_notice(result)

    redirect_to edit_project_hook_path(@project, @hook)
  end

  private

  def hook
    @hook ||= @project.hooks.find(params[:hook_id])
  end

  def hook_log
    @hook_log ||= hook.web_hook_logs.find(params[:id])
  end
end