firefly-iii/app/lib/FireflyIII/Report/ReportInterface.php

109 lines
2.2 KiB
PHP
Raw Normal View History

2014-12-07 08:37:53 -06:00
<?php
namespace FireflyIII\Report;
use Carbon\Carbon;
use Illuminate\Support\Collection;
2014-12-07 08:37:53 -06:00
/**
* Interface ReportInterface
*
* @package FireflyIII\Report
*/
interface ReportInterface
{
/**
* @param Carbon $start
* @param Carbon $end
2014-12-26 14:08:44 -06:00
* @param int $limit
*
* @return Collection
*/
2014-12-26 14:08:44 -06:00
public function expensesGroupedByAccount(Carbon $start, Carbon $end, $limit = 15);
/**
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
*
* @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
}