@@ -44,40 +44,23 @@ public function __construct(
44
44
* @throws SettingsException
45
45
* @throws \Throwable
46
46
*/
47
- public function downloadLastTransactions ( ?string $ token = null ) : void
47
+ public function downloadTransactions ( \ DateTime $ from , ?string $ token = null ) : void
48
48
{
49
- $ token ?: $ this ->settingsRepository ->getValue (Settings::BANK_TOKEN );
49
+ $ token = $ token ?: $ this ->settingsRepository ->getValue (Settings::BANK_TOKEN );
50
50
if ($ token === null ) {
51
- return ;
52
- }
53
-
54
- $ downloader = new FioApi \Downloader ($ token );
55
- $ transactionList = $ downloader ->downloadLast ();
56
-
57
- $ this ->addPayments ($ transactionList );
58
- }
59
-
60
- /**
61
- * @throws SettingsException
62
- * @throws \Throwable
63
- */
64
- public function downloadTransactionsFrom (\DateTime $ from , ?string $ token = null ) : void
65
- {
66
- $ token ?: $ this ->settingsRepository ->getValue (Settings::BANK_TOKEN );
67
- if ($ token === null ) {
68
- return ;
51
+ throw new \InvalidArgumentException ('Token is not set. ' );
69
52
}
70
53
71
54
$ downloader = new FioApi \Downloader ($ token );
72
55
$ transactionList = $ downloader ->downloadSince ($ from );
73
56
74
- $ this ->addPayments ($ transactionList );
57
+ $ this ->createPayments ($ transactionList );
75
58
}
76
59
77
60
/**
78
61
* @throws \Throwable
79
62
*/
80
- private function addPayments (FioApi \TransactionList $ transactionList ) : void
63
+ private function createPayments (FioApi \TransactionList $ transactionList ) : void
81
64
{
82
65
$ this ->settingsRepository ->getEntityManager ()->transactional (function () use ($ transactionList ) : void {
83
66
foreach ($ transactionList ->getTransactions () as $ transaction ) {
@@ -102,6 +85,8 @@ private function addPayments(FioApi\TransactionList $transactionList) : void
102
85
$ transaction ->getUserMessage ()
103
86
);
104
87
}
88
+
89
+ $ this ->settingsRepository ->setDateValue (Settings::BANK_DOWNLOAD_FROM , new \DateTime ());
105
90
});
106
91
}
107
92
}
0 commit comments