Fix meta services for recurrences.

This commit is contained in:
James Cole
2021-03-15 10:31:11 +01:00
parent 1783f0beb1
commit a0b46d9d8a
14 changed files with 553 additions and 525 deletions

View File

@@ -76,28 +76,6 @@ class AccountDestroyService
}
}
/**
* @param Account $account
*/
private function destroyJournals(Account $account): void
{
/** @var JournalDestroyService $service */
$service = app(JournalDestroyService::class);
Log::debug('Now trigger account delete response #' . $account->id);
/** @var Transaction $transaction */
foreach ($account->transactions()->get() as $transaction) {
Log::debug('Now at transaction #' . $transaction->id);
/** @var TransactionJournal $journal */
$journal = $transaction->transactionJournal()->first();
if (null !== $journal) {
Log::debug('Call for deletion of journal #' . $journal->id);
$service->destroy($journal);
}
}
}
/**
* @param Account $account
*/
@@ -135,6 +113,47 @@ class AccountDestroyService
}
}
/**
* @param Account $account
* @param Account $moveTo
*/
private function moveTransactions(Account $account, Account $moveTo): void
{
DB::table('transactions')->where('account_id', $account->id)->update(['account_id' => $moveTo->id]);
}
/**
* @param Account $account
* @param Account $moveTo
*/
private function updateRecurrences(Account $account, Account $moveTo): void
{
DB::table('recurrences_transactions')->where('source_id', $account->id)->update(['source_id' => $moveTo->id]);
DB::table('recurrences_transactions')->where('destination_id', $account->id)->update(['destination_id' => $moveTo->id]);
}
/**
* @param Account $account
*/
private function destroyJournals(Account $account): void
{
/** @var JournalDestroyService $service */
$service = app(JournalDestroyService::class);
Log::debug('Now trigger account delete response #' . $account->id);
/** @var Transaction $transaction */
foreach ($account->transactions()->get() as $transaction) {
Log::debug('Now at transaction #' . $transaction->id);
/** @var TransactionJournal $journal */
$journal = $transaction->transactionJournal()->first();
if (null !== $journal) {
Log::debug('Call for deletion of journal #' . $journal->id);
$service->destroy($journal);
}
}
}
/**
* @param Account $account
*/
@@ -155,24 +174,4 @@ class AccountDestroyService
}
}
/**
* @param Account $account
* @param Account $moveTo
*/
private function moveTransactions(Account $account, Account $moveTo): void
{
DB::table('transactions')->where('account_id', $account->id)->update(['account_id' => $moveTo->id]);
}
/**
* @param Account $account
* @param Account $moveTo
*/
private function updateRecurrences(Account $account, Account $moveTo): void
{
DB::table('recurrences_transactions')->where('source_id', $account->id)->update(['source_id' => $moveTo->id]);
DB::table('recurrences_transactions')->where('destination_id', $account->id)->update(['destination_id' => $moveTo->id]);
}
}