Moved some stuff around.

This commit is contained in:
Sander Dorigo
2014-10-30 19:26:28 +01:00
parent f0c0002a6d
commit 2d5b0d0f99
24 changed files with 75 additions and 108 deletions

View File

@@ -0,0 +1,109 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Illuminate\Support\Collection;
/**
* Interface AccountInterface
*
* @package FireflyIII\Database
*/
interface AccountInterface
{
/**
* Get all asset accounts. The parameters are optional and are provided by the DataTables plugin.
*
* @param array $parameters
*
* @return Collection
*/
public function getAssetAccounts(array $parameters = []);
/**
* Counts the number of total asset accounts. Useful for DataTables.
*
* @return int
*/
public function countAssetAccounts();
/**
* Counts the number of total expense accounts. Useful for DataTables.
*
* @return int
*/
public function countExpenseAccounts();
/**
* Counts the number of total revenue accounts. Useful for DataTables.
*
* @return int
*/
public function countRevenueAccounts();
/**
* @param array $parameters
*
* @return Collection
*/
/**
* @param \Account $account
*
* @return \Account|null
*/
public function findInitialBalanceAccount(\Account $account);
public function getExpenseAccounts(array $parameters = []);
/**
* Get all revenue accounts.
*
* @param array $parameters
*
* @return Collection
*/
public function getRevenueAccounts(array $parameters = []);
/**
* Get all accounts of the selected types. Is also capable of handling DataTables' parameters.
*
* @param array $types
* @param array $parameters
*
* @return Collection
*/
public function getAccountsByType(array $types, array $parameters = []);
/**
* Counts the number of accounts found with the included types.
*
* @param array $types
*
* @return int
*/
public function countAccountsByType(array $types);
/**
* Get all default accounts.
*
* @return Collection
*/
public function getDefaultAccounts();
/**
* @param \Account $account
*
* @return \TransactionJournal|null
*/
public function openingBalanceTransaction(\Account $account);
/**
* @param \Account $account
* @param array $data
*
* @return bool
*/
public function storeInitialBalance(\Account $account, array $data);
}

View File

@@ -0,0 +1,13 @@
<?php
namespace FireflyIII\Database\Ifaces;
/**
* Interface AccountTypeInterface
*
* @package FireflyIII\Database
*/
interface AccountTypeInterface
{
}

View File

@@ -0,0 +1,31 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Carbon\Carbon;
use Illuminate\Support\Collection;
/**
* Interface BudgetInterface
*
* @package FireflyIII\Database
*/
interface BudgetInterface
{
/**
* @param \Budget $budget
* @param Carbon $date
*
* @return \LimitRepetition|null
*/
public function repetitionOnStartingOnDate(\Budget $budget, Carbon $date);
/**
* @param Carbon $start
* @param Carbon $end
*
* @return Collection
*/
public function transactionsWithoutBudgetInDateRange(Carbon $start, Carbon $end);
}

View File

@@ -0,0 +1,49 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Illuminate\Support\MessageBag;
use LaravelBook\Ardent\Ardent;
/**
* Interface CUD
* @package FireflyIII\Database
*/
interface CUD
{
/**
* @param Ardent $model
*
* @return bool
*/
public function destroy(Ardent $model);
/**
* Validates a model. Returns an array containing MessageBags
* errors/warnings/successes.
*
* @param Ardent $model
*
* @return array
*/
public function validateObject(Ardent $model);
/**
* Validates an array. Returns an array containing MessageBags
* errors/warnings/successes.
*
* @param array $model
*
* @return array
*/
public function validate(array $model);
/**
* @param array $data
*
* @return Ardent
*/
public function store(array $data);
}

View File

@@ -0,0 +1,16 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Carbon\Carbon;
use Illuminate\Support\Collection;
/**
* Interface CategoryInterface
*
* @package FireflyIII\Database
*/
interface CategoryInterface
{
}

View File

@@ -0,0 +1,49 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Illuminate\Support\Collection;
use LaravelBook\Ardent\Ardent;
/**
* Interface CommonDatabaseCalls
*
* @package FireflyIII\Database
*/
interface CommonDatabaseCalls
{
/**
* Returns an object with id $id.
*
* @param int $id
*
* @return Ardent
*/
public function find($id);
/**
* Returns all objects.
*
* @return Collection
*/
public function get();
/**
* @param array $ids
*
* @return Collection
*/
public function getByIds(array $ids);
/**
* Finds an account type using one of the "$what"'s: expense, asset, revenue, opening, etc.
*
* @param $what
*
* @return \AccountType|null
*/
public function findByWhat($what);
}

View File

@@ -0,0 +1,22 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Carbon\Carbon;
/**
* Interface RecurringInterface
*
* @package FireflyIII\Database
*/
interface RecurringInterface
{
/**
* @param \RecurringTransaction $recurring
* @param Carbon $current
* @param Carbon $currentEnd
*
* @return \TransactionJournal|null
*/
public function getJournalForRecurringInRange(\RecurringTransaction $recurring, Carbon $start, Carbon $end);
}

View File

@@ -0,0 +1,20 @@
<?php
namespace FireflyIII\Database\Ifaces;
/**
* Interface TransactionTypeInterface
*
* @package FireflyIII\Database
*/
interface TransactionCurrencyInterface
{
/**
* @param string $code
*
* @return \TransactionCurrency|null
*/
public function findByCode($code);
}

View File

@@ -0,0 +1,14 @@
<?php
namespace FireflyIII\Database\Ifaces;
/**
* Interface TransactionInterface
*
* @package FireflyIII\Database
*/
interface TransactionInterface
{
}

View File

@@ -0,0 +1,22 @@
<?php
namespace FireflyIII\Database\Ifaces;
use Carbon\Carbon;
use Illuminate\Support\Collection;
/**
* Interface TransactionJournalInterface
*
* @package FireflyIII\Database
*/
interface TransactionJournalInterface
{
/**
* @param Carbon $start
* @param Carbon $end
*
* @return Collection
*/
public function getInDateRange(Carbon $start, Carbon $end);
}

View File

@@ -0,0 +1,14 @@
<?php
namespace FireflyIII\Database\Ifaces;
/**
* Interface TransactionTypeInterface
*
* @package FireflyIII\Database
*/
interface TransactionTypeInterface
{
}