diff --git a/app/Repositories/Journal/JournalRepository.php b/app/Repositories/Journal/JournalRepository.php index fc594b0730..e28d966b43 100644 --- a/app/Repositories/Journal/JournalRepository.php +++ b/app/Repositories/Journal/JournalRepository.php @@ -239,6 +239,21 @@ class JournalRepository implements JournalRepositoryInterface return TransactionType::TRANSFER === $journal->transactionType->type; } + /** + * Mark journal as completed and return it. + * + * @param TransactionJournal $journal + * + * @return TransactionJournal + */ + public function markCompleted(TransactionJournal $journal): TransactionJournal + { + $journal->completed = true; + $journal->save(); + + return $journal; + } + /** * @param Transaction $transaction * diff --git a/app/Repositories/Journal/JournalRepositoryInterface.php b/app/Repositories/Journal/JournalRepositoryInterface.php index 85a7e79d65..e2e89e3e05 100644 --- a/app/Repositories/Journal/JournalRepositoryInterface.php +++ b/app/Repositories/Journal/JournalRepositoryInterface.php @@ -125,6 +125,15 @@ interface JournalRepositoryInterface */ public function isTransfer(TransactionJournal $journal): bool; + /** + * Mark journal as completed and return it. + * + * @param TransactionJournal $journal + * + * @return TransactionJournal + */ + public function markCompleted(TransactionJournal $journal): TransactionJournal; + /** * @param Transaction $transaction *