dankito
f637897dc3
Removed ui, persistence and rest projects (will be moved to separate repositories) and deactivated tools projects.
...
Removed Android target and using now JVM instead of JVM6.
Updated to Kotlin 1.6.10 which works much better for KMPP. Could therefore remove packForXcode() tasks
2022-02-11 23:53:35 +01:00
dankito
3c096d655f
Fixed that previous dialog's chunkedResponseHandler hasn't been set on next dialog (is important when retrieving transactions and user chose to change TAN method or -media)
2022-02-07 00:18:14 +01:00
dankito
c9884a380e
Fixed that initDialogWithStrongCustomerAuthentication() JobContext.startNewDialog() hasn't been called causing message number to be 2 instead of 1 (and institution therefore to abort this dialog)
2022-02-07 00:18:14 +01:00
dankito
796218c2d6
Added nonVisualOrImageBased()
2022-02-07 00:18:14 +01:00
dankito
6d48382a7e
As messageLogWithoutSensitiveData gets called for sure removing sensitive data upfront now
2022-02-07 00:18:14 +01:00
dankito
e87adc8499
Clarified that getTransactionsAsync() only retrieves the transactions of one account; also fixed data model in regard to this
2022-02-07 00:18:14 +01:00
dankito
e90579a1b7
Added isPinLocked to FinTsClientResponse; also explicitly added it to successful, even though it's already contained in responseContainsErrors
2022-02-07 00:18:14 +01:00
dankito
462917467d
Creating message for message log now directly in fints4k, no need to translate it
2022-02-07 00:18:14 +01:00
dankito
6aa03bcad2
Implemented setting current message type on DialogContext; logging job and message type
2022-02-07 00:18:14 +01:00
dankito
fba6c2a0d5
Implemented also logging dialog number
2022-02-07 00:18:14 +01:00
dankito
4c70412058
Fixed that Mt940Parser's logAppender got overridden
2022-02-07 00:18:14 +01:00
dankito
7ad0656c9b
Fixed that ResponseParser logs didn't get added to LogCollector; had therefore to add ResponseParser to JobContext
2022-02-07 00:18:14 +01:00
dankito
eba94e2c1b
Forgot one open
2022-02-07 00:18:14 +01:00
dankito
ac71e09596
Added imageBased() and first() methods
2022-02-07 00:18:14 +01:00
dankito
d6305b52be
Implemented logging and adding to MessageLogEntry job number, dialog number and account
2022-02-07 00:18:14 +01:00
dankito
c2b3a8fb5f
Extracted setNextMessage()
2022-02-07 00:18:14 +01:00
dankito
471fd0caf4
Collecting now message on JobContext (makes FinTsClient, FinTsJobExecutor and RequestExecutor state free); moved therefore Mt940AccountTransactionsParser to JobContext
2022-02-07 00:18:14 +01:00
dankito
b57847b4f2
Fixed that message is not a FinTS message
2022-02-07 00:18:14 +01:00
dankito
7d185a805c
Using now JobContext as MessageBaseData
2022-02-07 00:18:14 +01:00
dankito
f3552248dc
Moved ProductData to JobContext and implemented that startNewDialog() create DialogContext
2022-02-07 00:18:14 +01:00
dankito
0a9b31b393
Created JobContext to have a cross dialog context per job and to be able to set FinTsClientCallback (and later on other objects) on a job basis
2022-02-07 00:18:14 +01:00
dankito
d5573817ef
Fixed that if a message is received that tells us a TAN is required than callback and there updateBankAndCustomerDataIfResponseSuccessful() doesn't get called for this received message - but which is absolutely required for Hypovereinsbank
2022-02-07 00:18:14 +01:00
dankito
3363e427be
Calling updateBankAndCustomerDataIfResponseSuccessful() after each received message now
2022-02-07 00:18:14 +01:00
dankito
1b2b960c1b
Extracted TanMethodSelector
2022-02-07 00:18:14 +01:00
dankito
3e8d1e6dc6
Implemented setting preferred TanMethod and TanMedium
2022-02-07 00:18:14 +01:00
dankito
4ec82a44d7
Added selectedTanMedium
2022-02-07 00:18:14 +01:00
dankito
c82611ad6c
Implemented getAllExceptionMessages() to list all messages in exception hierarchy
2022-02-07 00:18:14 +01:00
dankito
1e1e8e8f11
Renamed tanMethodSupportedByBank to tanMethodsSupportedByBank
2022-02-07 00:18:14 +01:00
dankito
27fc67940c
Added warningSegmentFeedbacks and errorSegmentFeedbacks
2022-02-07 00:18:14 +01:00
dankito
ed784f1827
Renamed errorMessage to internalError, errorsToShowToUser to errorMessagesFromBank, added didBankReturnError and created a method to determine which error message to show to user
2022-02-07 00:18:14 +01:00
dankito
bb520de5d5
Renamed messageCreationError to messageThatCouldNotBeCreated
2022-02-07 00:18:14 +01:00
dankito
b0af1cd1c9
Added an error message if FinTS message to be sent to bank could not be created
2022-02-07 00:18:14 +01:00
dankito
dee1fd7211
Extracted createNoTanMethodSelectedResponse()
2022-02-07 00:18:14 +01:00
dankito
fed10e21c0
Fixed return getBankInfoResponse including its error
2022-02-07 00:18:14 +01:00
dankito
bd2c96bbcb
Fixed returning original getTanMethodsResponse and therefore its errors etc.
2022-02-07 00:18:14 +01:00
dankito
1356249621
Added getTanMediaList() to retrieveBasicDataLikeUsersTanMethods() as may for other calls like getTransactions() this is a requirement to be able to establish strong authentication dialog (only known bank till now: Postbank)
2022-02-07 00:18:14 +01:00
dankito
cb25a2294a
Added getUsersTanMethod() to retrieveBasicDataLikeUsersTanMethods() so that it's callers don't have to do this
2022-02-07 00:18:14 +01:00
dankito
4d3c1aece3
Fixed that otherPartyName may is just an empty string (like at Targobank)
2022-02-07 00:18:14 +01:00
dankito
fb33a7c58a
Implemented using updated account information after retrieving new bank data
2022-02-07 00:18:14 +01:00
dankito
e8e35a3fe2
Fixed that if balance should not get fetched that we did abort instead of continuing with retrieving transactions
2022-02-07 00:18:14 +01:00
dankito
fad4c48b41
Implemented logging client close errors
2022-02-07 00:18:14 +01:00
dankito
d35a420c29
Parsing date and time now manually as Java's DateFormat is not thread safe causing a lot of curious errors when executed in parallel
2022-02-07 00:18:14 +01:00
dankito
356b0f7823
Made callback settable (required for fints4kRest
2022-02-07 00:18:14 +01:00
dankito
bc7733f618
Implemented toString()
2022-02-07 00:18:14 +01:00
dankito
e30127415c
Fixed that if TAN is required but we have been told to abort if requiring TAN, RetrievedAccountData is now set to successful
2022-02-07 00:18:14 +01:00
dankito
e1e4cbe30a
Added bank code and customer ID to log message to be able to track to which account a log message belongs
2022-02-07 00:18:14 +01:00
dankito
cc99ebdbce
Fixed substracting 90 days as previous implementation had an issue when crossing daylight saving changes (wenn die Zeitumstellung innerhalb der letzten 90 Tage lag)
2022-02-07 00:18:14 +01:00
dankito
9c9ebb9d57
Fixed that if fetchBalanceAndTransactions was set to false accounts haven't been returned
2022-02-07 00:18:14 +01:00
dankito
ec85162e00
Couldn't reproduce it but on server parsing balance time sometimes failed
2022-02-07 00:18:14 +01:00
dankito
ce3247c7e4
Fixed Atrium dependency; bumped Atrium version to 0.15.0
2022-02-07 00:18:14 +01:00
dankito
a4ebdfec8c
Added return to make it clearer that code below doesn't get called
2022-02-07 00:18:14 +01:00
dankito
6975502f28
Re-added setting bank name to BankParameters.bankName in case that it's not set (as the value from BankParameters contains a lot of confusion and irrelevant names)
2022-02-07 00:18:14 +01:00
dankito
4ddb55e612
Extracted RequestExecutor
2022-02-07 00:18:14 +01:00
dankito
41d02ec343
Extracted ModelMapper
2022-02-07 00:18:14 +01:00
dankito
b6a0e48fd7
Extracted FinTsJobExecutor to separate high level methods of FinTsClient that group multiple low level jobs from FinTsJobExecutor that executes that low level jobs (= FinTS Geschäftsvorfälle)
2022-02-07 00:18:14 +01:00
dankito
7eb35eba55
Removed unused getTanMediaListAsync()
2022-02-07 00:18:14 +01:00
dankito
b0afdde7e3
Added infrastructure for automatically retrieving if user entered decoupled TAN
2022-02-07 00:18:14 +01:00
dankito
c5bddd94b0
Implemented that errors when retrieving account transactions get displayed in UI
2022-02-07 00:18:14 +01:00
dankito
17110a794c
Renamed transactionsSegment to creditCardTransactionsSegment
2022-02-07 00:18:14 +01:00
dankito
ef1c927d27
Implemented mapping DecoupledTanMethodParameters
2022-02-07 00:18:14 +01:00
dankito
5af1557642
Fixed getTanMediaList()
2022-02-07 00:18:14 +01:00
dankito
6b2434fe3b
Fixed messages (message size; CustomerId and Language; RetrieveAccountTransactionsParameters and PinInfo is now required for HKKAZ)
2022-02-07 00:18:14 +01:00
dankito
187b1805e6
Extracted calculateMessageSize(); fixed MessageHeaderMinLength
2022-02-07 00:18:14 +01:00
dankito
361a4062cb
Fixed calculating message size
2022-02-07 00:18:14 +01:00
dankito
d43d91b6cc
Implemented setting time on Date; fixed formatting time tests
2022-02-07 00:18:14 +01:00
dankito
095d9c467a
Fixed that now '2:13' instead of '16:14' is used
2022-02-07 00:18:14 +01:00
dankito
9ef1458edb
Fixed that BIC is now written to HKSAL
2022-02-07 00:18:14 +01:00
dankito
4948d2ce7e
Fixed that otherPartyName is now named transactionDescriptionBase
2022-02-07 00:18:14 +01:00
dankito
e08076de17
Implemented parsing HITANS version 7
2022-02-07 00:18:14 +01:00
dankito
87662d776a
Implemented adding stack trace to MessageLog
2022-02-07 00:18:14 +01:00
dankito
66f4eeb6ad
Implemented catching exceptions in removeSensitiveDataFromMessage()
2022-02-07 00:18:14 +01:00
dankito
06ef511892
Implemented adding errors of ResponseParser, Mt940Parser and Mt940AccountTransactionsParser to MessageLog
2022-02-07 00:18:14 +01:00
dankito
55f5603cb9
Implemented adding errors to MessageLog
2022-02-07 00:18:14 +01:00
dankito
ae7f6328e3
Implemented passing MessageLogEntryType on to UI so that it has the possibility to translate the message prefix
2022-02-07 00:18:14 +01:00
dankito
87e272565f
Extracted
2022-02-07 00:18:14 +01:00
dankito
ae37442d86
Added parsing transactionDescriptionSupplement
2022-02-07 00:18:13 +01:00
dankito
26cc2088ad
Catching errors while parsing credit card transactions
2022-02-07 00:18:13 +01:00
dankito
e5c1fa2b50
Fixed retrieving medium name (had to take remainingDataElements not dataElements)
2022-02-07 00:18:13 +01:00
dankito
b16390d0eb
Fixed that ?, got treated as field code leading to that parsing whole information to account owner failed
2022-02-07 00:18:13 +01:00
dankito
45f926055f
Removed setting bank name to value in bank parameters as this value contains a lot of confusing and irrelevant names (like DB24 for Deutsche Bank and Rechenzentrum Bayer. Gen. for Bavarian Raiffeisen banks)
2022-02-07 00:18:13 +01:00
dankito
bc49b4ee20
Implemented setting medium name also for unknown medium classes (e.g. Sparkasse sends for pushTan now 'AlleMedien' -> set medium name and everything just works fine)
2022-02-07 00:18:13 +01:00
dankito
e43be8f0aa
Implemented creating bitcode for exported iOS frameworks as bitcode is needed to create an archive for app
2022-02-07 00:18:08 +01:00
dankito
d73e359c27
Adjusted to new constructor signature
2022-02-07 00:18:08 +01:00
dankito
787b91f7a8
Fixed that credit card transactions list may is empty
2022-02-07 00:18:08 +01:00
dankito
5a32ef4958
Added comments
2022-02-07 00:18:08 +01:00
dankito
fcde0dcf5b
Made order a little bit more logical
2022-02-07 00:18:08 +01:00
dankito
293e8aa849
Also filtering out "9010::Initialisierung fehlgeschlagen, Auftrag nicht bearbeitet." feedbacks, are of now use for user
2022-02-07 00:18:08 +01:00
dankito
e4b6a7efd5
If Pin or chipTan is locked only warning but no error is returned by server -> check also these feedbacks to detect if response was successful
2022-02-07 00:18:08 +01:00
dankito
df4c8c4a1a
Implemented that () returns if a TAN method got selected
2022-02-07 00:18:08 +01:00
dankito
eee073fe3b
Fixed that if wrong credentials have been entered but bank returned user's TAN methods anyway, GetUserTanMethodsResponse returned success
2022-02-07 00:18:08 +01:00
dankito
269ad0bb33
Mapping accounts named 'Tagesgeld' to Sparkonto as according to Wikipedia some direct banks offer 'Tagesgeldkonten' as a modern version of Sparkonto
2022-02-07 00:18:08 +01:00
dankito
3d3d143023
Added code "0". Even though it's not stated in the docs, but Sparkasse gives some Girokonten the type '0'.
2022-02-07 00:18:08 +01:00
dankito
f76603a6ac
Fixed that accounts for which types we think we don't support them, but which support to retrieve balance or transactions anyway (e.g. Sparkonten also seem to support HKSAL and HKKAZ, but i can't tell for sure) are now also evaluated as supported
2022-02-07 00:18:08 +01:00
dankito
270f1c6c34
Added upper case diacritics
2022-02-07 00:18:08 +01:00
dankito
318266db0f
Fixed that reserved XML characters aren't replaced visibly to user - XML entities would just confuse most users. But XML entities are taking into calculation for max length
2022-02-07 00:18:08 +01:00
dankito
97e7d44a47
Extracted convertReservedXmlCharacters() and convertDiacritics()
2022-02-07 00:18:08 +01:00
dankito
bc180f68ab
Forgot to commit that closeDialog has been added
2022-02-07 00:18:08 +01:00
dankito
229da4efc8
Calling askUserForTanMethod() instead of selecting user's TAN method automatically
2022-02-07 00:18:08 +01:00
dankito
24dfe34c1f
Implemented calling getTanMediaList() only if retrieving TAN media is supported
2022-02-07 00:18:08 +01:00
dankito
63ec9e074a
Fixed that getUsersTanMethod() is async but caller had no chance to wait for response
2022-02-07 00:18:08 +01:00
dankito
ee38799cad
Replaced areWeThatGentleToCloseDialogs by DialogContext.closeDialog
2022-02-07 00:18:08 +01:00
dankito
95736a8150
Removed unused messageMayRequiresTan
2022-02-07 00:18:07 +01:00
dankito
f4d8b09260
Added fetchBalanceAndTransactions to addAccount() to determine if balance and transactions should be retrieved after retrieving bank accounts of a newly added account
2022-02-07 00:18:07 +01:00
dankito
9e5b18a522
Renamed initDialog() to initDialogWithStrongCustomerAuthentication()
2022-02-07 00:18:07 +01:00
dankito
dd01c7416a
Replaced newUserInfoResponse by getAccountsResponse
2022-02-07 00:18:07 +01:00
dankito
75525d704a
Also taking now message feedbacks into account to evaluate if wrong credentials have been entered
2022-02-07 00:18:07 +01:00
dankito
38bb0c90ff
Implemented detecting if wrong credentials have been entered (not 100 % reliable though)
2022-02-07 00:18:07 +01:00
dankito
69375602e3
Filtering out 'Dialogabbruch' feedbacks
2022-02-07 00:18:07 +01:00
dankito
e4aa38e11f
Displaying now also response code to user. May she then can help us better (or she may even knows what to do with this information)
2022-02-07 00:18:07 +01:00
dankito
5580313eeb
Setting countDaysForWhichTransactionsAreKept now on account and not on bank anymore as the count may differs from account type to account type (e.g. 540 days for checking accounts and 9999 days for credit card accounts)
2022-02-07 00:18:07 +01:00
dankito
6d41b89f1d
Implemented parsing credit card transactions parameters
2022-02-07 00:18:07 +01:00
dankito
d209bc46fc
Renamed haveAllTransactionsBeenFetched to haveAllTransactionsBeenRetrieved and isAccountTypeSupported to isAccountTypeSupportedByApplication
2022-02-07 00:18:07 +01:00
dankito
9854ac000e
Little refactoring
2022-02-07 00:18:07 +01:00
dankito
b94c5d5cf5
Added toString()
2022-02-07 00:18:07 +01:00
dankito
c66f27d88b
Fixed parsing the correct amount
2022-02-07 00:18:07 +01:00
dankito
bf9d406053
Renamed usage to reference, remittee to recipient and instant payment to real-time transfer
2022-02-07 00:18:07 +01:00
dankito
d0910b7180
Parsing now also isCleared
2022-02-07 00:18:07 +01:00
dankito
e0dbd00634
Implemented retrieving credit card transactions
2022-02-07 00:18:07 +01:00
dankito
d16450d46b
Stopping execution now only if a severe error occurred during balance retrieval that closed dialog
2022-02-07 00:18:07 +01:00
dankito
c7d6718cce
Fixed that if alsoRetrieveBalance is set to false or account doesn't support retrieving balance execution stops here forever and never returns
2022-02-07 00:18:07 +01:00
dankito
dee6f4aebe
Making use of supportXyz convenience properties
2022-02-07 00:18:07 +01:00
dankito
395ef5445c
Fixed that as now retrievedData contains an entry for each account only if account supports retrieving transactions retrieval must be successful
2022-02-07 00:18:07 +01:00
dankito
09d90c6c9d
Renamed property accountData to account
2022-02-07 00:18:07 +01:00
dankito
7d8d1eb6d0
Implemented returning default / unsuccessful RetrievedAccountData also for accounts that do not support retrieving transactions or balance
2022-02-07 00:18:07 +01:00
dankito
d420cfcfb2
Added convenience properties to determine account features
2022-02-07 00:18:07 +01:00
dankito
e973ce256b
Added conversion to BigDecimal directly to Amount
2022-02-07 00:18:07 +01:00
dankito
b99522fda9
Renamed nameOfTanMediaRequired to nameOfTanMediumRequired
2022-02-07 00:18:07 +01:00
dankito
0efb4ba708
Made supportedFeatures accessible
2022-02-07 00:18:07 +01:00
dankito
1ff2c0ecf3
Renamed messageLogField to messageLog
2022-02-07 00:18:07 +01:00
dankito
50505831ea
Removed outdated 'Customer' from method name
2022-02-07 00:18:07 +01:00
dankito
f96e7a4b30
Fixed setting ninety days ago to from midnight on so that retrievedTransactionsFromOn gets set correctly -> check in BankingPresenter if all transactions have been fetched also works for this day
2022-02-07 00:18:07 +01:00
dankito
13d95f4bda
Implemented storing and displaying for which period account transactions have been fetched
2022-02-07 00:18:07 +01:00
dankito
700e3e6da9
Implemented mapping and displaying if an account type is supported or not
2022-02-07 00:18:07 +01:00
dankito
a59b335316
If account type field is not set (as it e.g. comdirect does), trying to extract account type from account name
2022-02-07 00:18:07 +01:00
dankito
f5f3f34d3b
Renamed TanProcedure to TanMethod in fints4k
2022-02-07 00:18:07 +01:00
dankito
094d669148
Implemented evaluating count days for which bank stores transactions -> don't show fetch all transactions overlay if bank server doesn't store additional transactions
2022-02-07 00:18:07 +01:00
dankito
7a64177d47
Renamed Response to BankResponse
2022-02-07 00:18:07 +01:00
dankito
c576673efb
Refactored that all internal methods return Response and only public methods return FinTsClientResponse. Fixes bug that when internal methods returned AddAccountResponse successful was false as at this point no account have been added yet
2022-02-07 00:18:07 +01:00
dankito
ae56bab18a
Fixed updating to new signatures
2022-02-07 00:18:07 +01:00
dankito
129b4f64fa
Added account to GetTransactionsParameter
2022-02-07 00:18:07 +01:00
dankito
d8739cf193
Renamed isSuccessful to successful
2022-02-07 00:18:07 +01:00
dankito
ec3cdb1c39
Added convenience constructor for when an error occurred
2022-02-07 00:18:07 +01:00
dankito
2d4499514a
Implemented calculating isSuccessful in AddAccountResponse and GetTransactionsResponse
2022-02-07 00:18:07 +01:00
dankito
044648f569
Calculating supportsRetrievingTransactionsOfLast90DaysWithoutTan now from retrieved data (but try to get rid of it anyway)
2022-02-07 00:18:07 +01:00
dankito
99205b53c9
Removed bankAccount property from GetTransactionsResponse
2022-02-07 00:18:07 +01:00
dankito
da5e285d61
Fixed that no Set hasn't been used
2022-02-07 00:18:07 +01:00
dankito
50a5938046
Made all properties overridable
2022-02-07 00:18:07 +01:00
dankito
7cb19d6f7d
Extracted RetrievedAccountData, makes code way better readable
2022-02-07 00:18:07 +01:00
dankito
4ae4609ffb
Not persisting segmentNumber, referenceSegmentNumber and segmentString. We don't need them after restoring and make resulting JSON file much smaller
2022-02-07 00:18:07 +01:00
dankito
f4128a2875
Implemented checking if bank supports setting count max entries. Had to adjust Jackson serialization so that and not just JobParameters gets saved and restored and to implement a lot of default constructors for this
2022-02-07 00:18:07 +01:00