mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-19 19:01:58 +00:00
144 lines
2.5 KiB
PHP
144 lines
2.5 KiB
PHP
<?php
|
|
|
|
|
|
namespace Firefly\Storage\Account;
|
|
|
|
use Illuminate\Queue\Jobs\Job;
|
|
|
|
/**
|
|
* Interface AccountRepositoryInterface
|
|
*
|
|
* @package Firefly\Storage\Account
|
|
*/
|
|
interface AccountRepositoryInterface
|
|
{
|
|
|
|
/**
|
|
* @param Job $job
|
|
* @param array $payload
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function importAccount(Job $job, array $payload);
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
public function count();
|
|
|
|
/**
|
|
* Gets a list of accounts that have the mentioned type. Will automatically convert
|
|
* strings in this array to actual (model) account types.
|
|
*
|
|
* @param array $types
|
|
*
|
|
* @return Collection
|
|
*/
|
|
public function getOfTypes(array $types);
|
|
|
|
/**
|
|
* @param array $data
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function firstOrCreate(array $data);
|
|
|
|
/**
|
|
* @param \Account $account
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function destroy(\Account $account);
|
|
|
|
/**
|
|
* @param $accountId
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function find($accountId);
|
|
|
|
/**
|
|
* @param $type
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function findAccountType($type);
|
|
|
|
/**
|
|
* Takes a transaction/account component and updates the transaction journal to match.
|
|
*
|
|
* @param Job $job
|
|
* @param array $payload
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function importUpdateTransaction(Job $job, array $payload);
|
|
|
|
/**
|
|
* @param $id
|
|
*
|
|
* @return |Account|null
|
|
*/
|
|
public function findAssetAccountById($id);
|
|
|
|
/**
|
|
* @param $name
|
|
*
|
|
* @return |Account|null
|
|
*/
|
|
public function findExpenseAccountByName($name);
|
|
|
|
/**
|
|
* @param $name
|
|
*
|
|
* @return |Account|null
|
|
*/
|
|
public function findRevenueAccountByName($name);
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
public function getActiveDefault();
|
|
|
|
/**
|
|
* @param $ids
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function getByIds(array $ids);
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
public function getDefault();
|
|
|
|
/**
|
|
* @param \AccountType $type
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function getByAccountType(\AccountType $type);
|
|
|
|
/**
|
|
* @param \User $user
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function overruleUser(\User $user);
|
|
|
|
/**
|
|
* @param $data
|
|
*
|
|
* @return \Account
|
|
*/
|
|
public function store($data);
|
|
|
|
/**
|
|
* @param \Account $account
|
|
* @param $data
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function update(\Account $account, $data);
|
|
|
|
}
|