Current section
Files
Jump to
Current section
Files
lib/command/synchronization.ex
defmodule FinTex.Command.Synchronization do
@moduledoc false
alias FinTex.Command.AbstractCommand
alias FinTex.Command.Sequencer
alias FinTex.Model.Dialog
alias FinTex.Segment.HKEND
alias FinTex.Segment.HNHBK
alias FinTex.Segment.HNHBS
alias FinTex.Segment.HNSHA
alias FinTex.Segment.HNSHK
alias FinTex.Service.Accounts
alias FinTex.Service.SEPAInfo
use AbstractCommand
def synchronize(bank, client_system_id, tan_scheme_sec_func, credentials, options) when is_list(options) do
seq = Sequencer.new(client_system_id, bank, credentials, options)
if tan_scheme_sec_func != nil do
seq = seq |> Sequencer.reset(tan_scheme_sec_func)
end
{seq, accounts} = {seq, %{}}
|> Accounts.update_accounts
|> SEPAInfo.update_accounts
{seq, accounts}
end
def terminate(seq) do
request_segments = [
%HNHBK{},
%HNSHK{},
%HKEND{},
%HNSHA{},
%HNHBS{}
]
{:ok, _} = seq |> Sequencer.call_http(request_segments)
end
end