Class: Jpi::V1::Admin::Impac::KpisController

Inherits:
BaseResourceController
  • Object
show all
Defined in:
app/controllers/mno_enterprise/jpi/v1/admin/impac/kpis_controller.rb

Overview

From the Admin panel, an admin can create/update/delete kpis to/from a dashboard template

Instance Method Summary collapse

Instance Method Details

#createObject

POST /mnoe/jpi/v1/admin/impac/dashboard_templates/:id/kpis



7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/mno_enterprise/jpi/v1/admin/impac/kpis_controller.rb', line 7

def create
  return render json: { errors: { message: 'Dashboard template not found' } }, status: :not_found unless template.present?

  @kpi = template.kpis.create(kpi_create_params)
  return render json: { errors: (@kpi && @kpi.errors).to_a }, status: :bad_request unless @kpi.present? && @kpi.valid?

  MnoEnterprise::EventLogger.info('kpi_create', current_user.id, 'Template KPI Creation', @kpi)
  @no_content = true
  render 'show'
end

#destroyObject

DELETE /mnoe/jpi/v1/admin/impac/kpis/:id



30
31
32
33
34
35
36
37
# File 'app/controllers/mno_enterprise/jpi/v1/admin/impac/kpis_controller.rb', line 30

def destroy
  unless kpi.present? && kpi.destroy
    return render json: { errors: 'Cannot delete kpi' }, status: :bad_request
  end

  MnoEnterprise::EventLogger.info('kpi_delete', current_user.id, 'Template KPI Deletion', kpi)
  head status: :ok
end

#updateObject

PUT /mnoe/jpi/v1/admin/impac/kpis/:id



19
20
21
22
23
24
25
26
27
# File 'app/controllers/mno_enterprise/jpi/v1/admin/impac/kpis_controller.rb', line 19

def update
  unless kpi.present? && kpi.update(kpi_update_params)
    return render json: { errors: 'Cannot update kpi' }, status: :bad_request
  end

  MnoEnterprise::EventLogger.info('kpi_update', current_user.id, 'Template KPI Update', kpi)
  @nocontent = !params['metadata']
  render 'show'
end