Module: MnoEnterprise::Concerns::Controllers::Jpi::V1::AppInstancesController

Extended by:
ActiveSupport::Concern
Included in:
Jpi::V1::AppInstancesController
Defined in:
lib/mno_enterprise/concerns/controllers/jpi/v1/app_instances_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject

POST /mnoe/jpi/v1/organization/1/app_instances



26
27
28
29
30
31
# File 'lib/mno_enterprise/concerns/controllers/jpi/v1/app_instances_controller.rb', line 26

def create
  authorize! :manage_app_instances, parent_organization
  app_instance = parent_organization.app_instances.create(product: params[:nid])
  MnoEnterprise::EventLogger.info('app_add', current_user.id, 'App added', app_instance)
  head :created
end

#destroyObject

DELETE /mnoe/jpi/v1/app_instances/1



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/mno_enterprise/concerns/controllers/jpi/v1/app_instances_controller.rb', line 34

def destroy
  app_instance = MnoEnterprise::AppInstance.find(params[:id])

  if app_instance
    authorize! :manage_app_instances, app_instance.owner
    MnoEnterprise::EventLogger.info('app_destroy', current_user.id, 'App destroyed', app_instance)
    app_instance.terminate
  end

  head :accepted
end

#indexObject

Instance methods

GET /mnoe/jpi/v1/organization/1/apps.json?timestamp=151452452345



17
18
19
20
21
22
23
# File 'lib/mno_enterprise/concerns/controllers/jpi/v1/app_instances_controller.rb', line 17

def index
  @app_instances = parent_organization.app_instances.active.where("updated_at.gt" => Time.at(timestamp)).select do |i|
    # force owner assignment to avoid a refetch in ability can?(:access,i)
    i.owner = parent_organization
    can?(:access,i)
  end
end