Files
firefly-iii/app/lib/Firefly/Storage/TransactionJournal/TransactionJournalRepositoryInterface.php

123 lines
2.7 KiB
PHP
Raw Normal View History

<?php
namespace Firefly\Storage\TransactionJournal;
use Carbon\Carbon;
use Illuminate\Queue\Jobs\Job;
/**
* Interface TransactionJournalRepositoryInterface
*
* @package Firefly\Storage\TransactionJournal
*/
interface TransactionJournalRepositoryInterface
{
/**
* @param Job $job
* @param array $payload
*
* @return mixed
*/
public function importTransaction(Job $job, array $payload);
/**
* @param Job $job
* @param array $payload
*
* @return mixed
*/
public function importTransfer(Job $job, array $payload);
// /**
// * @param \Account $from
// * @param \Account $toAccount
// * @param $description
// * @param $amount
// * @param Carbon $date
// *
// * @return mixed
// */
// public function createSimpleJournal(\Account $from, \Account $toAccount, $description, $amount, Carbon $date);
// /**
// * @return mixed
// */
// public function get();
2014-09-02 17:27:28 +02:00
/**
* @param \User $user
*
2014-09-02 17:27:28 +02:00
* @return mixed
*/
public function overruleUser(\User $user);
2014-08-10 15:01:46 +02:00
/**
* Store a new transaction journal.
*
2014-08-10 15:01:46 +02:00
* @param $data
*
* @return \TransactionJournal|null
*/
public function store(array $data);
/**
* @param \TransactionJournal $journal
* @param \Account $account
* @param $amount
*
2014-08-10 15:01:46 +02:00
* @return mixed
*/
public function saveTransaction(\TransactionJournal $journal, \Account $account, $amount);
2014-08-10 15:01:46 +02:00
/**
* @param \TransactionJournal $journal
* @param $data
*
* @return mixed
*/
public function update(\TransactionJournal $journal, $data);
/**
* @param $type
*
* @return \TransactionType
*/
public function getTransactionType($type);
/**
* @param $journalId
*
* @return mixed
*/
public function find($journalId);
/**
* @param \Account $account
* @param int $count
* @param Carbon $start
* @param Carbon $end
*
* @return mixed
*/
public function getByAccountInDateRange(\Account $account, $count = 25, Carbon $start, Carbon $end);
/**
* @param \Account $account
* @param Carbon $date
*
* @return mixed
*/
public function getByAccountAndDate(\Account $account, Carbon $date);
2014-07-15 22:16:29 +02:00
/**
* @param \TransactionType $type
* @param int $count
* @param Carbon $start
* @param Carbon $end
*
* @return mixed
*/
public function paginate(\TransactionType $type, $count = 25, Carbon $start = null, Carbon $end = null);
}