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

110 lines
2.2 KiB
PHP
Raw Normal View History

2014-12-07 15:37:53 +01:00
<?php
namespace FireflyIII\Report;
use Carbon\Carbon;
use Illuminate\Support\Collection;
2014-12-07 15:37:53 +01:00
/**
* Interface ReportInterface
*
* @package FireflyIII\Report
*/
interface ReportInterface
{
/**
* @param Carbon $start
* @param Carbon $end
2014-12-26 21:08:44 +01:00
* @param int $limit
*
* @return Collection
*/
2014-12-26 21:08:44 +01:00
public function expensesGroupedByAccount(Carbon $start, Carbon $end, $limit = 15);
/**
2014-12-28 08:54:53 +01: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 21:08:44 +01:00
* @param Carbon $date
*
* @return Collection
*/
2014-12-28 08:54:53 +01:00
public function getAccountListBudgetOverview(Carbon $date);
2014-12-26 21:08:44 +01:00
/**
* @param Carbon $date
*
2014-12-28 08:54:53 +01:00
* @return array
2014-12-26 21:08:44 +01:00
*/
2014-12-28 08:54:53 +01:00
public function getAccountsForMonth(Carbon $date);
2014-12-26 21:08:44 +01:00
/**
* @param Carbon $date
2014-12-07 15:37:53 +01:00
*
* @return Collection
2014-12-07 15:37:53 +01:00
*/
2014-12-28 08:54:53 +01:00
public function getBudgetsForMonth(Carbon $date);
2014-12-27 17:21:15 +01:00
/**
* @param Carbon $date
2014-12-28 08:54:53 +01:00
* @param int $limit
2014-12-27 17:21:15 +01:00
*
* @return array
*/
2014-12-26 21:08:44 +01:00
public function getCategoriesForMonth(Carbon $date, $limit = 15);
/**
* @param Carbon $date
2014-12-28 08:54:53 +01:00
* @param int $limit
2014-12-26 21:08:44 +01:00
*
2014-12-28 08:54:53 +01:00
* @return Collection
2014-12-26 21:08:44 +01:00
*/
2014-12-28 08:54:53 +01:00
public function getExpenseGroupedForMonth(Carbon $date, $limit = 15);
2014-12-26 21:08:44 +01:00
/**
* @param Carbon $date
2014-12-28 08:54:53 +01:00
* @param bool $shared
2014-12-26 21:08:44 +01:00
*
* @return Collection
*/
2014-12-28 08:54:53 +01:00
public function getIncomeForMonth(Carbon $date, $shared = false);
2014-12-27 17:21:15 +01:00
2014-12-26 21:08:44 +01:00
/**
* @param Carbon $date
*
* @return Collection
*/
2014-12-28 08:54:53 +01:00
public function getPiggyBanksForMonth(Carbon $date);
2014-12-07 15:37:53 +01:00
/**
* @param Carbon $start
*
* @return array
*/
public function listOfMonths(Carbon $start);
/**
* @param Carbon $start
*
* @return array
*/
public function listOfYears(Carbon $start);
/**
2014-12-26 21:08:44 +01:00
* @param Carbon $start
* @param Carbon $end
* @param int $limit
2014-12-07 15:37:53 +01:00
*
2014-12-26 21:08:44 +01:00
* @return Collection
2014-12-07 15:37:53 +01:00
*/
2014-12-26 21:08:44 +01:00
public function revenueGroupedByAccount(Carbon $start, Carbon $end, $limit = 15);
2014-12-25 09:50:01 +01:00
/**
* @param Carbon $date
*
2014-12-26 21:08:44 +01:00
* @return array
2014-12-25 09:50:01 +01:00
*/
2014-12-26 21:08:44 +01:00
public function yearBalanceReport(Carbon $date);
2015-01-02 06:16:49 +01:00
}