summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/issuable_links.rb
blob: 2bdb190f1d5ae398ca7082660f12532f61a265f7 (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
36
37
38
39
40
41
# frozen_string_literal: true

module IssuableLinks
  def index
    render json: issuables
  end

  def create
    result = create_service.execute

    render json: { message: result[:message], issuables: issuables }, status: result[:http_status]
  end

  def destroy
    result = destroy_service.execute

    render json: { issuables: issuables }, status: result[:http_status]
  end

  private

  def issuables
    list_service.execute
  end

  def list_service
    raise NotImplementedError
  end

  def create_params
    params.permit(issuable_references: [])
  end

  def create_service
    raise NotImplementedError
  end

  def destroy_service
    raise NotImplementedError
  end
end