mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-12 01:42:32 +00:00
Clean up some classes, extend API validation.
This commit is contained in:
@@ -31,39 +31,48 @@ use FireflyIII\Enums\TransactionTypeEnum;
|
||||
*/
|
||||
trait TransactionFilter
|
||||
{
|
||||
/**
|
||||
* All the types you can request.
|
||||
*/
|
||||
protected function mapTransactionTypes(string $type): array
|
||||
{
|
||||
$types = [
|
||||
'all' => [
|
||||
protected $transactionTypes
|
||||
= [
|
||||
'all' => [
|
||||
TransactionTypeEnum::WITHDRAWAL->value,
|
||||
TransactionTypeEnum::DEPOSIT->value,
|
||||
TransactionTypeEnum::TRANSFER->value,
|
||||
TransactionTypeEnum::OPENING_BALANCE->value,
|
||||
TransactionTypeEnum::RECONCILIATION->value,
|
||||
],
|
||||
'withdrawal' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'withdrawals' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'expense' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'expenses' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'income' => [TransactionTypeEnum::DEPOSIT->value],
|
||||
'deposit' => [TransactionTypeEnum::DEPOSIT->value],
|
||||
'deposits' => [TransactionTypeEnum::DEPOSIT->value],
|
||||
'transfer' => [TransactionTypeEnum::TRANSFER->value],
|
||||
'transfers' => [TransactionTypeEnum::TRANSFER->value],
|
||||
'opening_balance' => [TransactionTypeEnum::OPENING_BALANCE->value],
|
||||
'reconciliation' => [TransactionTypeEnum::RECONCILIATION->value],
|
||||
'reconciliations' => [TransactionTypeEnum::RECONCILIATION->value],
|
||||
'special' => [TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value],
|
||||
'specials' => [TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value],
|
||||
'default' => [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value],
|
||||
TransactionTypeEnum::WITHDRAWAL->value => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'withdrawal' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'withdrawals' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'expense' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
'expenses' => [TransactionTypeEnum::WITHDRAWAL->value],
|
||||
TransactionTypeEnum::DEPOSIT->value => [TransactionTypeEnum::DEPOSIT->value],
|
||||
'income' => [TransactionTypeEnum::DEPOSIT->value],
|
||||
'deposit' => [TransactionTypeEnum::DEPOSIT->value],
|
||||
'deposits' => [TransactionTypeEnum::DEPOSIT->value],
|
||||
TransactionTypeEnum::TRANSFER->value => [TransactionTypeEnum::TRANSFER->value],
|
||||
'transfer' => [TransactionTypeEnum::TRANSFER->value],
|
||||
'transfers' => [TransactionTypeEnum::TRANSFER->value],
|
||||
TransactionTypeEnum::OPENING_BALANCE->value => [TransactionTypeEnum::OPENING_BALANCE->value],
|
||||
'opening_balance' => [TransactionTypeEnum::OPENING_BALANCE->value],
|
||||
TransactionTypeEnum::RECONCILIATION->value => [TransactionTypeEnum::RECONCILIATION->value],
|
||||
'reconciliation' => [TransactionTypeEnum::RECONCILIATION->value],
|
||||
'reconciliations' => [TransactionTypeEnum::RECONCILIATION->value],
|
||||
'special' => [TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value],
|
||||
'specials' => [TransactionTypeEnum::OPENING_BALANCE->value, TransactionTypeEnum::RECONCILIATION->value],
|
||||
'default' => [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value],
|
||||
];
|
||||
|
||||
/**
|
||||
* All the types you can request.
|
||||
*/
|
||||
protected function mapTransactionTypes(string $type): array
|
||||
{
|
||||
$return = [];
|
||||
$parts = explode(',', $type);
|
||||
foreach ($parts as $part) {
|
||||
$return = array_merge($return, $types[$part] ?? $types['default']);
|
||||
if(array_key_exists($part, $this->transactionTypes)) {
|
||||
$return = array_merge($return, $this->transactionTypes[$part]);
|
||||
}
|
||||
}
|
||||
|
||||
return array_unique($return);
|
||||
|
||||
@@ -25,6 +25,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Support\Http\Api;
|
||||
|
||||
use FireflyIII\Enums\UserRoleEnum;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\UserGroup;
|
||||
use FireflyIII\Repositories\UserGroup\UserGroupRepositoryInterface;
|
||||
use FireflyIII\User;
|
||||
|
||||
Reference in New Issue
Block a user