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 36 37 38 39 40
|
# frozen_string_literal: true
module Analytics
module CycleAnalytics
module ValueStreams
class ListService
include Gitlab::Allowable
def initialize(parent:, current_user:, params: {})
@parent = parent
@current_user = current_user
@params = params
end
def execute
return forbidden unless can?(current_user, :read_cycle_analytics, parent.project)
value_stream = ::Analytics::CycleAnalytics::ValueStream
.build_default_value_stream(parent)
success([value_stream])
end
private
attr_reader :parent, :current_user, :params
def success(value_streams)
ServiceResponse.success(payload: { value_streams: value_streams })
end
def forbidden
ServiceResponse.error(message: 'Forbidden', payload: {})
end
end
end
end
end
Analytics::CycleAnalytics::ValueStreams::ListService.prepend_mod
|