Class: V1::SupplementalClaims::ContestableIssuesController

Inherits:
AppealsBaseControllerV1 show all
Defined in:
app/controllers/v1/supplemental_claims/contestable_issues_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

#indexObject



8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/v1/supplemental_claims/contestable_issues_controller.rb', line 8

def index
  ci = decision_review_service
       .get_supplemental_claim_contestable_issues(user: current_user, benefit_type: params[:benefit_type])
       .body
  render json: merge_legacy_appeals(ci)
rescue => e
  log_exception_to_personal_information_log e,
                                            error_class: "#{self.class.name}#index exception #{e.class} (SC_V1)"
  raise
end

#merge_legacy_appeals(contestable_issues) ⇒ Object



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

def merge_legacy_appeals(contestable_issues)
  # Fetch Legacy Appels and combine with CIs
  ci_la = nil
  begin
    la = decision_review_service
         .get_legacy_appeals(user: current_user)
         .body
    # punch in an empty LA section if no LAs for user to distinguish no LAs from a LA call fail
    la['data'] = [{ 'type': 'legacyAppeal', 'attributes': { 'issues': [] } }] if la['data'].empty?
    ci_la = { "data": contestable_issues['data'] + la['data'] }
  rescue => e
    # If LA fails keep going Legacy Appeals are not critical, return original contestable_issues
    log_exception_to_personal_information_log(
      e,
      error_class: "#{self.class.name}#index exception #{e.class} (SC_V1_LEGACY_APPEALS)",
      benefit_type: params[:benefit_type]
    )
    contestable_issues
  else
    ci_la
  end
end