Class: SimpleFormsApiSubmission::Service
Overview
Proxy Service for the Lighthouse Benefits Intake API Service
Instance Method Summary
collapse
#with_monitoring
#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger
configuration, #raise_backend_exception
Instance Method Details
26
27
28
|
# File 'lib/simple_forms_api_submission/service.rb', line 26
def generate_tmp_metadata(metadata)
Common::FileHelpers.generate_temp_file(metadata.to_s, "#{SecureRandom.hex}.SimpleFormsApi.metadata.json")
end
|
#get_upload_docs(file:, metadata:) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/simple_forms_api_submission/service.rb', line 30
def get_upload_docs(file:, metadata:)
json_tmpfile = generate_tmp_metadata(metadata)
file_name = File.basename(file)
params = { metadata: Faraday::UploadIO.new(json_tmpfile, Mime[:json].to_s, 'metadata.json'),
content: Faraday::UploadIO.new(file, Mime[:pdf].to_s, file_name) }
[params, json_tmpfile]
end
|
#get_upload_location ⇒ Object
20
21
22
23
24
|
# File 'lib/simple_forms_api_submission/service.rb', line 20
def get_upload_location
= {}
request_body = {}
perform :post, 'uploads', request_body,
end
|
#upload_doc(upload_url:, file:, metadata:) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/simple_forms_api_submission/service.rb', line 38
def upload_doc(upload_url:, file:, metadata:)
params, _json_tmpfile = get_upload_docs(file:, metadata:)
response = perform :put, upload_url, params, { 'Content-Type' => 'multipart/form-data' }
raise response.body unless response.success?
response
end
|