Module: MnoEnterprise::Concerns::Controllers::Jpi::V1::DeletionRequestsController

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

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#createObject

Instance methods

POST /deletion_request.json



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mno_enterprise/concerns/controllers/jpi/v1/deletion_requests_controller.rb', line 26

def create
  @deletion_request = MnoEnterprise::DeletionRequest.new(user_id: current_user.id)

  if @deletion_request.save
    # TODO: deliver_later => need to use user#id and deletion_request#id
    MnoEnterprise::SystemNotificationMailer.deletion_request_instructions(current_user, @deletion_request).deliver_now
    render json: @deletion_request, status: :created
  else
    render json: @deletion_request.errors, status: :unprocessable_entity
  end
end

#destroyObject

DELETE /deletion_request/1.json



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/mno_enterprise/concerns/controllers/jpi/v1/deletion_requests_controller.rb', line 54

def destroy
  @deletion_request = current_user.deletion_request

  # Check that the user has a deletion_request in progress
  # and that the token provided (params[:id]) matches the
  # deletion_request token
  if @deletion_request.present? && @deletion_request.token == params[:id]
    # Work around
    MnoEnterprise::DeletionRequest.find(@deletion_request.id).destroy

    head :no_content
  else
    head :bad_request
  end
end

#resendObject

PUT /deletion_request/1/resend.json



39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/mno_enterprise/concerns/controllers/jpi/v1/deletion_requests_controller.rb', line 39

def resend
  @deletion_request = current_user.deletion_request

  # Check that the user has a deletion_request in progress
  # and that the token provided (params[:id]) matches the
  # deletion_request token
  if @deletion_request.present? && @deletion_request.token == params[:id]
    MnoEnterprise::SystemNotificationMailer.deletion_request_instructions(current_user, @deletion_request).deliver_now
    render json: @deletion_request
  else
    head :bad_request
  end
end