2014-12-07 08:37:53 -06:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace FireflyIII\Report;
|
|
|
|
|
|
|
|
use Carbon\Carbon;
|
2014-12-09 11:24:53 -06:00
|
|
|
use Illuminate\Support\Collection;
|
2014-12-07 08:37:53 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Interface ReportInterface
|
|
|
|
*
|
|
|
|
* @package FireflyIII\Report
|
|
|
|
*/
|
|
|
|
interface ReportInterface
|
|
|
|
{
|
|
|
|
/**
|
2014-12-09 11:24:53 -06:00
|
|
|
* @param Carbon $start
|
|
|
|
* @param Carbon $end
|
2014-12-26 14:08:44 -06:00
|
|
|
* @param int $limit
|
2014-12-09 11:24:53 -06:00
|
|
|
*
|
|
|
|
* @return Collection
|
|
|
|
*/
|
2014-12-26 14:08:44 -06:00
|
|
|
public function expensesGroupedByAccount(Carbon $start, Carbon $end, $limit = 15);
|
2014-12-09 11:24:53 -06:00
|
|
|
|
|
|
|
/**
|
2014-12-28 01:54:53 -06:00
|
|
|
* Gets all the users shared and non-shared accounts combined with various meta-data
|
|
|
|
* to display the amount of money spent that month compared to what's been spend within
|
|
|
|
* budgets.
|
|
|
|
*
|
2014-12-26 14:08:44 -06:00
|
|
|
* @param Carbon $date
|
|
|
|
*
|
|
|
|
* @return Collection
|
|
|
|
*/
|
2014-12-28 01:54:53 -06:00
|
|
|
public function getAccountListBudgetOverview(Carbon $date);
|
2014-12-26 14:08:44 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
|
|
|
*
|
2014-12-28 01:54:53 -06:00
|
|
|
* @return array
|
2014-12-26 14:08:44 -06:00
|
|
|
*/
|
2014-12-28 01:54:53 -06:00
|
|
|
public function getAccountsForMonth(Carbon $date);
|
2014-12-26 14:08:44 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
2014-12-07 08:37:53 -06:00
|
|
|
*
|
2014-12-09 11:24:53 -06:00
|
|
|
* @return Collection
|
2014-12-07 08:37:53 -06:00
|
|
|
*/
|
2014-12-28 01:54:53 -06:00
|
|
|
public function getBudgetsForMonth(Carbon $date);
|
2014-12-27 10:21:15 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
2014-12-28 01:54:53 -06:00
|
|
|
* @param int $limit
|
2014-12-27 10:21:15 -06:00
|
|
|
*
|
|
|
|
* @return array
|
|
|
|
*/
|
2014-12-26 14:08:44 -06:00
|
|
|
public function getCategoriesForMonth(Carbon $date, $limit = 15);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
2014-12-28 01:54:53 -06:00
|
|
|
* @param int $limit
|
2014-12-26 14:08:44 -06:00
|
|
|
*
|
2014-12-28 01:54:53 -06:00
|
|
|
* @return Collection
|
2014-12-26 14:08:44 -06:00
|
|
|
*/
|
2014-12-28 01:54:53 -06:00
|
|
|
public function getExpenseGroupedForMonth(Carbon $date, $limit = 15);
|
2014-12-26 14:08:44 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
2014-12-28 01:54:53 -06:00
|
|
|
* @param bool $shared
|
2014-12-26 14:08:44 -06:00
|
|
|
*
|
|
|
|
* @return Collection
|
|
|
|
*/
|
2014-12-28 01:54:53 -06:00
|
|
|
public function getIncomeForMonth(Carbon $date, $shared = false);
|
2014-12-27 10:21:15 -06:00
|
|
|
|
2014-12-26 14:08:44 -06:00
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
|
|
|
*
|
|
|
|
* @return Collection
|
|
|
|
*/
|
2014-12-28 01:54:53 -06:00
|
|
|
public function getPiggyBanksForMonth(Carbon $date);
|
2014-12-07 08:37:53 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $start
|
|
|
|
*
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function listOfMonths(Carbon $start);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $start
|
|
|
|
*
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function listOfYears(Carbon $start);
|
|
|
|
|
|
|
|
/**
|
2014-12-26 14:08:44 -06:00
|
|
|
* @param Carbon $start
|
|
|
|
* @param Carbon $end
|
|
|
|
* @param int $limit
|
2014-12-07 08:37:53 -06:00
|
|
|
*
|
2014-12-26 14:08:44 -06:00
|
|
|
* @return Collection
|
2014-12-07 08:37:53 -06:00
|
|
|
*/
|
2014-12-26 14:08:44 -06:00
|
|
|
public function revenueGroupedByAccount(Carbon $start, Carbon $end, $limit = 15);
|
2014-12-25 02:50:01 -06:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Carbon $date
|
|
|
|
*
|
2014-12-26 14:08:44 -06:00
|
|
|
* @return array
|
2014-12-25 02:50:01 -06:00
|
|
|
*/
|
2014-12-26 14:08:44 -06:00
|
|
|
public function yearBalanceReport(Carbon $date);
|
2014-12-07 08:37:53 -06:00
|
|
|
}
|