Commit Graph

376 Commits

Author SHA1 Message Date
dankito 56f951314a Replaced atrium asserts with Kotlin test asserts 2022-02-13 00:17:45 +01:00
dankito 55881b5e79 Fixed that encoder may throws an from Throwable and not from Exception derived throwable 2022-02-12 23:47:02 +01:00
dankito da9d5c018b Replaced own Date implementation with kotlinx-datetime 2022-02-12 16:31:46 +01:00
dankito fa378f6249 Removed UUID 2022-02-12 14:21:15 +01:00
dankito 9746e419d1 Moved all extensions to package 'extensions' and grouped them by class 2022-02-12 13:52:45 +01:00
dankito fe69174db9 Removed all classes and methods from multiplatform-utils that aren't called by fints4k 2022-02-12 13:50:31 +01:00
dankito d56833e1ef Renamed module common to multiplatform-utils 2022-02-12 00:26:12 +01:00
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