aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/backends/terraform_libvirt_controller.rb
blob: 6dcba17a732dce5a3472d72594561c33956b417c (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class Backends::TerraformLibvirtController < ApplicationController
  def new
    @backend = Backends::TerraformLibvirt.new
    @backend.uri = 'qemu:///system'
  end

  def create
    backend = Backends::TerraformLibvirt.create(create_params)

    flash[:success] = "Backend #{backend.label} created"

    redirect_to terraform_libvirt_backend_path(backend)
  end

  def update
    @backend = Backends::TerraformLibvirt.update(
      params['id'],
      update_params
    )

    flash[:success] = "Backend #{@backend.label} updated"

    render :show
  end

  def show
    @backend = Backends::TerraformLibvirt.find(params['id'])
  end

  def destroy
    backend = Backends::TerraformLibvirt.find(params['id'])

    flash[:success] = "Backend #{backend.label} deleted"
    backend.delete

    redirect_to setup_path
  end

  private

  def create_params
    params
      .require(:backends_terraform_libvirt)
      .permit(
        :label,
        :domain,
        :uri
      )
  end

  def update_params
    params
      .require(:backends_terraform_libvirt)
      .permit(
        :label
      )
  end
end