Commit Graph

524 Commits

Author SHA1 Message Date
dankito a3dbe8f142 By default not adding message trace to message anymore; added messageIncludingMessageTrace for that 2024-08-23 12:53:45 +02:00
dankito 88f6d53ccb Temporarily disabling iOS DateFormatter as it conflicts with nativeMain's DateFormatter. TODO: Fix this 2024-08-23 12:47:14 +02:00
dankito 850beb8421 Added messageLogAdded() to FinTsClientCallback to get instantly notified of sent, received and error messages 2024-08-23 12:42:52 +02:00
dankito 237802b18d Moved createBankWithAllFeatures() and createRandomMessage() to FinTsTestBase 2024-08-22 18:40:40 +02:00
dankito a0f04a202d Added publishing to codinux Maven repository 2024-08-22 03:09:21 +02:00
dankito ce9cc77148 Changed order 2024-08-21 04:10:21 +02:00
dankito 7971fc116c Added debugging output to Segment (and Segmentkopf) 2024-08-21 04:05:00 +02:00
dankito ba6eab79bb Fixed getting message log of all messages 2024-08-21 03:52:24 +02:00
dankito b7c0fec629 Moved prettyPrintFinTsMessage() to FinTsUtils 2024-08-21 03:15:00 +02:00
dankito 5ce12fe382 Added HKSAL 8 2024-08-21 01:15:34 +02:00
dankito 869739483f Added HKSAL 6 2024-08-21 01:11:41 +02:00
dankito 16a73aa055 Fixed multi-threadening segment numbers generation 2024-08-21 00:49:20 +02:00
dankito 00d0e4158f Added another identifier to identify Hypovereinsbank banks 2024-08-20 16:26:33 +02:00
dankito 17702d1fe7 Added received segments to FinTsClientResponse 2024-08-20 14:33:27 +02:00
dankito 9a7615fe88 Added option to control if sensitive data should get removed from messageLog 2024-08-20 13:36:57 +02:00
dankito 0361a0e6b8 Fixed that MessageLogCollector must get created for each JobContext to be able to correlate each message to its context 2024-08-20 12:43:18 +02:00
dankito 524153cb31 Also removing userId from messageLog 2024-08-20 11:44:44 +02:00
dankito 46579441f1 Formatting and removing sensitive data from messageLog only if messageLog is requested to save CPU cycles 2024-08-20 11:44:07 +02:00
dankito f309251285 Simplified getting error logger 2024-08-20 11:24:04 +02:00
dankito 6b6dfd48b8 Removed KtorWebClientTest as wasn't senseful and failed in JS Browser 2024-08-20 11:04:48 +02:00
dankito 753b947425 Removed setCallback() 2024-08-20 11:03:54 +02:00
dankito 6f5eabf144 Added FinTsClientConfiguration to centralize configuration of FinTsClient 2024-08-20 11:00:40 +02:00
dankito 41bdeca35b Updated to new Kotlin Multiplatform settings 2024-08-19 23:09:19 +02:00
dankito 56c9fd79bd Centralized configuring kotlinx-serialization plugin 2024-08-19 23:08:56 +02:00
dankito 25b8a025fd Replaced stately-concurrency with atomicfu 2024-08-19 22:34:30 +02:00
dankito ce073283a0 Updated Kotlin to 1.9 and all it's accompanying libraries (coroutines, serialization, ...) to latest compatible version 2024-08-19 22:16:57 +02:00
dankito e3d1797842 Fixed NativeApp dependencies 2024-08-19 21:52:16 +02:00
dankito 5e1c3142cc Removed other unused extensions 2024-08-19 11:39:48 +02:00
dankito 537df4f800 Re-enabled binaries.executable() 2024-08-19 11:39:17 +02:00
dankito 4361d6fc15 Removed other unused settings 2024-08-19 11:39:03 +02:00
dankito 0bf7a8eadc Moved also DateFormatter to fints4k project 2024-08-19 11:32:35 +02:00
dankito 6a7f8d6780 Moved extension methods to fints4k project 2024-08-19 11:18:35 +02:00
dankito e024c764b2 Removed iOSFinTsClient 2024-08-19 11:12:37 +02:00
dankito 2768dc0c26 Could also remove now a lot of other unused extension methods 2024-08-19 11:07:34 +02:00
dankito 2e13a153bd Removed also most other DateTime extension methods 2024-08-19 10:53:59 +02:00
dankito e9cad57e71 Removed most now unused DateFormatter functions 2024-08-19 10:32:29 +02:00
dankito cf6650e3e8 Moved NativeApp to an extra project 2024-08-19 10:00:35 +02:00
dankito 0ce74a0688 Replaced kmp-web-client with directly configuring Ktor 2024-08-19 09:03:30 +02:00
dankito e96f184934 Removed dependency on slf4j 2024-08-19 08:54:34 +02:00
dankito b5cac7b817 Updated kmp-log 2024-08-19 08:53:53 +02:00
dankito 4745bf0065 Also added account for which TAN is required, if available, to TanChallenge 2024-08-18 17:45:50 +02:00
dankito fe8c0fb59c Updated version info 2024-08-18 16:41:56 +02:00
dankito ae77d67707 Added action for which TAN is required and bank to TanChallenge 2024-08-18 16:41:05 +02:00
dankito 9a7844ae74 Also mapping isAccountTypeSupportedByApplication and countDaysForWhichTransactionsAreKept (are countDaysForWhichTransactionsAreKept senseful?) 2024-08-18 15:17:16 +02:00
dankito 32ce7eab66 Using in tests now Logback instead of Slf4jSimple 2024-08-18 04:08:48 +02:00
dankito 4588fb4d20 Trimming white spaces at end of name as e.g. Baader Bank adds them to account holder name 2024-08-18 04:04:32 +02:00
dankito bfc0e7c563 Added JobContextType.GetAccountInfo 2024-08-18 04:03:03 +02:00
dankito 409c0b3ebc Updated Clikt and Korio version 2024-08-17 03:56:07 +02:00
dankito e039af44e3 Handling that Deutsche Bank returns erroneous HIUPD segments 2024-08-14 14:05:14 +02:00
dankito 5bd83b1c3a Added comment how to update data 2024-08-14 13:38:35 +02:00
dankito 4909537bae Updated bank data 2024-08-14 13:37:13 +02:00
dankito e12ab5a5f8 Extracted 2024-08-14 13:29:01 +02:00
dankito 4e42a26396 Set log level to debug 2024-08-14 13:28:01 +02:00
dankito 08977e737d Added no-arg constructors 2024-08-14 13:27:46 +02:00
dankito 2fde62e2cd Set default request timeout and made it configurable 2024-08-14 13:25:55 +02:00
dankito 0ac6059306 Using now kmp-log 2023-07-06 18:41:32 +02:00
dankito 02bbdb0453 Removed unused IThreadPool 2023-07-06 17:31:13 +02:00
dankito c8a7731ccc Fixed test setup 2023-07-06 16:52:37 +02:00
dankito 5a49c6c465 Using now kmp-web-client instead of importing Ktor manually 2023-07-06 16:37:23 +02:00
dankito 1f9d35a5f6 Using new Kotlin multiplatform hierarchy structure 2023-07-06 15:43:23 +02:00
dankito da212106a8 Updated to new versions 2023-07-06 15:22:14 +02:00
dankito 5e1d045ab9 Fixed test dependencies 2022-02-26 20:23:21 +01:00
dankito ef1f987dd1 Added ErrorCode.NetworkError 2022-02-26 20:13:49 +01:00
dankito 53bfc2d978 Added TODOs that loginName and password get written to output in JSON serialization 2022-02-25 21:25:32 +01:00
dankito 8aaf1b0962 Fixed displaying from and to 2022-02-25 21:08:13 +01:00
dankito b8c11376ed Fixed serializing Money as a 'amount' and a 'currency' field 2022-02-25 21:02:38 +01:00
dankito 22976291fd Added convenience constructor Money(String, String) 2022-02-25 20:47:17 +01:00
dankito 61eb739613 Added convenience methods for getAccountData() and transferMony() 2022-02-25 20:45:33 +01:00
dankito 8d9855efe8 Added log output to inform for which time period accounts transactions are fetched 2022-02-24 21:01:13 +01:00
dankito bed96199c8 Implemented writing account transactions to CSV files (with a very primitive CSV file writer) 2022-02-24 02:42:23 +01:00
dankito ed66168c0b Implemented serializing transactions to JSON 2022-02-24 02:13:37 +01:00
dankito 85d6b079d6 If there is more than one bank account that supports money transfer, implemented callback to ask user which one to use 2022-02-24 00:22:05 +01:00
dankito d442c02964 Implemented transferring money via command line 2022-02-24 00:00:07 +01:00
dankito ad826941dd Created BicFinder with BankFinder so that we can determine a German BIC from bank code or a German IBAN 2022-02-23 02:59:10 +01:00
dankito 8671bf058d Implemented transferMoney() 2022-02-23 01:43:41 +01:00
dankito 6512f45955 Implemented command line option retrieveTransactionsForLastNDays 2022-02-22 23:00:14 +01:00
dankito f7cde961ae Added command line options to native app to set retrieveBalance, retrieveTransactions, retrieveTransactionsFrom, retrieveTransactionsTo, preferredTanMethod and abortIfRequiresTan 2022-02-22 02:17:29 +01:00
dankito 647f60a13d Added printing bank account balance 2022-02-21 23:44:31 +01:00
dankito 3368c70202 Renamed getAccountData() to getAccountDataAsync() and added extensions methods for blocking calls to it 2022-02-21 23:42:45 +01:00
dankito ee68dd09b2 Added convenience getAccountData() method 2022-02-21 23:22:49 +01:00
dankito 3ed9e10c22 Created FinTsServerAddressFinder with BankListCreator to easily retrieve a FinTS server address to a bank code 2022-02-21 01:07:00 +01:00
dankito 73a98eea67 Extracted Currency.DefaultCurrencyCode 2022-02-20 23:22:18 +01:00
dankito 52de5a2956 Implemented new simplified data model in FinTsClient.getAccountData() 2022-02-20 23:18:40 +01:00
dankito b74b165974 Implemented that entered tan now can directly be set on TanChallenge, therefore no need of callback anymore 2022-02-20 00:17:14 +01:00
dankito 54c430af2b Replaced callbacks with coroutines 2022-02-19 13:17:02 +01:00
dankito 51c09dab7b Extracted ZeroString 2022-02-17 01:21:22 +01:00
dankito 2788c0e686 Implemented retrieving and displaying account transactions in WebApp 2022-02-17 01:19:37 +01:00
dankito 9543a8081d Fixed that constructor overloads clash on some platforms 2022-02-16 18:54:23 +01:00
dankito c3609cd33a Implemented retrieving and displaying account transactions in iOS app 2022-02-16 02:33:19 +01:00
dankito a6fd9a4d42 Implemented retrieving and displaying account transactions 2022-02-16 00:16:44 +01:00
dankito 2a301c9975 Added JavaScript node and browser targets 2022-02-15 01:50:49 +01:00
dankito 9e161c3658 Using now stackTraceToString() instead of StackTraceHelper 2022-02-14 23:50:05 +01:00
dankito 4ec366f7cd Made clearer that sendMessageAndHandleResponse() starts a new dialog 2022-02-14 00:48:01 +01:00
dankito 0888166466 Renamed FinTsClient to FinTsClientDeprecated 2022-02-13 23:56:18 +01:00
dankito ec9bfa8168 Implemented little command line application to test Kotlin/Native implementation 2022-02-13 22:59:09 +01:00
dankito 7534c6eb54 Extracted postInCoroutine() and created a blocking WebClient for Kotlin/Native so that mutable objects don't get passed between threads in Kotlin/Native 2022-02-13 22:07:11 +01:00
dankito aa532b864c Made accessing JobCount thread safe 2022-02-13 22:01:13 +01:00
dankito 2563051082 Added Kotlin/Native target 2022-02-13 22:00:07 +01:00
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