Class: Form5655Submission

Inherits:
ApplicationRecord show all
Defined in:
app/models/form5655_submission.rb

Defined Under Namespace

Classes: StaleUserError

Instance Method Summary collapse

Methods inherited from ApplicationRecord

descendants_using_encryption, lockbox_options, #timestamp_attributes_for_update_in_model, #valid?

Instance Method Details

#formObject



34
35
36
# File 'app/models/form5655_submission.rb', line 34

def form
  @form_hash ||= JSON.parse(form_json)
end

#kms_encryption_contextObject



15
16
17
18
19
20
# File 'app/models/form5655_submission.rb', line 15

def kms_encryption_context(*)
  {
    model_name: model_name.to_s,
    model_id: id
  }
end

#public_metadataObject



30
31
32
# File 'app/models/form5655_submission.rb', line 30

def 
  super || {}
end

#register_failure(message) ⇒ Object



53
54
55
56
57
# File 'app/models/form5655_submission.rb', line 53

def register_failure(message)
  failed!
  update(error_message: message)
  Rails.logger.error('Form5655Submission failed', message)
end

#streamlined?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'app/models/form5655_submission.rb', line 59

def streamlined?
  .dig('streamlined', 'value') == true
end

#submit_to_vbaObject



45
46
47
# File 'app/models/form5655_submission.rb', line 45

def submit_to_vba
  DebtsApi::V0::Form5655::VBASubmissionJob.perform_async(id, user_cache_id)
end

#submit_to_vhaObject



49
50
51
# File 'app/models/form5655_submission.rb', line 49

def submit_to_vha
  DebtsApi::V0::Form5655::VHASubmissionJob.perform_async(id, user_cache_id)
end

#user_cache_idObject

Raises:



38
39
40
41
42
43
# File 'app/models/form5655_submission.rb', line 38

def user_cache_id
  user = User.find(user_uuid)
  raise StaleUserError, user_uuid unless user

  UserProfileAttributeService.new(user).cache_profile_attributes
end