Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions app/services/idv/steps/verify_step.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,25 @@
module Idv
module Steps
class VerifyStep < VerifyBaseStep
State = Struct.new(:status, :pii, :result)
State = Struct.new(:status, :pii, :result, keyword_init: true) do
def self.none
new(status: :none)
end

def self.timed_out
new(status: :timed_out)
end

def self.in_progress
new(status: :in_progress)
end

def self.done(pii:, result:)
new(status: :done, pii: pii, result: result)
end

private_class_method :new
end

def call
case async_state.status
Expand Down Expand Up @@ -37,14 +55,14 @@ def async_state
return State.timed_out if dcs.nil?

proofing_job_result = dcs.load_proofing_result
return State.new(:timed_out, nil, nil) if proofing_job_result.nil?
return State.timed_out if proofing_job_result.nil?

if proofing_job_result.result
proofing_job_result.result.deep_symbolize_keys!
proofing_job_result.pii.deep_symbolize_keys!
State.new(:done, proofing_job_result.pii, proofing_job_result.result)
State.done(pii: proofing_job_result.pii, result: proofing_job_result.result)
elsif dcs.pii
State.new(:in_progress, nil, nil)
State.in_progress
end
end

Expand Down