2015-02-09 07:23:39 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace FireflyIII\Repositories\Journal;
|
|
|
|
|
2015-04-03 09:30:44 +02:00
|
|
|
use FireflyIII\Models\Transaction;
|
2015-04-07 18:26:14 +02:00
|
|
|
use FireflyIII\Models\TransactionJournal;
|
2015-04-11 19:59:41 +02:00
|
|
|
use FireflyIII\Models\TransactionType;
|
2015-02-25 21:19:06 +01:00
|
|
|
use Illuminate\Support\Collection;
|
2015-02-09 07:23:39 +01:00
|
|
|
|
2015-02-11 07:35:10 +01:00
|
|
|
/**
|
|
|
|
* Interface JournalRepositoryInterface
|
|
|
|
*
|
|
|
|
* @package FireflyIII\Repositories\Journal
|
|
|
|
*/
|
|
|
|
interface JournalRepositoryInterface
|
|
|
|
{
|
2015-04-11 19:59:41 +02:00
|
|
|
/**
|
|
|
|
* Get users first transaction journal
|
|
|
|
*
|
|
|
|
* @return TransactionJournal
|
|
|
|
*/
|
|
|
|
public function first();
|
|
|
|
|
2015-04-28 10:36:13 +02:00
|
|
|
/**
|
2015-04-28 17:10:52 +02:00
|
|
|
* @param TransactionType $dbType
|
2015-04-28 10:36:13 +02:00
|
|
|
*
|
2015-04-28 17:10:52 +02:00
|
|
|
* @return Collection
|
2015-04-28 10:36:13 +02:00
|
|
|
*/
|
2015-04-28 17:10:52 +02:00
|
|
|
public function getJournalsOfType(TransactionType $dbType);
|
2015-04-28 10:36:13 +02:00
|
|
|
|
|
|
|
/**
|
2015-04-28 17:10:52 +02:00
|
|
|
* @param $type
|
2015-04-28 10:36:13 +02:00
|
|
|
*
|
2015-04-28 17:10:52 +02:00
|
|
|
* @return TransactionType
|
2015-04-28 10:36:13 +02:00
|
|
|
*/
|
2015-04-28 17:10:52 +02:00
|
|
|
public function getTransactionType($type);
|
2015-04-28 10:36:13 +02:00
|
|
|
|
2015-04-11 19:59:41 +02:00
|
|
|
/**
|
2015-04-28 17:10:52 +02:00
|
|
|
* @param TransactionJournal $journal
|
|
|
|
* @param array $array
|
2015-04-11 19:59:41 +02:00
|
|
|
*
|
2015-04-28 17:10:52 +02:00
|
|
|
* @return void
|
2015-04-11 19:59:41 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
2015-04-28 17:10:52 +02:00
|
|
|
* @param TransactionJournal $journal
|
|
|
|
* @param array $array
|
|
|
|
*
|
|
|
|
* @return void
|
2015-04-11 19:59:41 +02:00
|
|
|
*/
|
2015-04-28 17:10:52 +02:00
|
|
|
public function saveTags(TransactionJournal $journal, array $array);
|
|
|
|
|
2015-02-24 22:53:38 +01:00
|
|
|
/**
|
|
|
|
* @param array $data
|
|
|
|
*
|
|
|
|
* @return TransactionJournal
|
|
|
|
*/
|
|
|
|
public function store(array $data);
|
2015-02-09 07:23:39 +01:00
|
|
|
|
2015-02-25 21:19:06 +01:00
|
|
|
/**
|
|
|
|
* @param TransactionJournal $journal
|
2015-02-27 14:27:04 +01:00
|
|
|
* @param array $data
|
2015-02-25 21:19:06 +01:00
|
|
|
*
|
2015-02-27 14:27:04 +01:00
|
|
|
* @return mixed
|
2015-02-25 21:19:06 +01:00
|
|
|
*/
|
2015-02-27 14:27:04 +01:00
|
|
|
public function update(TransactionJournal $journal, array $data);
|
2015-04-28 17:10:52 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param TransactionJournal $journal
|
|
|
|
* @param array $array
|
|
|
|
*
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function updateTags(TransactionJournal $journal, array $array);
|
2015-03-29 08:14:32 +02:00
|
|
|
}
|