Class: ClaimsBaseController

Inherits:
ApplicationController show all
Defined in:
app/controllers/claims_base_controller.rb

Constant Summary

Constants inherited from ApplicationController

ApplicationController::VERSION_STATUS

Constants included from SignIn::Authentication

SignIn::Authentication::BEARER_PATTERN

Constants included from ExceptionHandling

ExceptionHandling::SKIP_SENTRY_EXCEPTION_TYPES

Instance Method Summary collapse

Methods inherited from ApplicationController

#clear_saved_form, #cors_preflight, #routing_error

Methods included from Traceable

#set_trace_tags

Methods included from SentryLogging

#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger

Methods included from SignIn::Authentication

#authenticate, #authenticate_service_account, #load_user

Methods included from Headers

#block_unknown_hosts, #set_app_info_headers

Methods included from AuthenticationAndSSOConcerns

#authenticate, #clear_session, #extend_session!, #load_user, #log_sso_info, #render_unauthorized, #reset_session, #set_api_cookie!, #set_session_expiration_header, #sso_logging_info, #validate_inbound_login_params, #validate_session

Instance Method Details

#createObject

Creates and validates an instance of the class, removing any copies of the form that had been previously saved by the user.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/claims_base_controller.rb', line 22

def create
  PensionBurial::TagSentry.tag_sentry

  claim = claim_class.new(form: filtered_params[:form])
  user_uuid = current_user&.uuid
  Rails.logger.info "Begin ClaimGUID=#{claim.guid} Form=#{claim.class::FORM} UserID=#{user_uuid}"
  unless claim.save
    StatsD.increment("#{stats_key}.failure")
    raise Common::Exceptions::ValidationErrors, claim
  end

  claim.process_attachments!

  StatsD.increment("#{stats_key}.success")
  Rails.logger.info "Submitted job ClaimID=#{claim.confirmation_number} Form=#{claim.class::FORM} UserID=#{user_uuid}"

  clear_saved_form(claim.form_id)
  render(json: claim)
end

#showObject



42
43
44
# File 'app/controllers/claims_base_controller.rb', line 42

def show
  render(json: CentralMailSubmission.joins(:central_mail_claim).find_by(saved_claims: { guid: params[:id] }))
end