Class: BenefitsDocuments::Service
Constant Summary
collapse
- STATSD_KEY_PREFIX =
'api.benefits_documents'
- STATSD_UPLOAD_LATENCY =
'lighthouse.api.benefits.documents.latency'
Instance Method Summary
collapse
configuration, #raise_backend_exception
#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger
Constructor Details
#initialize(user) ⇒ Service
Returns a new instance of Service.
13
14
15
16
17
18
|
# File 'lib/lighthouse/benefits_documents/service.rb', line 13
def initialize(user)
@user = user
raise ArgumentError, 'no user passed in for LH API request.' if @user.blank?
super()
end
|
Instance Method Details
#cleanup_after_upload ⇒ Object
60
61
62
|
# File 'lib/lighthouse/benefits_documents/service.rb', line 60
def cleanup_after_upload
FileUtils.rm_rf(@base_path) if @base_path
end
|
#file_number ⇒ Object
20
21
22
|
# File 'lib/lighthouse/benefits_documents/service.rb', line 20
def file_number
BGS::People::Request.new.find_person_by_participant_id(user: @user).file_number
end
|
#queue_document_upload(params, lighthouse_client_id = nil) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/lighthouse/benefits_documents/service.rb', line 24
def queue_document_upload(params, lighthouse_client_id = nil)
loggable_params = params.except(:password)
loggable_params[:icn] = @user.icn
Rails.logger.info('Parameters for document upload', loggable_params)
start_timer = Time.zone.now
claim_id = params[:claimId] || params[:claim_id]
unless claim_id
raise Common::Exceptions::InternalServerError,
ArgumentError.new("Claim with id #{claim_id} not found")
end
jid = submit_document(params[:file], params, lighthouse_client_id)
StatsD.measure(STATSD_UPLOAD_LATENCY, Time.zone.now - start_timer, tags: ['is_multifile:false'])
jid
end
|
#queue_multi_image_upload_document(params, lighthouse_client_id = nil) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/lighthouse/benefits_documents/service.rb', line 42
def queue_multi_image_upload_document(params, lighthouse_client_id = nil)
loggable_params = params.except(:password)
loggable_params[:icn] = @user.icn
Rails.logger.info('Parameters for document multi image upload', loggable_params)
start_timer = Time.zone.now
claim_id = params[:claimId] || params[:claim_id]
unless claim_id
raise Common::Exceptions::InternalServerError,
ArgumentError.new("Claim with id #{claim_id} not found")
end
file_to_upload = generate_multi_image_pdf(params[:files])
jid = submit_document(file_to_upload, params, lighthouse_client_id)
StatsD.measure(STATSD_UPLOAD_LATENCY, Time.zone.now - start_timer, tags: ['is_multifile:true'])
jid
end
|