2020-07-28 23:09:34 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
# Abstract class encapsulating common logic for creating new controllers in a pipeline context
|
|
|
|
|
|
|
|
module Projects
|
|
|
|
module Pipelines
|
|
|
|
class ApplicationController < Projects::ApplicationController
|
|
|
|
include Gitlab::Utils::StrongMemoize
|
|
|
|
|
|
|
|
before_action :pipeline
|
|
|
|
before_action :authorize_read_pipeline!
|
|
|
|
|
2021-01-03 14:25:43 +05:30
|
|
|
feature_category :continuous_integration
|
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
private
|
|
|
|
|
|
|
|
def pipeline
|
|
|
|
strong_memoize(:pipeline) do
|
|
|
|
project.all_pipelines.find(params[:pipeline_id]).tap do |pipeline|
|
|
|
|
render_404 unless can?(current_user, :read_pipeline, pipeline)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|