mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-02 19:16:39 +00:00
Various code cleanup and fixed alignments.
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
$current = __DIR__;
|
$current = __DIR__;
|
||||||
|
|
||||||
$paths = [
|
$paths = [
|
||||||
$current . '/../../app/Api/V1/Controllers/Autocomplete',
|
$current . '/../../app/Api/V1',
|
||||||
// $current . '/../../config',
|
// $current . '/../../config',
|
||||||
// $current . '/../../database',
|
// $current . '/../../database',
|
||||||
// $current . '/../../routes',
|
// $current . '/../../routes',
|
||||||
@@ -61,7 +61,8 @@ return $config->setRules([
|
|||||||
'default' => 'at_least_single_space',
|
'default' => 'at_least_single_space',
|
||||||
'operators' => [
|
'operators' => [
|
||||||
'=>' => 'align_single_space_by_scope',
|
'=>' => 'align_single_space_by_scope',
|
||||||
'=' => 'align_single_space_minimal',
|
'=' => 'align_single_space_minimal_by_scope',
|
||||||
|
'??=' => 'align_single_space_minimal_by_scope',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'void_return' => true,
|
'void_return' => true,
|
||||||
|
@@ -72,12 +72,12 @@ class AccountController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function accounts(AutocompleteRequest $request): JsonResponse
|
public function accounts(AutocompleteRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getData();
|
$data = $request->getData();
|
||||||
$types = $data['types'];
|
$types = $data['types'];
|
||||||
$query = $data['query'];
|
$query = $data['query'];
|
||||||
$date = $data['date'] ?? today(config('app.timezone'));
|
$date = $data['date'] ?? today(config('app.timezone'));
|
||||||
$return = [];
|
$return = [];
|
||||||
$result = $this->repository->searchAccount((string) $query, $types, $this->parameters->get('limit'));
|
$result = $this->repository->searchAccount((string) $query, $types, $this->parameters->get('limit'));
|
||||||
|
|
||||||
// TODO this code is duplicated in the V2 Autocomplete controller, which means this code is due to be deprecated.
|
// TODO this code is duplicated in the V2 Autocomplete controller, which means this code is due to be deprecated.
|
||||||
$defaultCurrency = app('amount')->getDefaultCurrency();
|
$defaultCurrency = app('amount')->getDefaultCurrency();
|
||||||
@@ -96,7 +96,7 @@ class AccountController extends Controller
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$return[] = [
|
$return[] = [
|
||||||
'id' => (string) $account->id,
|
'id' => (string) $account->id,
|
||||||
'name' => $account->name,
|
'name' => $account->name,
|
||||||
'name_with_balance' => $nameWithBalance,
|
'name_with_balance' => $nameWithBalance,
|
||||||
|
@@ -66,8 +66,8 @@ class TransactionController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(AutocompleteRequest $request): JsonResponse
|
public function transactions(AutocompleteRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getData();
|
$data = $request->getData();
|
||||||
$result = $this->repository->searchJournalDescriptions($data['query'], $this->parameters->get('limit'));
|
$result = $this->repository->searchJournalDescriptions($data['query'], $this->parameters->get('limit'));
|
||||||
|
|
||||||
// limit and unique
|
// limit and unique
|
||||||
$filtered = $result->unique('description');
|
$filtered = $result->unique('description');
|
||||||
@@ -109,7 +109,7 @@ class TransactionController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// limit and unique
|
// limit and unique
|
||||||
$array = [];
|
$array = [];
|
||||||
|
|
||||||
/** @var TransactionJournal $journal */
|
/** @var TransactionJournal $journal */
|
||||||
foreach ($result as $journal) {
|
foreach ($result as $journal) {
|
||||||
|
@@ -72,20 +72,20 @@ class AccountController extends Controller
|
|||||||
public function overview(DateRequest $request): JsonResponse
|
public function overview(DateRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
// parameters for chart:
|
// parameters for chart:
|
||||||
$dates = $request->getAll();
|
$dates = $request->getAll();
|
||||||
|
|
||||||
/** @var Carbon $start */
|
/** @var Carbon $start */
|
||||||
$start = $dates['start'];
|
$start = $dates['start'];
|
||||||
|
|
||||||
/** @var Carbon $end */
|
/** @var Carbon $end */
|
||||||
$end = $dates['end'];
|
$end = $dates['end'];
|
||||||
|
|
||||||
// user's preferences
|
// user's preferences
|
||||||
$defaultSet = $this->repository->getAccountsByType([AccountType::ASSET])->pluck('id')->toArray();
|
$defaultSet = $this->repository->getAccountsByType([AccountType::ASSET])->pluck('id')->toArray();
|
||||||
|
|
||||||
/** @var Preference $frontPage */
|
/** @var Preference $frontPage */
|
||||||
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
|
$frontPage = app('preferences')->get('frontPageAccounts', $defaultSet);
|
||||||
$default = app('amount')->getDefaultCurrency();
|
$default = app('amount')->getDefaultCurrency();
|
||||||
|
|
||||||
if (!(is_array($frontPage->data) && count($frontPage->data) > 0)) {
|
if (!(is_array($frontPage->data) && count($frontPage->data) > 0)) {
|
||||||
$frontPage->data = $defaultSet;
|
$frontPage->data = $defaultSet;
|
||||||
@@ -93,16 +93,16 @@ class AccountController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// get accounts:
|
// get accounts:
|
||||||
$accounts = $this->repository->getAccountsById($frontPage->data);
|
$accounts = $this->repository->getAccountsById($frontPage->data);
|
||||||
$chartData = [];
|
$chartData = [];
|
||||||
|
|
||||||
/** @var Account $account */
|
/** @var Account $account */
|
||||||
foreach ($accounts as $account) {
|
foreach ($accounts as $account) {
|
||||||
$currency = $this->repository->getAccountCurrency($account);
|
$currency = $this->repository->getAccountCurrency($account);
|
||||||
if (null === $currency) {
|
if (null === $currency) {
|
||||||
$currency = $default;
|
$currency = $default;
|
||||||
}
|
}
|
||||||
$currentSet = [
|
$currentSet = [
|
||||||
'label' => $account->name,
|
'label' => $account->name,
|
||||||
'currency_id' => (string) $currency->id,
|
'currency_id' => (string) $currency->id,
|
||||||
'currency_code' => $currency->code,
|
'currency_code' => $currency->code,
|
||||||
@@ -118,16 +118,16 @@ class AccountController extends Controller
|
|||||||
$currentStart = clone $start;
|
$currentStart = clone $start;
|
||||||
$range = app('steam')->balanceInRange($account, $start, clone $end);
|
$range = app('steam')->balanceInRange($account, $start, clone $end);
|
||||||
// 2022-10-11 this method no longer converts to float.
|
// 2022-10-11 this method no longer converts to float.
|
||||||
$previous = array_values($range)[0];
|
$previous = array_values($range)[0];
|
||||||
while ($currentStart <= $end) {
|
while ($currentStart <= $end) {
|
||||||
$format = $currentStart->format('Y-m-d');
|
$format = $currentStart->format('Y-m-d');
|
||||||
$label = $currentStart->toAtomString();
|
$label = $currentStart->toAtomString();
|
||||||
$balance = array_key_exists($format, $range) ? $range[$format] : $previous;
|
$balance = array_key_exists($format, $range) ? $range[$format] : $previous;
|
||||||
$previous = $balance;
|
$previous = $balance;
|
||||||
$currentStart->addDay();
|
$currentStart->addDay();
|
||||||
$currentSet['entries'][$label] = $balance;
|
$currentSet['entries'][$label] = $balance;
|
||||||
}
|
}
|
||||||
$chartData[] = $currentSet;
|
$chartData[] = $currentSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json($chartData);
|
return response()->json($chartData);
|
||||||
|
@@ -113,8 +113,8 @@ abstract class Controller extends BaseController
|
|||||||
*/
|
*/
|
||||||
private function getParameters(): ParameterBag
|
private function getParameters(): ParameterBag
|
||||||
{
|
{
|
||||||
$bag = new ParameterBag();
|
$bag = new ParameterBag();
|
||||||
$page = (int)request()->get('page');
|
$page = (int)request()->get('page');
|
||||||
if ($page < 1) {
|
if ($page < 1) {
|
||||||
$page = 1;
|
$page = 1;
|
||||||
}
|
}
|
||||||
@@ -124,7 +124,7 @@ abstract class Controller extends BaseController
|
|||||||
$bag->set('page', $page);
|
$bag->set('page', $page);
|
||||||
|
|
||||||
// some date fields:
|
// some date fields:
|
||||||
$dates = ['start', 'end', 'date'];
|
$dates = ['start', 'end', 'date'];
|
||||||
foreach ($dates as $field) {
|
foreach ($dates as $field) {
|
||||||
$date = null;
|
$date = null;
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ abstract class Controller extends BaseController
|
|||||||
app('log')->error($e->getTraceAsString());
|
app('log')->error($e->getTraceAsString());
|
||||||
$value = null;
|
$value = null;
|
||||||
}
|
}
|
||||||
$obj = null;
|
$obj = null;
|
||||||
if (null !== $date) {
|
if (null !== $date) {
|
||||||
try {
|
try {
|
||||||
$obj = Carbon::parse((string)$date);
|
$obj = Carbon::parse((string)$date);
|
||||||
@@ -173,7 +173,7 @@ abstract class Controller extends BaseController
|
|||||||
&& auth()->check()) {
|
&& auth()->check()) {
|
||||||
// set default for user:
|
// set default for user:
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
/** @var Preference $pageSize */
|
/** @var Preference $pageSize */
|
||||||
$pageSize = (int)app('preferences')->getForUser($user, 'listPageSize', 50)->data;
|
$pageSize = (int)app('preferences')->getForUser($user, 'listPageSize', 50)->data;
|
||||||
@@ -200,7 +200,7 @@ abstract class Controller extends BaseController
|
|||||||
if ('' === $param) {
|
if ('' === $param) {
|
||||||
return $bag;
|
return $bag;
|
||||||
}
|
}
|
||||||
$parts = explode(',', $param);
|
$parts = explode(',', $param);
|
||||||
foreach ($parts as $part) {
|
foreach ($parts as $part) {
|
||||||
$part = trim($part);
|
$part = trim($part);
|
||||||
$direction = 'asc';
|
$direction = 'asc';
|
||||||
|
@@ -74,7 +74,7 @@ class TransactionController extends Controller
|
|||||||
$destination = $this->repository->find((int) $params['update']['account_id']);
|
$destination = $this->repository->find((int) $params['update']['account_id']);
|
||||||
|
|
||||||
/** @var AccountDestroyService $service */
|
/** @var AccountDestroyService $service */
|
||||||
$service = app(AccountDestroyService::class);
|
$service = app(AccountDestroyService::class);
|
||||||
$service->moveTransactions($original, $destination);
|
$service->moveTransactions($original, $destination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -61,8 +61,8 @@ class DestroyController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function destroy(DestroyRequest $request): JsonResponse
|
public function destroy(DestroyRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$objects = $request->getObjects();
|
$objects = $request->getObjects();
|
||||||
$this->unused = $request->boolean('unused', false);
|
$this->unused = $request->boolean('unused', false);
|
||||||
|
|
||||||
$allExceptAssets = [AccountType::BENEFICIARY, AccountType::CASH, AccountType::CREDITCARD, AccountType::DEFAULT, AccountType::EXPENSE, AccountType::IMPORT, AccountType::INITIAL_BALANCE, AccountType::LIABILITY_CREDIT, AccountType::RECONCILIATION, AccountType::REVENUE];
|
$allExceptAssets = [AccountType::BENEFICIARY, AccountType::CASH, AccountType::CREDITCARD, AccountType::DEFAULT, AccountType::EXPENSE, AccountType::IMPORT, AccountType::INITIAL_BALANCE, AccountType::LIABILITY_CREDIT, AccountType::RECONCILIATION, AccountType::REVENUE];
|
||||||
$all = [AccountType::ASSET, AccountType::BENEFICIARY, AccountType::CASH, AccountType::CREDITCARD, AccountType::DEBT, AccountType::DEFAULT, AccountType::EXPENSE, AccountType::IMPORT, AccountType::INITIAL_BALANCE, AccountType::LIABILITY_CREDIT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::RECONCILIATION];
|
$all = [AccountType::ASSET, AccountType::BENEFICIARY, AccountType::CASH, AccountType::CREDITCARD, AccountType::DEBT, AccountType::DEFAULT, AccountType::EXPENSE, AccountType::IMPORT, AccountType::INITIAL_BALANCE, AccountType::LIABILITY_CREDIT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::RECONCILIATION];
|
||||||
@@ -99,11 +99,11 @@ class DestroyController extends Controller
|
|||||||
private function destroyBudgets(): void
|
private function destroyBudgets(): void
|
||||||
{
|
{
|
||||||
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
||||||
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
||||||
$abRepository->destroyAll();
|
$abRepository->destroyAll();
|
||||||
|
|
||||||
/** @var BudgetLimitRepositoryInterface $blRepository */
|
/** @var BudgetLimitRepositoryInterface $blRepository */
|
||||||
$blRepository = app(BudgetLimitRepositoryInterface::class);
|
$blRepository = app(BudgetLimitRepositoryInterface::class);
|
||||||
$blRepository->destroyAll();
|
$blRepository->destroyAll();
|
||||||
|
|
||||||
/** @var BudgetRepositoryInterface $budgetRepository */
|
/** @var BudgetRepositoryInterface $budgetRepository */
|
||||||
|
@@ -62,7 +62,7 @@ class PurgeController extends Controller
|
|||||||
Bill::whereUserId($user->id)->onlyTrashed()->forceDelete();
|
Bill::whereUserId($user->id)->onlyTrashed()->forceDelete();
|
||||||
|
|
||||||
// piggies
|
// piggies
|
||||||
$set = PiggyBank::leftJoin('accounts', 'accounts.id', 'piggy_banks.account_id')
|
$set = PiggyBank::leftJoin('accounts', 'accounts.id', 'piggy_banks.account_id')
|
||||||
->where('accounts.user_id', $user->id)->onlyTrashed()->get(['piggy_banks.*'])
|
->where('accounts.user_id', $user->id)->onlyTrashed()->get(['piggy_banks.*'])
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@@ -52,8 +52,8 @@ class AccountController extends Controller
|
|||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$this->repository = app(AccountRepositoryInterface::class);
|
$this->repository = app(AccountRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
|
|
||||||
$this->opsRepository = app(OperationsRepositoryInterface::class);
|
$this->opsRepository = app(OperationsRepositoryInterface::class);
|
||||||
|
@@ -63,11 +63,11 @@ class BillController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function bill(GenericRequest $request): JsonResponse
|
public function bill(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$bills = $request->getBills();
|
$bills = $request->getBills();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// get all bills:
|
// get all bills:
|
||||||
if (0 === $bills->count()) {
|
if (0 === $bills->count()) {
|
||||||
@@ -75,7 +75,7 @@ class BillController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
||||||
$collector->setBills($bills);
|
$collector->setBills($bills);
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ class BillController extends Controller
|
|||||||
$foreignKey = sprintf('%d-%d', $billId, $foreignCurrencyId);
|
$foreignKey = sprintf('%d-%d', $billId, $foreignCurrencyId);
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$key] ??= [
|
$response[$key] ??= [
|
||||||
'id' => (string)$billId,
|
'id' => (string)$billId,
|
||||||
'name' => $journal['bill_name'],
|
'name' => $journal['bill_name'],
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
@@ -100,7 +100,7 @@ class BillController extends Controller
|
|||||||
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // intentional float
|
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // intentional float
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignKey] ??= [
|
$response[$foreignKey] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
@@ -122,13 +122,13 @@ class BillController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function noBill(GenericRequest $request): JsonResponse
|
public function noBill(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
||||||
$collector->withoutBill();
|
$collector->withoutBill();
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@ class BillController extends Controller
|
|||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string)$currencyId,
|
||||||
@@ -149,7 +149,7 @@ class BillController extends Controller
|
|||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
|
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
|
@@ -40,13 +40,13 @@ class PeriodController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function total(GenericRequest $request): JsonResponse
|
public function total(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type)
|
// collect all expenses in this period (regardless of type)
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
foreach ($genericSet as $journal) {
|
foreach ($genericSet as $journal) {
|
||||||
@@ -54,7 +54,7 @@ class PeriodController extends Controller
|
|||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string)$currencyId,
|
||||||
@@ -64,7 +64,7 @@ class PeriodController extends Controller
|
|||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
|
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // intentional float
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
|
@@ -62,41 +62,41 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function noTag(GenericRequest $request): JsonResponse
|
public function noTag(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
||||||
$collector->withoutTags();
|
$collector->withoutTags();
|
||||||
|
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
|
|
||||||
foreach ($genericSet as $journal) {
|
foreach ($genericSet as $journal) {
|
||||||
$currencyId = (int)$journal['currency_id'];
|
$currencyId = (int) $journal['currency_id'];
|
||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string) $currencyId,
|
||||||
'currency_code' => $journal['currency_code'],
|
'currency_code' => $journal['currency_code'],
|
||||||
];
|
];
|
||||||
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
|
$response[$currencyId]['difference'] = bcadd($response[$currencyId]['difference'], $journal['amount']);
|
||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // float but on purpose.
|
$response[$currencyId]['difference_float'] = (float) $response[$currencyId]['difference']; // float but on purpose.
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string) $foreignCurrencyId,
|
||||||
'currency_code' => $journal['foreign_currency_code'],
|
'currency_code' => $journal['foreign_currency_code'],
|
||||||
];
|
];
|
||||||
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
|
$response[$foreignCurrencyId]['difference'] = bcadd($response[$foreignCurrencyId]['difference'], $journal['foreign_amount']);
|
||||||
$response[$foreignCurrencyId]['difference_float'] = (float)$response[$foreignCurrencyId]['difference']; // float but on purpose.
|
$response[$foreignCurrencyId]['difference_float'] = (float) $response[$foreignCurrencyId]['difference']; // float but on purpose.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,11 +111,11 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function tag(GenericRequest $request): JsonResponse
|
public function tag(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$tags = $request->getTags();
|
$tags = $request->getTags();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// get all tags:
|
// get all tags:
|
||||||
if (0 === $tags->count()) {
|
if (0 === $tags->count()) {
|
||||||
@@ -123,15 +123,15 @@ class TagController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
$collector->setTypes([TransactionType::WITHDRAWAL])->setRange($start, $end)->setSourceAccounts($accounts);
|
||||||
$collector->setTags($tags);
|
$collector->setTags($tags);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
|
|
||||||
/** @var array $journal */
|
/** @var array $journal */
|
||||||
foreach ($genericSet as $journal) {
|
foreach ($genericSet as $journal) {
|
||||||
$currencyId = (int)$journal['currency_id'];
|
$currencyId = (int) $journal['currency_id'];
|
||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int) $journal['foreign_currency_id'];
|
||||||
|
|
||||||
/** @var array $tag */
|
/** @var array $tag */
|
||||||
foreach ($journal['tags'] as $tag) {
|
foreach ($journal['tags'] as $tag) {
|
||||||
@@ -141,16 +141,16 @@ class TagController extends Controller
|
|||||||
|
|
||||||
// on currency ID
|
// on currency ID
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$key] ??= [
|
$response[$key] ??= [
|
||||||
'id' => (string)$tagId,
|
'id' => (string) $tagId,
|
||||||
'name' => $tag['name'],
|
'name' => $tag['name'],
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string) $currencyId,
|
||||||
'currency_code' => $journal['currency_code'],
|
'currency_code' => $journal['currency_code'],
|
||||||
];
|
];
|
||||||
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
|
$response[$key]['difference'] = bcadd($response[$key]['difference'], $journal['amount']);
|
||||||
$response[$key]['difference_float'] = (float)$response[$key]['difference']; // float but on purpose.
|
$response[$key]['difference_float'] = (float) $response[$key]['difference']; // float but on purpose.
|
||||||
}
|
}
|
||||||
|
|
||||||
// on foreign ID
|
// on foreign ID
|
||||||
@@ -158,11 +158,11 @@ class TagController extends Controller
|
|||||||
$response[$foreignKey] = $journal[$foreignKey] ?? [
|
$response[$foreignKey] = $journal[$foreignKey] ?? [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string) $foreignCurrencyId,
|
||||||
'currency_code' => $journal['foreign_currency_code'],
|
'currency_code' => $journal['foreign_currency_code'],
|
||||||
];
|
];
|
||||||
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
|
$response[$foreignKey]['difference'] = bcadd($response[$foreignKey]['difference'], $journal['foreign_amount']);
|
||||||
$response[$foreignKey]['difference_float'] = (float)$response[$foreignKey]['difference']; // float but on purpose.
|
$response[$foreignKey]['difference_float'] = (float) $response[$foreignKey]['difference']; // float but on purpose.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -52,8 +52,8 @@ class AccountController extends Controller
|
|||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$this->repository = app(AccountRepositoryInterface::class);
|
$this->repository = app(AccountRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
|
|
||||||
$this->opsRepository = app(OperationsRepositoryInterface::class);
|
$this->opsRepository = app(OperationsRepositoryInterface::class);
|
||||||
|
@@ -40,13 +40,13 @@ class PeriodController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function total(GenericRequest $request): JsonResponse
|
public function total(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type)
|
// collect all expenses in this period (regardless of type)
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
|
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
foreach ($genericSet as $journal) {
|
foreach ($genericSet as $journal) {
|
||||||
@@ -54,7 +54,7 @@ class PeriodController extends Controller
|
|||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string)$currencyId,
|
||||||
@@ -64,7 +64,7 @@ class PeriodController extends Controller
|
|||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // float but on purpose.
|
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference']; // float but on purpose.
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
|
@@ -63,13 +63,13 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function noTag(GenericRequest $request): JsonResponse
|
public function noTag(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
|
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
|
||||||
$collector->withoutTags();
|
$collector->withoutTags();
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ class TagController extends Controller
|
|||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string)$currencyId,
|
||||||
@@ -90,7 +90,7 @@ class TagController extends Controller
|
|||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
|
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
@@ -115,11 +115,11 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function tag(GenericRequest $request): JsonResponse
|
public function tag(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$tags = $request->getTags();
|
$tags = $request->getTags();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// get all tags:
|
// get all tags:
|
||||||
if (0 === $tags->count()) {
|
if (0 === $tags->count()) {
|
||||||
@@ -127,7 +127,7 @@ class TagController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
|
$collector->setTypes([TransactionType::DEPOSIT])->setRange($start, $end)->setDestinationAccounts($accounts);
|
||||||
$collector->setTags($tags);
|
$collector->setTags($tags);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
@@ -145,7 +145,7 @@ class TagController extends Controller
|
|||||||
|
|
||||||
// on currency ID
|
// on currency ID
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$key] ??= [
|
$response[$key] ??= [
|
||||||
'id' => (string)$tagId,
|
'id' => (string)$tagId,
|
||||||
'name' => $tag['name'],
|
'name' => $tag['name'],
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
|
@@ -40,13 +40,13 @@ class PeriodController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function total(GenericRequest $request): JsonResponse
|
public function total(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type)
|
// collect all expenses in this period (regardless of type)
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
|
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
foreach ($genericSet as $journal) {
|
foreach ($genericSet as $journal) {
|
||||||
@@ -54,7 +54,7 @@ class PeriodController extends Controller
|
|||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string)$currencyId,
|
||||||
@@ -64,7 +64,7 @@ class PeriodController extends Controller
|
|||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
|
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
|
@@ -60,13 +60,13 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function noTag(GenericRequest $request): JsonResponse
|
public function noTag(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
|
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
|
||||||
$collector->withoutTags();
|
$collector->withoutTags();
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ class TagController extends Controller
|
|||||||
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
$foreignCurrencyId = (int)$journal['foreign_currency_id'];
|
||||||
|
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$currencyId] ??= [
|
$response[$currencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$currencyId,
|
'currency_id' => (string)$currencyId,
|
||||||
@@ -87,7 +87,7 @@ class TagController extends Controller
|
|||||||
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
|
$response[$currencyId]['difference_float'] = (float)$response[$currencyId]['difference'];
|
||||||
}
|
}
|
||||||
if (0 !== $foreignCurrencyId) {
|
if (0 !== $foreignCurrencyId) {
|
||||||
$response[$foreignCurrencyId] ??= [
|
$response[$foreignCurrencyId] ??= [
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
'difference_float' => 0,
|
'difference_float' => 0,
|
||||||
'currency_id' => (string)$foreignCurrencyId,
|
'currency_id' => (string)$foreignCurrencyId,
|
||||||
@@ -112,11 +112,11 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function tag(GenericRequest $request): JsonResponse
|
public function tag(GenericRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$accounts = $request->getAssetAccounts();
|
$accounts = $request->getAssetAccounts();
|
||||||
$tags = $request->getTags();
|
$tags = $request->getTags();
|
||||||
$start = $request->getStart();
|
$start = $request->getStart();
|
||||||
$end = $request->getEnd();
|
$end = $request->getEnd();
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
// get all tags:
|
// get all tags:
|
||||||
if (0 === $tags->count()) {
|
if (0 === $tags->count()) {
|
||||||
@@ -124,7 +124,7 @@ class TagController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
// collect all expenses in this period (regardless of type) by the given bills and accounts.
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
|
$collector->setTypes([TransactionType::TRANSFER])->setRange($start, $end)->setDestinationAccounts($accounts);
|
||||||
$collector->setTags($tags);
|
$collector->setTags($tags);
|
||||||
$genericSet = $collector->getExtractedJournals();
|
$genericSet = $collector->getExtractedJournals();
|
||||||
@@ -142,7 +142,7 @@ class TagController extends Controller
|
|||||||
|
|
||||||
// on currency ID
|
// on currency ID
|
||||||
if (0 !== $currencyId) {
|
if (0 !== $currencyId) {
|
||||||
$response[$key] ??= [
|
$response[$key] ??= [
|
||||||
'id' => (string)$tagId,
|
'id' => (string)$tagId,
|
||||||
'name' => $tag['name'],
|
'name' => $tag['name'],
|
||||||
'difference' => '0',
|
'difference' => '0',
|
||||||
|
@@ -75,22 +75,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(Account $account): JsonResponse
|
public function attachments(Account $account): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttachments($account);
|
$collection = $this->repository->getAttachments($account);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.accounts.attachments', [$account->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.accounts.attachments', [$account->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -105,25 +105,25 @@ class ListController extends Controller
|
|||||||
public function piggyBanks(Account $account): JsonResponse
|
public function piggyBanks(Account $account): JsonResponse
|
||||||
{
|
{
|
||||||
// create some objects:
|
// create some objects:
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->getPiggyBanks($account);
|
$collection = $this->repository->getPiggyBanks($account);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.accounts.piggy-banks', [$account->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.accounts.piggy-banks', [$account->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var PiggyBankTransformer $transformer */
|
/** @var PiggyBankTransformer $transformer */
|
||||||
$transformer = app(PiggyBankTransformer::class);
|
$transformer = app(PiggyBankTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks');
|
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -139,18 +139,18 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Account $account): JsonResponse
|
public function transactions(Request $request, Account $account): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setUser($admin)->setAccounts(new Collection([$account]))
|
$collector->setUser($admin)->setAccounts(new Collection([$account]))
|
||||||
->withAPIInformation()->setLimit($pageSize)->setPage($this->parameters->get('page'))->setTypes($types)
|
->withAPIInformation()->setLimit($pageSize)->setPage($this->parameters->get('page'))->setTypes($types)
|
||||||
;
|
;
|
||||||
@@ -162,15 +162,15 @@ class ListController extends Controller
|
|||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.accounts.transactions', [$account->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.accounts.transactions', [$account->id]).$this->buildParams());
|
||||||
$groups = $paginator->getCollection();
|
$groups = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($groups, $transformer, 'transactions');
|
$resource = new FractalCollection($groups, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -73,32 +73,32 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(Request $request): JsonResponse
|
public function index(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$type = $request->get('type') ?? 'all';
|
$type = $request->get('type') ?? 'all';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$types = $this->mapAccountTypes($this->parameters->get('type'));
|
$types = $this->mapAccountTypes($this->parameters->get('type'));
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of accounts. Count it and split it.
|
// get list of accounts. Count it and split it.
|
||||||
$this->repository->resetAccountOrder();
|
$this->repository->resetAccountOrder();
|
||||||
$collection = $this->repository->getAccountsByType($types, $this->parameters->get('sort') ?? []);
|
$collection = $this->repository->getAccountsByType($types, $this->parameters->get('sort') ?? []);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
|
|
||||||
// continue sort:
|
// continue sort:
|
||||||
|
|
||||||
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.accounts.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.accounts.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var AccountTransformer $transformer */
|
/** @var AccountTransformer $transformer */
|
||||||
$transformer = app(AccountTransformer::class);
|
$transformer = app(AccountTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($accounts, $transformer, self::RESOURCE_KEY);
|
$resource = new FractalCollection($accounts, $transformer, self::RESOURCE_KEY);
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -115,12 +115,12 @@ class ShowController extends Controller
|
|||||||
// get list of accounts. Count it and split it.
|
// get list of accounts. Count it and split it.
|
||||||
$this->repository->resetAccountOrder();
|
$this->repository->resetAccountOrder();
|
||||||
$account->refresh();
|
$account->refresh();
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var AccountTransformer $transformer */
|
/** @var AccountTransformer $transformer */
|
||||||
$transformer = app(AccountTransformer::class);
|
$transformer = app(AccountTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($account, $transformer, self::RESOURCE_KEY);
|
$resource = new Item($account, $transformer, self::RESOURCE_KEY);
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -63,16 +63,16 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAllAccountData();
|
$data = $request->getAllAccountData();
|
||||||
$this->repository->resetAccountOrder();
|
$this->repository->resetAccountOrder();
|
||||||
$account = $this->repository->store($data);
|
$account = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var AccountTransformer $transformer */
|
/** @var AccountTransformer $transformer */
|
||||||
$transformer = app(AccountTransformer::class);
|
$transformer = app(AccountTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($account, $transformer, self::RESOURCE_KEY);
|
$resource = new Item($account, $transformer, self::RESOURCE_KEY);
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -73,9 +73,9 @@ class UpdateController extends Controller
|
|||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
|
|
||||||
/** @var AccountTransformer $transformer */
|
/** @var AccountTransformer $transformer */
|
||||||
$transformer = app(AccountTransformer::class);
|
$transformer = app(AccountTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($account, $transformer, self::RESOURCE_KEY);
|
$resource = new Item($account, $transformer, self::RESOURCE_KEY);
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -87,11 +87,11 @@ class ShowController extends Controller
|
|||||||
throw new FireflyException('200000: File has not been uploaded (yet).');
|
throw new FireflyException('200000: File has not been uploaded (yet).');
|
||||||
}
|
}
|
||||||
if ($this->repository->exists($attachment)) {
|
if ($this->repository->exists($attachment)) {
|
||||||
$content = $this->repository->getContent($attachment);
|
$content = $this->repository->getContent($attachment);
|
||||||
if ('' === $content) {
|
if ('' === $content) {
|
||||||
throw new FireflyException('200002: File is empty (zero bytes).');
|
throw new FireflyException('200002: File is empty (zero bytes).');
|
||||||
}
|
}
|
||||||
$quoted = sprintf('"%s"', addcslashes(basename($attachment->filename), '"\\'));
|
$quoted = sprintf('"%s"', addcslashes(basename($attachment->filename), '"\\'));
|
||||||
|
|
||||||
/** @var LaravelResponse $response */
|
/** @var LaravelResponse $response */
|
||||||
$response = response($content);
|
$response = response($content);
|
||||||
@@ -129,10 +129,10 @@ class ShowController extends Controller
|
|||||||
throw new NotFoundHttpException();
|
throw new NotFoundHttpException();
|
||||||
}
|
}
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of attachments. Count it and split it.
|
// get list of attachments. Count it and split it.
|
||||||
$collection = $this->repository->get();
|
$collection = $this->repository->get();
|
||||||
@@ -140,14 +140,14 @@ class ShowController extends Controller
|
|||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.attachments.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.attachments.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -166,13 +166,13 @@ class ShowController extends Controller
|
|||||||
|
|
||||||
throw new NotFoundHttpException();
|
throw new NotFoundHttpException();
|
||||||
}
|
}
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($attachment, $transformer, 'attachments');
|
$resource = new Item($attachment, $transformer, 'attachments');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -80,15 +80,15 @@ class StoreController extends Controller
|
|||||||
throw new NotFoundHttpException();
|
throw new NotFoundHttpException();
|
||||||
}
|
}
|
||||||
app('log')->debug(sprintf('Now in %s', __METHOD__));
|
app('log')->debug(sprintf('Now in %s', __METHOD__));
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$attachment = $this->repository->store($data);
|
$attachment = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($attachment, $transformer, 'attachments');
|
$resource = new Item($attachment, $transformer, 'attachments');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -74,15 +74,15 @@ class UpdateController extends Controller
|
|||||||
|
|
||||||
throw new NotFoundHttpException();
|
throw new NotFoundHttpException();
|
||||||
}
|
}
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$this->repository->update($attachment, $data);
|
$this->repository->update($attachment, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($attachment, $transformer, 'attachments');
|
$resource = new Item($attachment, $transformer, 'attachments');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -70,13 +70,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
$start = $this->parameters->get('start');
|
$start = $this->parameters->get('start');
|
||||||
$end = $this->parameters->get('end');
|
$end = $this->parameters->get('end');
|
||||||
|
|
||||||
// get list of available budgets. Count it and split it.
|
// get list of available budgets. Count it and split it.
|
||||||
$collection = $this->abRepository->getAvailableBudgetsByDate($start, $end);
|
$collection = $this->abRepository->getAvailableBudgetsByDate($start, $end);
|
||||||
@@ -84,14 +84,14 @@ class ShowController extends Controller
|
|||||||
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.available-budgets.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.available-budgets.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var AvailableBudgetTransformer $transformer */
|
/** @var AvailableBudgetTransformer $transformer */
|
||||||
$transformer = app(AvailableBudgetTransformer::class);
|
$transformer = app(AvailableBudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($availableBudgets, $transformer, 'available_budgets');
|
$resource = new FractalCollection($availableBudgets, $transformer, 'available_budgets');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -105,13 +105,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(AvailableBudget $availableBudget): JsonResponse
|
public function show(AvailableBudget $availableBudget): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var AvailableBudgetTransformer $transformer */
|
/** @var AvailableBudgetTransformer $transformer */
|
||||||
$transformer = app(AvailableBudgetTransformer::class);
|
$transformer = app(AvailableBudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($availableBudget, $transformer, 'available_budgets');
|
$resource = new Item($availableBudget, $transformer, 'available_budgets');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -74,22 +74,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(Bill $bill): JsonResponse
|
public function attachments(Bill $bill): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttachments($bill);
|
$collection = $this->repository->getAttachments($bill);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.bills.attachments', [$bill->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.bills.attachments', [$bill->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -105,24 +105,24 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function rules(Bill $bill): JsonResponse
|
public function rules(Bill $bill): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->getRulesForBill($bill);
|
$collection = $this->repository->getRulesForBill($bill);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.bills.rules', [$bill->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.bills.rules', [$bill->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new FractalCollection($rules, $transformer, 'rules');
|
$resource = new FractalCollection($rules, $transformer, 'rules');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -138,19 +138,19 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Bill $bill): JsonResponse
|
public function transactions(Request $request, Bill $bill): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// include source + destination account name and type.
|
// include source + destination account name and type.
|
||||||
@@ -173,15 +173,15 @@ class ListController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// get paginator.
|
// get paginator.
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.bills.transactions', [$bill->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.bills.transactions', [$bill->id]).$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -68,18 +68,18 @@ class ShowController extends Controller
|
|||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$this->repository->correctOrder();
|
$this->repository->correctOrder();
|
||||||
$bills = $this->repository->getBills();
|
$bills = $this->repository->getBills();
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$count = $bills->count();
|
$count = $bills->count();
|
||||||
$bills = $bills->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$bills = $bills->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
|
||||||
|
|
||||||
/** @var BillTransformer $transformer */
|
/** @var BillTransformer $transformer */
|
||||||
$transformer = app(BillTransformer::class);
|
$transformer = app(BillTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($bills, $transformer, 'bills');
|
$resource = new FractalCollection($bills, $transformer, 'bills');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -93,13 +93,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Bill $bill): JsonResponse
|
public function show(Bill $bill): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BillTransformer $transformer */
|
/** @var BillTransformer $transformer */
|
||||||
$transformer = app(BillTransformer::class);
|
$transformer = app(BillTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($bill, $transformer, 'bills');
|
$resource = new Item($bill, $transformer, 'bills');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -67,15 +67,15 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$bill = $this->repository->store($data);
|
$bill = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BillTransformer $transformer */
|
/** @var BillTransformer $transformer */
|
||||||
$transformer = app(BillTransformer::class);
|
$transformer = app(BillTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($bill, $transformer, 'bills');
|
$resource = new Item($bill, $transformer, 'bills');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -62,15 +62,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, Bill $bill): JsonResponse
|
public function update(UpdateRequest $request, Bill $bill): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$bill = $this->repository->update($bill, $data);
|
$bill = $this->repository->update($bill, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BillTransformer $transformer */
|
/** @var BillTransformer $transformer */
|
||||||
$transformer = app(BillTransformer::class);
|
$transformer = app(BillTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($bill, $transformer, 'bills');
|
$resource = new Item($bill, $transformer, 'bills');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -74,22 +74,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(Budget $budget): JsonResponse
|
public function attachments(Budget $budget): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttachments($budget);
|
$collection = $this->repository->getAttachments($budget);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.budgets.attachments', [$budget->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.attachments', [$budget->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -105,8 +105,8 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function budgetLimits(Budget $budget): JsonResponse
|
public function budgetLimits(Budget $budget): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$this->parameters->set('budget_id', $budget->id);
|
$this->parameters->set('budget_id', $budget->id);
|
||||||
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
|
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
@@ -115,9 +115,9 @@ class ListController extends Controller
|
|||||||
$paginator->setPath(route('api.v1.budgets.budget-limits', [$budget->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.budget-limits', [$budget->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -133,20 +133,20 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Budget $budget): JsonResponse
|
public function transactions(Request $request, Budget $budget): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on budget.
|
// filter on budget.
|
||||||
@@ -168,14 +168,14 @@ class ListController extends Controller
|
|||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]).$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -191,20 +191,20 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function withoutBudget(Request $request): JsonResponse
|
public function withoutBudget(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on budget.
|
// filter on budget.
|
||||||
@@ -226,14 +226,14 @@ class ListController extends Controller
|
|||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.budgets.without-budget').$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.without-budget').$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -71,25 +71,25 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->getBudgets();
|
$collection = $this->repository->getBudgets();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$budgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$budgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($budgets, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($budgets, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.budgets.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var BudgetTransformer $transformer */
|
/** @var BudgetTransformer $transformer */
|
||||||
$transformer = app(BudgetTransformer::class);
|
$transformer = app(BudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($budgets, $transformer, 'budgets');
|
$resource = new FractalCollection($budgets, $transformer, 'budgets');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -100,13 +100,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Budget $budget): JsonResponse
|
public function show(Budget $budget): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BudgetTransformer $transformer */
|
/** @var BudgetTransformer $transformer */
|
||||||
$transformer = app(BudgetTransformer::class);
|
$transformer = app(BudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($budget, $transformer, 'budgets');
|
$resource = new Item($budget, $transformer, 'budgets');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -64,15 +64,15 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$budget = $this->repository->store($request->getAll());
|
$budget = $this->repository->store($request->getAll());
|
||||||
$budget->refresh();
|
$budget->refresh();
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BudgetTransformer $transformer */
|
/** @var BudgetTransformer $transformer */
|
||||||
$transformer = app(BudgetTransformer::class);
|
$transformer = app(BudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($budget, $transformer, 'budgets');
|
$resource = new Item($budget, $transformer, 'budgets');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -62,15 +62,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, Budget $budget): JsonResponse
|
public function update(UpdateRequest $request, Budget $budget): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$budget = $this->repository->update($budget, $data);
|
$budget = $this->repository->update($budget, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BudgetTransformer $transformer */
|
/** @var BudgetTransformer $transformer */
|
||||||
$transformer = app(BudgetTransformer::class);
|
$transformer = app(BudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($budget, $transformer, 'budgets');
|
$resource = new Item($budget, $transformer, 'budgets');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -52,19 +52,19 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
|
public function transactions(Request $request, Budget $budget, BudgetLimit $budgetLimit): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on budget.
|
// filter on budget.
|
||||||
@@ -81,15 +81,15 @@ class ListController extends Controller
|
|||||||
|
|
||||||
$collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
|
$collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
|
||||||
$collector->setTypes($types);
|
$collector->setTypes($types);
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.budgets.limits.transactions', [$budget->id, $budgetLimit->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.limits.transactions', [$budget->id, $budgetLimit->id]).$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -74,7 +74,7 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(Budget $budget): JsonResponse
|
public function index(Budget $budget): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$manager->parseIncludes('budget');
|
$manager->parseIncludes('budget');
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
|
$collection = $this->blRepository->getBudgetLimits($budget, $this->parameters->get('start'), $this->parameters->get('end'));
|
||||||
@@ -84,10 +84,10 @@ class ShowController extends Controller
|
|||||||
$paginator->setPath(route('api.v1.budgets.limits.index', [$budget->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.budgets.limits.index', [$budget->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -103,7 +103,7 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function indexAll(SameDateRequest $request): JsonResponse
|
public function indexAll(SameDateRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$manager->parseIncludes('budget');
|
$manager->parseIncludes('budget');
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->blRepository->getAllBudgetLimits($this->parameters->get('start'), $this->parameters->get('end'));
|
$collection = $this->blRepository->getAllBudgetLimits($this->parameters->get('start'), $this->parameters->get('end'));
|
||||||
@@ -113,10 +113,10 @@ class ShowController extends Controller
|
|||||||
$paginator->setPath(route('api.v1.budget-limits.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.budget-limits.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -134,13 +134,13 @@ class ShowController extends Controller
|
|||||||
throw new FireflyException('20028: The budget limit does not belong to the budget.');
|
throw new FireflyException('20028: The budget limit does not belong to the budget.');
|
||||||
}
|
}
|
||||||
// continue!
|
// continue!
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
|
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -70,14 +70,14 @@ class StoreController extends Controller
|
|||||||
$data['end_date'] = $data['end'];
|
$data['end_date'] = $data['end'];
|
||||||
$data['budget_id'] = $budget->id;
|
$data['budget_id'] = $budget->id;
|
||||||
|
|
||||||
$budgetLimit = $this->blRepository->store($data);
|
$budgetLimit = $this->blRepository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
|
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -80,10 +80,10 @@ class UpdateController extends Controller
|
|||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
|
$resource = new Item($budgetLimit, $transformer, 'budget_limits');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -71,22 +71,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(Category $category): JsonResponse
|
public function attachments(Category $category): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttachments($category);
|
$collection = $this->repository->getAttachments($category);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.categories.attachments', [$category->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.categories.attachments', [$category->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -102,19 +102,19 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Category $category): JsonResponse
|
public function transactions(Request $request, Category $category): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on category.
|
// filter on category.
|
||||||
@@ -136,15 +136,15 @@ class ListController extends Controller
|
|||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.categories.transactions', [$category->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.categories.transactions', [$category->id]).$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -67,24 +67,24 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->getCategories();
|
$collection = $this->repository->getCategories();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$categories = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$categories = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($categories, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($categories, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.categories.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.categories.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var CategoryTransformer $transformer */
|
/** @var CategoryTransformer $transformer */
|
||||||
$transformer = app(CategoryTransformer::class);
|
$transformer = app(CategoryTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new FractalCollection($categories, $transformer, 'categories');
|
$resource = new FractalCollection($categories, $transformer, 'categories');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -98,13 +98,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Category $category): JsonResponse
|
public function show(Category $category): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var CategoryTransformer $transformer */
|
/** @var CategoryTransformer $transformer */
|
||||||
$transformer = app(CategoryTransformer::class);
|
$transformer = app(CategoryTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($category, $transformer, 'categories');
|
$resource = new Item($category, $transformer, 'categories');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -64,14 +64,14 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$category = $this->repository->store($request->getAll());
|
$category = $this->repository->store($request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var CategoryTransformer $transformer */
|
/** @var CategoryTransformer $transformer */
|
||||||
$transformer = app(CategoryTransformer::class);
|
$transformer = app(CategoryTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($category, $transformer, 'categories');
|
$resource = new Item($category, $transformer, 'categories');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -62,15 +62,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, Category $category): JsonResponse
|
public function update(UpdateRequest $request, Category $category): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$category = $this->repository->update($category, $data);
|
$category = $this->repository->update($category, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var CategoryTransformer $transformer */
|
/** @var CategoryTransformer $transformer */
|
||||||
$transformer = app(CategoryTransformer::class);
|
$transformer = app(CategoryTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($category, $transformer, 'categories');
|
$resource = new Item($category, $transformer, 'categories');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -70,23 +70,23 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function bills(ObjectGroup $objectGroup): JsonResponse
|
public function bills(ObjectGroup $objectGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
// get list of piggy banks. Count it and split it.
|
// get list of piggy banks. Count it and split it.
|
||||||
$collection = $this->repository->getBills($objectGroup);
|
$collection = $this->repository->getBills($objectGroup);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.bills', [$objectGroup->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var BillTransformer $transformer */
|
/** @var BillTransformer $transformer */
|
||||||
$transformer = app(BillTransformer::class);
|
$transformer = app(BillTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($bills, $transformer, 'bills');
|
$resource = new FractalCollection($bills, $transformer, 'bills');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -103,25 +103,25 @@ class ListController extends Controller
|
|||||||
public function piggyBanks(ObjectGroup $objectGroup): JsonResponse
|
public function piggyBanks(ObjectGroup $objectGroup): JsonResponse
|
||||||
{
|
{
|
||||||
// create some objects:
|
// create some objects:
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of piggy banks. Count it and split it.
|
// get list of piggy banks. Count it and split it.
|
||||||
$collection = $this->repository->getPiggyBanks($objectGroup);
|
$collection = $this->repository->getPiggyBanks($objectGroup);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.object-groups.piggy-banks', [$objectGroup->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.object-groups.piggy-banks', [$objectGroup->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var PiggyBankTransformer $transformer */
|
/** @var PiggyBankTransformer $transformer */
|
||||||
$transformer = app(PiggyBankTransformer::class);
|
$transformer = app(PiggyBankTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks');
|
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -67,10 +67,10 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
$this->repository->resetOrder();
|
$this->repository->resetOrder();
|
||||||
$collection = $this->repository->get();
|
$collection = $this->repository->get();
|
||||||
@@ -78,14 +78,14 @@ class ShowController extends Controller
|
|||||||
$objectGroups = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$objectGroups = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($objectGroups, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($objectGroups, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.object-groups.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.object-groups.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var ObjectGroupTransformer $transformer */
|
/** @var ObjectGroupTransformer $transformer */
|
||||||
$transformer = app(ObjectGroupTransformer::class);
|
$transformer = app(ObjectGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($objectGroups, $transformer, 'object_groups');
|
$resource = new FractalCollection($objectGroups, $transformer, 'object_groups');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -99,14 +99,14 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(ObjectGroup $objectGroup): JsonResponse
|
public function show(ObjectGroup $objectGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$this->repository->resetOrder();
|
$this->repository->resetOrder();
|
||||||
$objectGroup->refresh();
|
$objectGroup->refresh();
|
||||||
|
|
||||||
/** @var ObjectGroupTransformer $transformer */
|
/** @var ObjectGroupTransformer $transformer */
|
||||||
$transformer = app(ObjectGroupTransformer::class);
|
$transformer = app(ObjectGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($objectGroup, $transformer, 'object_groups');
|
$resource = new Item($objectGroup, $transformer, 'object_groups');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -63,15 +63,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, ObjectGroup $objectGroup): JsonResponse
|
public function update(UpdateRequest $request, ObjectGroup $objectGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getUpdateData();
|
$data = $request->getUpdateData();
|
||||||
$this->repository->update($objectGroup, $data);
|
$this->repository->update($objectGroup, $data);
|
||||||
$this->repository->resetOrder();
|
$this->repository->resetOrder();
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var ObjectGroupTransformer $transformer */
|
/** @var ObjectGroupTransformer $transformer */
|
||||||
$transformer = app(ObjectGroupTransformer::class);
|
$transformer = app(ObjectGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($objectGroup, $transformer, 'object_groups');
|
$resource = new Item($objectGroup, $transformer, 'object_groups');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -65,22 +65,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(PiggyBank $piggyBank): JsonResponse
|
public function attachments(PiggyBank $piggyBank): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttachments($piggyBank);
|
$collection = $this->repository->getAttachments($piggyBank);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.piggy-banks.attachments', [$piggyBank->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.piggy-banks.attachments', [$piggyBank->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -97,22 +97,22 @@ class ListController extends Controller
|
|||||||
public function piggyBankEvents(PiggyBank $piggyBank): JsonResponse
|
public function piggyBankEvents(PiggyBank $piggyBank): JsonResponse
|
||||||
{
|
{
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
$collection = $this->repository->getEvents($piggyBank);
|
$collection = $this->repository->getEvents($piggyBank);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$events = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$events = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.piggy-banks.events', [$piggyBank->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.piggy-banks.events', [$piggyBank->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var PiggyBankEventTransformer $transformer */
|
/** @var PiggyBankEventTransformer $transformer */
|
||||||
$transformer = app(PiggyBankEventTransformer::class);
|
$transformer = app(PiggyBankEventTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($events, $transformer, 'piggy_bank_events');
|
$resource = new FractalCollection($events, $transformer, 'piggy_bank_events');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -67,24 +67,24 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->getPiggyBanks();
|
$collection = $this->repository->getPiggyBanks();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.piggy-banks.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.piggy-banks.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var PiggyBankTransformer $transformer */
|
/** @var PiggyBankTransformer $transformer */
|
||||||
$transformer = app(PiggyBankTransformer::class);
|
$transformer = app(PiggyBankTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks');
|
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -98,13 +98,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(PiggyBank $piggyBank): JsonResponse
|
public function show(PiggyBank $piggyBank): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var PiggyBankTransformer $transformer */
|
/** @var PiggyBankTransformer $transformer */
|
||||||
$transformer = app(PiggyBankTransformer::class);
|
$transformer = app(PiggyBankTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -64,14 +64,14 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$piggyBank = $this->repository->store($request->getAll());
|
$piggyBank = $this->repository->store($request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var PiggyBankTransformer $transformer */
|
/** @var PiggyBankTransformer $transformer */
|
||||||
$transformer = app(PiggyBankTransformer::class);
|
$transformer = app(PiggyBankTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -62,20 +62,20 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, PiggyBank $piggyBank): JsonResponse
|
public function update(UpdateRequest $request, PiggyBank $piggyBank): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$piggyBank = $this->repository->update($piggyBank, $data);
|
$piggyBank = $this->repository->update($piggyBank, $data);
|
||||||
|
|
||||||
if (array_key_exists('current_amount', $data) && '' !== $data['current_amount']) {
|
if (array_key_exists('current_amount', $data) && '' !== $data['current_amount']) {
|
||||||
$this->repository->setCurrentAmount($piggyBank, $data['current_amount']);
|
$this->repository->setCurrentAmount($piggyBank, $data['current_amount']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var PiggyBankTransformer $transformer */
|
/** @var PiggyBankTransformer $transformer */
|
||||||
$transformer = app(PiggyBankTransformer::class);
|
$transformer = app(PiggyBankTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -71,21 +71,21 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Recurrence $recurrence): JsonResponse
|
public function transactions(Request $request, Recurrence $recurrence): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// whatever is returned by the query, it must be part of these journals:
|
// whatever is returned by the query, it must be part of these journals:
|
||||||
$journalIds = $this->repository->getJournalIds($recurrence);
|
$journalIds = $this->repository->getJournalIds($recurrence);
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on journal IDs.
|
// filter on journal IDs.
|
||||||
@@ -107,15 +107,15 @@ class ListController extends Controller
|
|||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -67,25 +67,25 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->get();
|
$collection = $this->repository->get();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.recurrences.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.recurrences.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var RecurrenceTransformer $transformer */
|
/** @var RecurrenceTransformer $transformer */
|
||||||
$transformer = app(RecurrenceTransformer::class);
|
$transformer = app(RecurrenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($piggyBanks, $transformer, 'recurrences');
|
$resource = new FractalCollection($piggyBanks, $transformer, 'recurrences');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -99,13 +99,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Recurrence $recurrence): JsonResponse
|
public function show(Recurrence $recurrence): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RecurrenceTransformer $transformer */
|
/** @var RecurrenceTransformer $transformer */
|
||||||
$transformer = app(RecurrenceTransformer::class);
|
$transformer = app(RecurrenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($recurrence, $transformer, 'recurrences');
|
$resource = new Item($recurrence, $transformer, 'recurrences');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -64,15 +64,15 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$recurrence = $this->repository->store($data);
|
$recurrence = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RecurrenceTransformer $transformer */
|
/** @var RecurrenceTransformer $transformer */
|
||||||
$transformer = app(RecurrenceTransformer::class);
|
$transformer = app(RecurrenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($recurrence, $transformer, 'recurrences');
|
$resource = new Item($recurrence, $transformer, 'recurrences');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -62,15 +62,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, Recurrence $recurrence): JsonResponse
|
public function update(UpdateRequest $request, Recurrence $recurrence): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$recurrence = $this->repository->update($recurrence, $data);
|
$recurrence = $this->repository->update($recurrence, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RecurrenceTransformer $transformer */
|
/** @var RecurrenceTransformer $transformer */
|
||||||
$transformer = app(RecurrenceTransformer::class);
|
$transformer = app(RecurrenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($recurrence, $transformer, 'recurrences');
|
$resource = new Item($recurrence, $transformer, 'recurrences');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -45,7 +45,7 @@ class DestroyController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
||||||
$this->ruleRepository->setUser($user);
|
$this->ruleRepository->setUser($user);
|
||||||
|
@@ -51,7 +51,7 @@ class ShowController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
||||||
$this->ruleRepository->setUser($user);
|
$this->ruleRepository->setUser($user);
|
||||||
@@ -71,25 +71,25 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->ruleRepository->getAll();
|
$collection = $this->ruleRepository->getAll();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.rules.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.rules.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($rules, $transformer, 'rules');
|
$resource = new FractalCollection($rules, $transformer, 'rules');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -103,13 +103,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Rule $rule): JsonResponse
|
public function show(Rule $rule): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($rule, $transformer, 'rules');
|
$resource = new Item($rule, $transformer, 'rules');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,7 @@ class StoreController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
||||||
$this->ruleRepository->setUser($user);
|
$this->ruleRepository->setUser($user);
|
||||||
@@ -65,14 +65,14 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$rule = $this->ruleRepository->store($request->getAll());
|
$rule = $this->ruleRepository->store($request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($rule, $transformer, 'rules');
|
$resource = new Item($rule, $transformer, 'rules');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,7 @@ class TriggerController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
||||||
$this->ruleRepository->setUser($user);
|
$this->ruleRepository->setUser($user);
|
||||||
@@ -69,10 +69,10 @@ class TriggerController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function testRule(TestRequest $request, Rule $rule): JsonResponse
|
public function testRule(TestRequest $request, Rule $rule): JsonResponse
|
||||||
{
|
{
|
||||||
$parameters = $request->getTestParameters();
|
$parameters = $request->getTestParameters();
|
||||||
|
|
||||||
/** @var RuleEngineInterface $ruleEngine */
|
/** @var RuleEngineInterface $ruleEngine */
|
||||||
$ruleEngine = app(RuleEngineInterface::class);
|
$ruleEngine = app(RuleEngineInterface::class);
|
||||||
$ruleEngine->setRules(new Collection([$rule]));
|
$ruleEngine->setRules(new Collection([$rule]));
|
||||||
|
|
||||||
// overrule the rule(s) if necessary.
|
// overrule the rule(s) if necessary.
|
||||||
@@ -93,17 +93,17 @@ class TriggerController extends Controller
|
|||||||
$transactions = $ruleEngine->find();
|
$transactions = $ruleEngine->find();
|
||||||
$count = $transactions->count();
|
$count = $transactions->count();
|
||||||
|
|
||||||
$paginator = new LengthAwarePaginator($transactions, $count, 31337, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($transactions, $count, 31337, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.rules.test', [$rule->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.rules.test', [$rule->id]).$this->buildParams());
|
||||||
|
|
||||||
// resulting list is presented as JSON thing.
|
// resulting list is presented as JSON thing.
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -48,7 +48,7 @@ class UpdateController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
$this->ruleRepository = app(RuleRepositoryInterface::class);
|
||||||
$this->ruleRepository->setUser($user);
|
$this->ruleRepository->setUser($user);
|
||||||
@@ -66,15 +66,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, Rule $rule): JsonResponse
|
public function update(UpdateRequest $request, Rule $rule): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$rule = $this->ruleRepository->update($rule, $data);
|
$rule = $this->ruleRepository->update($rule, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($rule, $transformer, 'rules');
|
$resource = new Item($rule, $transformer, 'rules');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -45,7 +45,7 @@ class DestroyController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
||||||
$this->ruleGroupRepository->setUser($user);
|
$this->ruleGroupRepository->setUser($user);
|
||||||
|
@@ -50,7 +50,7 @@ class ListController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
||||||
$this->ruleGroupRepository->setUser($user);
|
$this->ruleGroupRepository->setUser($user);
|
||||||
@@ -68,24 +68,24 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function rules(RuleGroup $group): JsonResponse
|
public function rules(RuleGroup $group): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->ruleGroupRepository->getRules($group);
|
$collection = $this->ruleGroupRepository->getRules($group);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.rule-groups.rules', [$group->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.rule-groups.rules', [$group->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($rules, $transformer, 'rules');
|
$resource = new FractalCollection($rules, $transformer, 'rules');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -51,7 +51,7 @@ class ShowController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
||||||
$this->ruleGroupRepository->setUser($user);
|
$this->ruleGroupRepository->setUser($user);
|
||||||
@@ -70,24 +70,24 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of rule groups. Count it and split it.
|
// get list of rule groups. Count it and split it.
|
||||||
$collection = $this->ruleGroupRepository->get();
|
$collection = $this->ruleGroupRepository->get();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$ruleGroups = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$ruleGroups = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($ruleGroups, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($ruleGroups, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.rule-groups.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.rule-groups.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var RuleGroupTransformer $transformer */
|
/** @var RuleGroupTransformer $transformer */
|
||||||
$transformer = app(RuleGroupTransformer::class);
|
$transformer = app(RuleGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($ruleGroups, $transformer, 'rule_groups');
|
$resource = new FractalCollection($ruleGroups, $transformer, 'rule_groups');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -101,13 +101,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(RuleGroup $ruleGroup): JsonResponse
|
public function show(RuleGroup $ruleGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RuleGroupTransformer $transformer */
|
/** @var RuleGroupTransformer $transformer */
|
||||||
$transformer = app(RuleGroupTransformer::class);
|
$transformer = app(RuleGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
|
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -49,12 +49,12 @@ class StoreController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
||||||
$this->ruleGroupRepository->setUser($user);
|
$this->ruleGroupRepository->setUser($user);
|
||||||
|
|
||||||
$this->accountRepository = app(AccountRepositoryInterface::class);
|
$this->accountRepository = app(AccountRepositoryInterface::class);
|
||||||
$this->accountRepository->setUser($user);
|
$this->accountRepository->setUser($user);
|
||||||
|
|
||||||
return $next($request);
|
return $next($request);
|
||||||
@@ -70,14 +70,14 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$ruleGroup = $this->ruleGroupRepository->store($request->getAll());
|
$ruleGroup = $this->ruleGroupRepository->store($request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RuleGroupTransformer $transformer */
|
/** @var RuleGroupTransformer $transformer */
|
||||||
$transformer = app(RuleGroupTransformer::class);
|
$transformer = app(RuleGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
|
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,7 @@ class TriggerController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
||||||
$this->ruleGroupRepository->setUser($user);
|
$this->ruleGroupRepository->setUser($user);
|
||||||
@@ -71,14 +71,14 @@ class TriggerController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function testGroup(TestRequest $request, RuleGroup $group): JsonResponse
|
public function testGroup(TestRequest $request, RuleGroup $group): JsonResponse
|
||||||
{
|
{
|
||||||
$rules = $this->ruleGroupRepository->getActiveRules($group);
|
$rules = $this->ruleGroupRepository->getActiveRules($group);
|
||||||
if (0 === $rules->count()) {
|
if (0 === $rules->count()) {
|
||||||
throw new FireflyException('200023: No rules in this rule group.');
|
throw new FireflyException('200023: No rules in this rule group.');
|
||||||
}
|
}
|
||||||
$parameters = $request->getTestParameters();
|
$parameters = $request->getTestParameters();
|
||||||
|
|
||||||
/** @var RuleEngineInterface $ruleEngine */
|
/** @var RuleEngineInterface $ruleEngine */
|
||||||
$ruleEngine = app(RuleEngineInterface::class);
|
$ruleEngine = app(RuleEngineInterface::class);
|
||||||
$ruleEngine->setRules($rules);
|
$ruleEngine->setRules($rules);
|
||||||
|
|
||||||
// overrule the rule(s) if necessary.
|
// overrule the rule(s) if necessary.
|
||||||
@@ -99,17 +99,17 @@ class TriggerController extends Controller
|
|||||||
$transactions = $ruleEngine->find();
|
$transactions = $ruleEngine->find();
|
||||||
$count = $transactions->count();
|
$count = $transactions->count();
|
||||||
|
|
||||||
$paginator = new LengthAwarePaginator($transactions, $count, 31337, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($transactions, $count, 31337, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.rule-groups.test', [$group->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.rule-groups.test', [$group->id]).$this->buildParams());
|
||||||
|
|
||||||
// resulting list is presented as JSON thing.
|
// resulting list is presented as JSON thing.
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -125,7 +125,7 @@ class TriggerController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function triggerGroup(TriggerRequest $request, RuleGroup $group): JsonResponse
|
public function triggerGroup(TriggerRequest $request, RuleGroup $group): JsonResponse
|
||||||
{
|
{
|
||||||
$rules = $this->ruleGroupRepository->getActiveRules($group);
|
$rules = $this->ruleGroupRepository->getActiveRules($group);
|
||||||
if (0 === $rules->count()) {
|
if (0 === $rules->count()) {
|
||||||
throw new FireflyException('200023: No rules in this rule group.');
|
throw new FireflyException('200023: No rules in this rule group.');
|
||||||
}
|
}
|
||||||
|
@@ -48,7 +48,7 @@ class UpdateController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
$this->ruleGroupRepository = app(RuleGroupRepositoryInterface::class);
|
||||||
$this->ruleGroupRepository->setUser($user);
|
$this->ruleGroupRepository->setUser($user);
|
||||||
@@ -66,14 +66,14 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, RuleGroup $ruleGroup): JsonResponse
|
public function update(UpdateRequest $request, RuleGroup $ruleGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$ruleGroup = $this->ruleGroupRepository->update($ruleGroup, $request->getAll());
|
$ruleGroup = $this->ruleGroupRepository->update($ruleGroup, $request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var RuleGroupTransformer $transformer */
|
/** @var RuleGroupTransformer $transformer */
|
||||||
$transformer = app(RuleGroupTransformer::class);
|
$transformer = app(RuleGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
|
$resource = new Item($ruleGroup, $transformer, 'rule_groups');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -45,7 +45,7 @@ class DestroyController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(TagRepositoryInterface::class);
|
$this->repository = app(TagRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
|
@@ -56,7 +56,7 @@ class ListController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(TagRepositoryInterface::class);
|
$this->repository = app(TagRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
@@ -74,22 +74,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(Tag $tag): JsonResponse
|
public function attachments(Tag $tag): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttachments($tag);
|
$collection = $this->repository->getAttachments($tag);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.tags.attachments', [$tag->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.tags.attachments', [$tag->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -105,19 +105,19 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, Tag $tag): JsonResponse
|
public function transactions(Request $request, Tag $tag): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on tag.
|
// filter on tag.
|
||||||
@@ -138,15 +138,15 @@ class ListController extends Controller
|
|||||||
if (null !== $this->parameters->get('end')) {
|
if (null !== $this->parameters->get('end')) {
|
||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.tags.transactions', [$tag->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.tags.transactions', [$tag->id]).$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -51,7 +51,7 @@ class ShowController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(TagRepositoryInterface::class);
|
$this->repository = app(TagRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
@@ -71,24 +71,24 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
$collection = $this->repository->get();
|
$collection = $this->repository->get();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.tags.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.tags.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var TagTransformer $transformer */
|
/** @var TagTransformer $transformer */
|
||||||
$transformer = app(TagTransformer::class);
|
$transformer = app(TagTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($rules, $transformer, 'tags');
|
$resource = new FractalCollection($rules, $transformer, 'tags');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -102,13 +102,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Tag $tag): JsonResponse
|
public function show(Tag $tag): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var TagTransformer $transformer */
|
/** @var TagTransformer $transformer */
|
||||||
$transformer = app(TagTransformer::class);
|
$transformer = app(TagTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($tag, $transformer, 'tags');
|
$resource = new Item($tag, $transformer, 'tags');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,7 @@ class StoreController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(TagRepositoryInterface::class);
|
$this->repository = app(TagRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
@@ -65,14 +65,14 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$rule = $this->repository->store($request->getAll());
|
$rule = $this->repository->store($request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var TagTransformer $transformer */
|
/** @var TagTransformer $transformer */
|
||||||
$transformer = app(TagTransformer::class);
|
$transformer = app(TagTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($rule, $transformer, 'tags');
|
$resource = new Item($rule, $transformer, 'tags');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -48,7 +48,7 @@ class UpdateController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(TagRepositoryInterface::class);
|
$this->repository = app(TagRepositoryInterface::class);
|
||||||
$this->repository->setUser($user);
|
$this->repository->setUser($user);
|
||||||
@@ -66,14 +66,14 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, Tag $tag): JsonResponse
|
public function update(UpdateRequest $request, Tag $tag): JsonResponse
|
||||||
{
|
{
|
||||||
$rule = $this->repository->update($tag, $request->getAll());
|
$rule = $this->repository->update($tag, $request->getAll());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var TagTransformer $transformer */
|
/** @var TagTransformer $transformer */
|
||||||
$transformer = app(TagTransformer::class);
|
$transformer = app(TagTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($rule, $transformer, 'tags');
|
$resource = new Item($rule, $transformer, 'tags');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -51,9 +51,9 @@ class DestroyController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(JournalRepositoryInterface::class);
|
$this->repository = app(JournalRepositoryInterface::class);
|
||||||
$this->repository->setUser($admin);
|
$this->repository->setUser($admin);
|
||||||
|
|
||||||
$this->groupRepository = app(TransactionGroupRepository::class);
|
$this->groupRepository = app(TransactionGroupRepository::class);
|
||||||
|
@@ -54,7 +54,7 @@ class ListController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
$this->journalAPIRepository = app(JournalAPIRepositoryInterface::class);
|
$this->journalAPIRepository = app(JournalAPIRepositoryInterface::class);
|
||||||
$this->journalAPIRepository->setUser($admin);
|
$this->journalAPIRepository->setUser($admin);
|
||||||
@@ -72,9 +72,9 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function attachments(TransactionGroup $transactionGroup): JsonResponse
|
public function attachments(TransactionGroup $transactionGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = new Collection();
|
$collection = new Collection();
|
||||||
foreach ($transactionGroup->transactionJournals as $transactionJournal) {
|
foreach ($transactionGroup->transactionJournals as $transactionJournal) {
|
||||||
$collection = $this->journalAPIRepository->getAttachments($transactionJournal)->merge($collection);
|
$collection = $this->journalAPIRepository->getAttachments($transactionJournal)->merge($collection);
|
||||||
}
|
}
|
||||||
@@ -83,14 +83,14 @@ class ListController extends Controller
|
|||||||
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attachments = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attachments, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.transactions.attachments', [$transactionGroup->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.transactions.attachments', [$transactionGroup->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AttachmentTransformer $transformer */
|
/** @var AttachmentTransformer $transformer */
|
||||||
$transformer = app(AttachmentTransformer::class);
|
$transformer = app(AttachmentTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
$resource = new FractalCollection($attachments, $transformer, 'attachments');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -104,23 +104,23 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function piggyBankEvents(TransactionGroup $transactionGroup): JsonResponse
|
public function piggyBankEvents(TransactionGroup $transactionGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$collection = new Collection();
|
$collection = new Collection();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
foreach ($transactionGroup->transactionJournals as $transactionJournal) {
|
foreach ($transactionGroup->transactionJournals as $transactionJournal) {
|
||||||
$collection = $this->journalAPIRepository->getPiggyBankEvents($transactionJournal)->merge($collection);
|
$collection = $this->journalAPIRepository->getPiggyBankEvents($transactionJournal)->merge($collection);
|
||||||
}
|
}
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$events = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$events = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.transactions.piggy-bank-events', [$transactionGroup->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.transactions.piggy-bank-events', [$transactionGroup->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var PiggyBankEventTransformer $transformer */
|
/** @var PiggyBankEventTransformer $transformer */
|
||||||
$transformer = app(PiggyBankEventTransformer::class);
|
$transformer = app(PiggyBankEventTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($events, $transformer, 'piggy_bank_events');
|
$resource = new FractalCollection($events, $transformer, 'piggy_bank_events');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
// /** @var PiggyBankEventTransformer $transformer */
|
// /** @var PiggyBankEventTransformer $transformer */
|
||||||
// $transformer = app(PiggyBankEventTransformer::class);
|
// $transformer = app(PiggyBankEventTransformer::class);
|
||||||
@@ -146,14 +146,14 @@ class ListController extends Controller
|
|||||||
$journalLinks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$journalLinks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($journalLinks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($journalLinks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.transaction-journals.transaction-links', [$transactionJournal->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.transaction-journals.transaction-links', [$transactionJournal->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var TransactionLinkTransformer $transformer */
|
/** @var TransactionLinkTransformer $transformer */
|
||||||
$transformer = app(TransactionLinkTransformer::class);
|
$transformer = app(TransactionLinkTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($journalLinks, $transformer, 'transaction_links');
|
$resource = new FractalCollection($journalLinks, $transformer, 'transaction_links');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -55,19 +55,19 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(Request $request): JsonResponse
|
public function index(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// all info needed for the API:
|
// all info needed for the API:
|
||||||
@@ -82,15 +82,15 @@ class ShowController extends Controller
|
|||||||
if (null !== $this->parameters->get('start') || null !== $this->parameters->get('end')) {
|
if (null !== $this->parameters->get('start') || null !== $this->parameters->get('end')) {
|
||||||
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
|
$collector->setRange($this->parameters->get('start'), $this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -115,14 +115,14 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(TransactionGroup $transactionGroup): JsonResponse
|
public function show(TransactionGroup $transactionGroup): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on transaction group.
|
// filter on transaction group.
|
||||||
@@ -137,9 +137,9 @@ class ShowController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($selectedGroup, $transformer, 'transactions');
|
$resource = new Item($selectedGroup, $transformer, 'transactions');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -57,7 +57,7 @@ class StoreController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
$this->groupRepository = app(TransactionGroupRepositoryInterface::class);
|
$this->groupRepository = app(TransactionGroupRepositoryInterface::class);
|
||||||
$this->groupRepository->setUser($admin);
|
$this->groupRepository->setUser($admin);
|
||||||
@@ -78,8 +78,8 @@ class StoreController extends Controller
|
|||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
app('log')->debug('Now in API StoreController::store()');
|
app('log')->debug('Now in API StoreController::store()');
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$data['user'] = auth()->user()->id;
|
$data['user'] = auth()->user()->id;
|
||||||
|
|
||||||
Log::channel('audit')
|
Log::channel('audit')
|
||||||
->info('Store new transaction over API.', $data)
|
->info('Store new transaction over API.', $data)
|
||||||
@@ -104,18 +104,18 @@ class StoreController extends Controller
|
|||||||
throw new ValidationException($validator); // @phpstan-ignore-line
|
throw new ValidationException($validator); // @phpstan-ignore-line
|
||||||
}
|
}
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
$applyRules = $data['apply_rules'] ?? true;
|
$applyRules = $data['apply_rules'] ?? true;
|
||||||
$fireWebhooks = $data['fire_webhooks'] ?? true;
|
$fireWebhooks = $data['fire_webhooks'] ?? true;
|
||||||
event(new StoredTransactionGroup($transactionGroup, $applyRules, $fireWebhooks));
|
event(new StoredTransactionGroup($transactionGroup, $applyRules, $fireWebhooks));
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on transaction group.
|
// filter on transaction group.
|
||||||
@@ -130,9 +130,9 @@ class StoreController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($selectedGroup, $transformer, 'transactions');
|
$resource = new Item($selectedGroup, $transformer, 'transactions');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,7 @@ class UpdateController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
$this->groupRepository = app(TransactionGroupRepositoryInterface::class);
|
$this->groupRepository = app(TransactionGroupRepositoryInterface::class);
|
||||||
$this->groupRepository->setUser($admin);
|
$this->groupRepository->setUser($admin);
|
||||||
@@ -70,22 +70,22 @@ class UpdateController extends Controller
|
|||||||
public function update(UpdateRequest $request, TransactionGroup $transactionGroup): JsonResponse
|
public function update(UpdateRequest $request, TransactionGroup $transactionGroup): JsonResponse
|
||||||
{
|
{
|
||||||
app('log')->debug('Now in update routine for transaction group!');
|
app('log')->debug('Now in update routine for transaction group!');
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
|
|
||||||
$transactionGroup = $this->groupRepository->update($transactionGroup, $data);
|
$transactionGroup = $this->groupRepository->update($transactionGroup, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
$applyRules = $data['apply_rules'] ?? true;
|
$applyRules = $data['apply_rules'] ?? true;
|
||||||
$fireWebhooks = $data['fire_webhooks'] ?? true;
|
$fireWebhooks = $data['fire_webhooks'] ?? true;
|
||||||
event(new UpdatedTransactionGroup($transactionGroup, $applyRules, $fireWebhooks));
|
event(new UpdatedTransactionGroup($transactionGroup, $applyRules, $fireWebhooks));
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on transaction group.
|
// filter on transaction group.
|
||||||
@@ -94,15 +94,15 @@ class UpdateController extends Controller
|
|||||||
->withAPIInformation()
|
->withAPIInformation()
|
||||||
;
|
;
|
||||||
|
|
||||||
$selectedGroup = $collector->getGroups()->first();
|
$selectedGroup = $collector->getGroups()->first();
|
||||||
if (null === $selectedGroup) {
|
if (null === $selectedGroup) {
|
||||||
throw new NotFoundHttpException();
|
throw new NotFoundHttpException();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($selectedGroup, $transformer, 'transactions');
|
$resource = new Item($selectedGroup, $transformer, 'transactions');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -73,15 +73,15 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function accounts(Request $request, TransactionCurrency $currency): JsonResponse
|
public function accounts(Request $request, TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// read type from URL
|
// read type from URL
|
||||||
$type = $request->get('type') ?? 'all';
|
$type = $request->get('type') ?? 'all';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$types = $this->mapAccountTypes($this->parameters->get('type'));
|
$types = $this->mapAccountTypes($this->parameters->get('type'));
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of accounts. Count it and split it.
|
// get list of accounts. Count it and split it.
|
||||||
/** @var AccountRepositoryInterface $accountRepository */
|
/** @var AccountRepositoryInterface $accountRepository */
|
||||||
@@ -89,7 +89,7 @@ class ListController extends Controller
|
|||||||
$unfiltered = $accountRepository->getAccountsByType($types);
|
$unfiltered = $accountRepository->getAccountsByType($types);
|
||||||
|
|
||||||
// filter list on currency preference:
|
// filter list on currency preference:
|
||||||
$collection = $unfiltered->filter(
|
$collection = $unfiltered->filter(
|
||||||
static function (Account $account) use ($currency, $accountRepository) {
|
static function (Account $account) use ($currency, $accountRepository) {
|
||||||
$currencyId = (int)$accountRepository->getMetaValue($account, 'currency_id');
|
$currencyId = (int)$accountRepository->getMetaValue($account, 'currency_id');
|
||||||
|
|
||||||
@@ -97,17 +97,17 @@ class ListController extends Controller
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$accounts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.currencies.accounts', [$currency->code]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.accounts', [$currency->code]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AccountTransformer $transformer */
|
/** @var AccountTransformer $transformer */
|
||||||
$transformer = app(AccountTransformer::class);
|
$transformer = app(AccountTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new FractalCollection($accounts, $transformer, 'accounts');
|
$resource = new FractalCollection($accounts, $transformer, 'accounts');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -123,26 +123,26 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function availableBudgets(TransactionCurrency $currency): JsonResponse
|
public function availableBudgets(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of available budgets. Count it and split it.
|
// get list of available budgets. Count it and split it.
|
||||||
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
||||||
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
||||||
|
|
||||||
$collection = $abRepository->getAvailableBudgetsByCurrency($currency);
|
$collection = $abRepository->getAvailableBudgetsByCurrency($currency);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($availableBudgets, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.currencies.available-budgets', [$currency->code]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.available-budgets', [$currency->code]).$this->buildParams());
|
||||||
|
|
||||||
/** @var AvailableBudgetTransformer $transformer */
|
/** @var AvailableBudgetTransformer $transformer */
|
||||||
$transformer = app(AvailableBudgetTransformer::class);
|
$transformer = app(AvailableBudgetTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($availableBudgets, $transformer, 'available_budgets');
|
$resource = new FractalCollection($availableBudgets, $transformer, 'available_budgets');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -158,31 +158,31 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function bills(TransactionCurrency $currency): JsonResponse
|
public function bills(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BillRepositoryInterface $billRepos */
|
/** @var BillRepositoryInterface $billRepos */
|
||||||
$billRepos = app(BillRepositoryInterface::class);
|
$billRepos = app(BillRepositoryInterface::class);
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$unfiltered = $billRepos->getBills();
|
$unfiltered = $billRepos->getBills();
|
||||||
|
|
||||||
// filter and paginate list:
|
// filter and paginate list:
|
||||||
$collection = $unfiltered->filter(
|
$collection = $unfiltered->filter(
|
||||||
static function (Bill $bill) use ($currency) {
|
static function (Bill $bill) use ($currency) {
|
||||||
return $bill->transaction_currency_id === $currency->id;
|
return $bill->transaction_currency_id === $currency->id;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($bills, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.currencies.bills', [$currency->code]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.bills', [$currency->code]).$this->buildParams());
|
||||||
|
|
||||||
/** @var BillTransformer $transformer */
|
/** @var BillTransformer $transformer */
|
||||||
$transformer = app(BillTransformer::class);
|
$transformer = app(BillTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($bills, $transformer, 'bills');
|
$resource = new FractalCollection($bills, $transformer, 'bills');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -210,10 +210,10 @@ class ListController extends Controller
|
|||||||
$paginator->setPath(route('api.v1.currencies.budget-limits', [$currency->code]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.budget-limits', [$currency->code]).$this->buildParams());
|
||||||
|
|
||||||
/** @var BudgetLimitTransformer $transformer */
|
/** @var BudgetLimitTransformer $transformer */
|
||||||
$transformer = app(BudgetLimitTransformer::class);
|
$transformer = app(BudgetLimitTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
$resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -229,9 +229,9 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function recurrences(TransactionCurrency $currency): JsonResponse
|
public function recurrences(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
/** @var RecurringRepositoryInterface $recurringRepos */
|
/** @var RecurringRepositoryInterface $recurringRepos */
|
||||||
@@ -239,7 +239,7 @@ class ListController extends Controller
|
|||||||
$unfiltered = $recurringRepos->getAll();
|
$unfiltered = $recurringRepos->getAll();
|
||||||
|
|
||||||
// filter selection
|
// filter selection
|
||||||
$collection = $unfiltered->filter( // @phpstan-ignore-line
|
$collection = $unfiltered->filter( // @phpstan-ignore-line
|
||||||
static function (Recurrence $recurrence) use ($currency) { // @phpstan-ignore-line
|
static function (Recurrence $recurrence) use ($currency) { // @phpstan-ignore-line
|
||||||
/** @var RecurrenceTransaction $transaction */
|
/** @var RecurrenceTransaction $transaction */
|
||||||
foreach ($recurrence->recurrenceTransactions as $transaction) {
|
foreach ($recurrence->recurrenceTransactions as $transaction) {
|
||||||
@@ -251,18 +251,18 @@ class ListController extends Controller
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.currencies.recurrences', [$currency->code]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.recurrences', [$currency->code]).$this->buildParams());
|
||||||
|
|
||||||
/** @var RecurrenceTransformer $transformer */
|
/** @var RecurrenceTransformer $transformer */
|
||||||
$transformer = app(RecurrenceTransformer::class);
|
$transformer = app(RecurrenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($piggyBanks, $transformer, 'recurrences');
|
$resource = new FractalCollection($piggyBanks, $transformer, 'recurrences');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -278,15 +278,15 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function rules(TransactionCurrency $currency): JsonResponse
|
public function rules(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
/** @var RuleRepositoryInterface $ruleRepos */
|
/** @var RuleRepositoryInterface $ruleRepos */
|
||||||
$ruleRepos = app(RuleRepositoryInterface::class);
|
$ruleRepos = app(RuleRepositoryInterface::class);
|
||||||
$unfiltered = $ruleRepos->getAll();
|
$unfiltered = $ruleRepos->getAll();
|
||||||
|
|
||||||
$collection = $unfiltered->filter( // @phpstan-ignore-line
|
$collection = $unfiltered->filter( // @phpstan-ignore-line
|
||||||
static function (Rule $rule) use ($currency) { // @phpstan-ignore-line
|
static function (Rule $rule) use ($currency) { // @phpstan-ignore-line
|
||||||
/** @var RuleTrigger $trigger */
|
/** @var RuleTrigger $trigger */
|
||||||
foreach ($rule->ruleTriggers as $trigger) {
|
foreach ($rule->ruleTriggers as $trigger) {
|
||||||
@@ -299,18 +299,18 @@ class ListController extends Controller
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$rules = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($rules, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.rules.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.rules.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var RuleTransformer $transformer */
|
/** @var RuleTransformer $transformer */
|
||||||
$transformer = app(RuleTransformer::class);
|
$transformer = app(RuleTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($rules, $transformer, 'rules');
|
$resource = new FractalCollection($rules, $transformer, 'rules');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -326,19 +326,19 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, TransactionCurrency $currency): JsonResponse
|
public function transactions(Request $request, TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on currency.
|
// filter on currency.
|
||||||
@@ -358,15 +358,15 @@ class ListController extends Controller
|
|||||||
if (null !== $this->parameters->get('end')) {
|
if (null !== $this->parameters->get('end')) {
|
||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.currencies.transactions', [$currency->code]).$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.transactions', [$currency->code]).$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -74,21 +74,21 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAll();
|
$collection = $this->repository->getAll();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
|
|
||||||
// slice them:
|
// slice them:
|
||||||
$currencies = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$currencies = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
$paginator = new LengthAwarePaginator($currencies, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($currencies, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.currencies.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.currencies.index').$this->buildParams());
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var CurrencyTransformer $transformer */
|
/** @var CurrencyTransformer $transformer */
|
||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($currencies, $transformer, 'currencies');
|
$resource = new FractalCollection($currencies, $transformer, 'currencies');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -114,10 +114,10 @@ class ShowController extends Controller
|
|||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
|
|
||||||
/** @var CurrencyTransformer $transformer */
|
/** @var CurrencyTransformer $transformer */
|
||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -133,9 +133,9 @@ class ShowController extends Controller
|
|||||||
public function showDefault(): JsonResponse
|
public function showDefault(): JsonResponse
|
||||||
{
|
{
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$currency = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
|
$currency = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
|
||||||
|
|
||||||
// update fields with user info.
|
// update fields with user info.
|
||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
@@ -144,7 +144,7 @@ class ShowController extends Controller
|
|||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -71,22 +71,22 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$currency = $this->repository->store($request->getAll());
|
$currency = $this->repository->store($request->getAll());
|
||||||
if (true === $request->boolean('default')) {
|
if (true === $request->boolean('default')) {
|
||||||
$this->repository->makeDefault($currency);
|
$this->repository->makeDefault($currency);
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
}
|
}
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
|
|
||||||
/** @var CurrencyTransformer $transformer */
|
/** @var CurrencyTransformer $transformer */
|
||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -82,9 +82,9 @@ class UpdateController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$this->repository->disable($currency);
|
$this->repository->disable($currency);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ class UpdateController extends Controller
|
|||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -108,20 +108,20 @@ class UpdateController extends Controller
|
|||||||
public function makeDefault(TransactionCurrency $currency): JsonResponse
|
public function makeDefault(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$this->repository->enable($currency);
|
$this->repository->enable($currency);
|
||||||
$this->repository->makeDefault($currency);
|
$this->repository->makeDefault($currency);
|
||||||
|
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
|
|
||||||
/** @var CurrencyTransformer $transformer */
|
/** @var CurrencyTransformer $transformer */
|
||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -137,10 +137,10 @@ class UpdateController extends Controller
|
|||||||
public function enable(TransactionCurrency $currency): JsonResponse
|
public function enable(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$this->repository->enable($currency);
|
$this->repository->enable($currency);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ class UpdateController extends Controller
|
|||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -163,28 +163,28 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, TransactionCurrency $currency): JsonResponse
|
public function update(UpdateRequest $request, TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
|
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
// safety catch on currency disablement.
|
// safety catch on currency disablement.
|
||||||
$set = $this->repository->get();
|
$set = $this->repository->get();
|
||||||
if (array_key_exists('enabled', $data) && false === $data['enabled'] && 1 === count($set) && $set->first()->id === $currency->id) {
|
if (array_key_exists('enabled', $data) && false === $data['enabled'] && 1 === count($set) && $set->first()->id === $currency->id) {
|
||||||
return response()->json([], 409);
|
return response()->json([], 409);
|
||||||
}
|
}
|
||||||
$currency = $this->repository->update($currency, $data);
|
$currency = $this->repository->update($currency, $data);
|
||||||
|
|
||||||
app('preferences')->mark();
|
app('preferences')->mark();
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$currency->refreshForUser($user);
|
$currency->refreshForUser($user);
|
||||||
|
|
||||||
/** @var CurrencyTransformer $transformer */
|
/** @var CurrencyTransformer $transformer */
|
||||||
$transformer = app(CurrencyTransformer::class);
|
$transformer = app(CurrencyTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($currency, $transformer, 'currencies');
|
$resource = new Item($currency, $transformer, 'currencies');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -46,7 +46,7 @@ class DestroyController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(LinkTypeRepositoryInterface::class);
|
$this->repository = app(LinkTypeRepositoryInterface::class);
|
||||||
|
|
||||||
|
@@ -53,7 +53,7 @@ class ShowController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(LinkTypeRepositoryInterface::class);
|
$this->repository = app(LinkTypeRepositoryInterface::class);
|
||||||
|
|
||||||
@@ -75,13 +75,13 @@ class ShowController extends Controller
|
|||||||
public function index(Request $request): JsonResponse
|
public function index(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
// create some objects:
|
// create some objects:
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// read type from URL
|
// read type from URL
|
||||||
$name = $request->get('name');
|
$name = $request->get('name');
|
||||||
|
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$linkType = $this->repository->findByName($name);
|
$linkType = $this->repository->findByName($name);
|
||||||
|
|
||||||
// get list of transaction links. Count it and split it.
|
// get list of transaction links. Count it and split it.
|
||||||
$collection = $this->repository->getJournalLinks($linkType);
|
$collection = $this->repository->getJournalLinks($linkType);
|
||||||
@@ -89,14 +89,14 @@ class ShowController extends Controller
|
|||||||
$journalLinks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$journalLinks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($journalLinks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($journalLinks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.transaction-links.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.transaction-links.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var TransactionLinkTransformer $transformer */
|
/** @var TransactionLinkTransformer $transformer */
|
||||||
$transformer = app(TransactionLinkTransformer::class);
|
$transformer = app(TransactionLinkTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($journalLinks, $transformer, 'transaction_links');
|
$resource = new FractalCollection($journalLinks, $transformer, 'transaction_links');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -110,13 +110,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(TransactionJournalLink $journalLink): JsonResponse
|
public function show(TransactionJournalLink $journalLink): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var TransactionLinkTransformer $transformer */
|
/** @var TransactionLinkTransformer $transformer */
|
||||||
$transformer = app(TransactionLinkTransformer::class);
|
$transformer = app(TransactionLinkTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($journalLink, $transformer, 'transaction_links');
|
$resource = new Item($journalLink, $transformer, 'transaction_links');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -54,7 +54,7 @@ class StoreController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(LinkTypeRepositoryInterface::class);
|
$this->repository = app(LinkTypeRepositoryInterface::class);
|
||||||
$this->journalRepository = app(JournalRepositoryInterface::class);
|
$this->journalRepository = app(JournalRepositoryInterface::class);
|
||||||
@@ -77,22 +77,22 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$inward = $this->journalRepository->find($data['inward_id'] ?? 0);
|
$inward = $this->journalRepository->find($data['inward_id'] ?? 0);
|
||||||
$outward = $this->journalRepository->find($data['outward_id'] ?? 0);
|
$outward = $this->journalRepository->find($data['outward_id'] ?? 0);
|
||||||
if (null === $inward || null === $outward) {
|
if (null === $inward || null === $outward) {
|
||||||
throw new FireflyException('200024: Source or destination does not exist.');
|
throw new FireflyException('200024: Source or destination does not exist.');
|
||||||
}
|
}
|
||||||
$data['direction'] = 'inward';
|
$data['direction'] = 'inward';
|
||||||
|
|
||||||
$journalLink = $this->repository->storeLink($data, $inward, $outward);
|
$journalLink = $this->repository->storeLink($data, $inward, $outward);
|
||||||
|
|
||||||
/** @var TransactionLinkTransformer $transformer */
|
/** @var TransactionLinkTransformer $transformer */
|
||||||
$transformer = app(TransactionLinkTransformer::class);
|
$transformer = app(TransactionLinkTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($journalLink, $transformer, 'transaction_links');
|
$resource = new Item($journalLink, $transformer, 'transaction_links');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,7 @@ class UpdateController extends Controller
|
|||||||
$this->middleware(
|
$this->middleware(
|
||||||
function ($request, $next) {
|
function ($request, $next) {
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
$this->repository = app(LinkTypeRepositoryInterface::class);
|
$this->repository = app(LinkTypeRepositoryInterface::class);
|
||||||
$this->journalRepository = app(JournalRepositoryInterface::class);
|
$this->journalRepository = app(JournalRepositoryInterface::class);
|
||||||
@@ -80,7 +80,7 @@ class UpdateController extends Controller
|
|||||||
$transformer = app(TransactionLinkTransformer::class);
|
$transformer = app(TransactionLinkTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($journalLink, $transformer, 'transaction_links');
|
$resource = new Item($journalLink, $transformer, 'transaction_links');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -72,22 +72,22 @@ class ListController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function transactions(Request $request, LinkType $linkType): JsonResponse
|
public function transactions(Request $request, LinkType $linkType): JsonResponse
|
||||||
{
|
{
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$type = $request->get('type') ?? 'default';
|
$type = $request->get('type') ?? 'default';
|
||||||
$this->parameters->set('type', $type);
|
$this->parameters->set('type', $type);
|
||||||
|
|
||||||
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
$types = $this->mapTransactionTypes($this->parameters->get('type'));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// whatever is returned by the query, it must be part of these journals:
|
// whatever is returned by the query, it must be part of these journals:
|
||||||
$journalIds = $this->repository->getJournalIds($linkType);
|
$journalIds = $this->repository->getJournalIds($linkType);
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
||||||
// use new group collector:
|
// use new group collector:
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector
|
$collector
|
||||||
->setUser($admin)
|
->setUser($admin)
|
||||||
// filter on journal IDs.
|
// filter on journal IDs.
|
||||||
@@ -107,15 +107,15 @@ class ListController extends Controller
|
|||||||
if (null !== $this->parameters->get('end')) {
|
if (null !== $this->parameters->get('end')) {
|
||||||
$collector->setEnd($this->parameters->get('end'));
|
$collector->setEnd($this->parameters->get('end'));
|
||||||
}
|
}
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.transactions.index').$this->buildParams());
|
||||||
$transactions = $paginator->getCollection();
|
$transactions = $paginator->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
$resource = new FractalCollection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -73,23 +73,23 @@ class ShowController extends Controller
|
|||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
// create some objects:
|
// create some objects:
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
|
|
||||||
// get list of accounts. Count it and split it.
|
// get list of accounts. Count it and split it.
|
||||||
$collection = $this->repository->get();
|
$collection = $this->repository->get();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$linkTypes = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$linkTypes = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($linkTypes, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($linkTypes, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.link-types.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.link-types.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var LinkTypeTransformer $transformer */
|
/** @var LinkTypeTransformer $transformer */
|
||||||
$transformer = app(LinkTypeTransformer::class);
|
$transformer = app(LinkTypeTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($linkTypes, $transformer, 'link_types');
|
$resource = new FractalCollection($linkTypes, $transformer, 'link_types');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -103,13 +103,13 @@ class ShowController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(LinkType $linkType): JsonResponse
|
public function show(LinkType $linkType): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var LinkTypeTransformer $transformer */
|
/** @var LinkTypeTransformer $transformer */
|
||||||
$transformer = app(LinkTypeTransformer::class);
|
$transformer = app(LinkTypeTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($linkType, $transformer, 'link_types');
|
$resource = new Item($linkType, $transformer, 'link_types');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -75,23 +75,23 @@ class StoreController extends Controller
|
|||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
$rules = ['name' => 'required'];
|
$rules = ['name' => 'required'];
|
||||||
|
|
||||||
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
||||||
// access denied:
|
// access denied:
|
||||||
$messages = ['name' => '200005: You need the "owner" role to do this.'];
|
$messages = ['name' => '200005: You need the "owner" role to do this.'];
|
||||||
\Validator::make([], $rules, $messages)->validate();
|
\Validator::make([], $rules, $messages)->validate();
|
||||||
}
|
}
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
// if currency ID is 0, find the currency by the code:
|
// if currency ID is 0, find the currency by the code:
|
||||||
$linkType = $this->repository->store($data);
|
$linkType = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var LinkTypeTransformer $transformer */
|
/** @var LinkTypeTransformer $transformer */
|
||||||
$transformer = app(LinkTypeTransformer::class);
|
$transformer = app(LinkTypeTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($linkType, $transformer, 'link_types');
|
$resource = new Item($linkType, $transformer, 'link_types');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -80,23 +80,23 @@ class UpdateController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @var User $admin */
|
/** @var User $admin */
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
$rules = ['name' => 'required'];
|
$rules = ['name' => 'required'];
|
||||||
|
|
||||||
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
||||||
$messages = ['name' => '200005: You need the "owner" role to do this.'];
|
$messages = ['name' => '200005: You need the "owner" role to do this.'];
|
||||||
\Validator::make([], $rules, $messages)->validate();
|
\Validator::make([], $rules, $messages)->validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$this->repository->update($linkType, $data);
|
$this->repository->update($linkType, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var LinkTypeTransformer $transformer */
|
/** @var LinkTypeTransformer $transformer */
|
||||||
$transformer = app(LinkTypeTransformer::class);
|
$transformer = app(LinkTypeTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($linkType, $transformer, 'link_types');
|
$resource = new Item($linkType, $transformer, 'link_types');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -63,32 +63,32 @@ class AccountController extends Controller
|
|||||||
public function search(Request $request): JsonResponse|Response
|
public function search(Request $request): JsonResponse|Response
|
||||||
{
|
{
|
||||||
app('log')->debug('Now in account search()');
|
app('log')->debug('Now in account search()');
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$query = trim((string)$request->get('query'));
|
$query = trim((string)$request->get('query'));
|
||||||
$field = trim((string)$request->get('field'));
|
$field = trim((string)$request->get('field'));
|
||||||
$type = $request->get('type') ?? 'all';
|
$type = $request->get('type') ?? 'all';
|
||||||
if ('' === $query || !in_array($field, $this->validFields, true)) {
|
if ('' === $query || !in_array($field, $this->validFields, true)) {
|
||||||
return response(null, 422);
|
return response(null, 422);
|
||||||
}
|
}
|
||||||
$types = $this->mapAccountTypes($type);
|
$types = $this->mapAccountTypes($type);
|
||||||
|
|
||||||
/** @var AccountSearch $search */
|
/** @var AccountSearch $search */
|
||||||
$search = app(AccountSearch::class);
|
$search = app(AccountSearch::class);
|
||||||
$search->setUser(auth()->user());
|
$search->setUser(auth()->user());
|
||||||
$search->setTypes($types);
|
$search->setTypes($types);
|
||||||
$search->setField($field);
|
$search->setField($field);
|
||||||
$search->setQuery($query);
|
$search->setQuery($query);
|
||||||
|
|
||||||
$accounts = $search->search();
|
$accounts = $search->search();
|
||||||
|
|
||||||
/** @var AccountTransformer $transformer */
|
/** @var AccountTransformer $transformer */
|
||||||
$transformer = app(AccountTransformer::class);
|
$transformer = app(AccountTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$count = $accounts->count();
|
$count = $accounts->count();
|
||||||
$perPage = 0 === $count ? 1 : $count;
|
$perPage = 0 === $count ? 1 : $count;
|
||||||
$paginator = new LengthAwarePaginator($accounts, $count, $perPage, 1);
|
$paginator = new LengthAwarePaginator($accounts, $count, $perPage, 1);
|
||||||
|
|
||||||
$resource = new FractalCollection($accounts, $transformer, 'accounts');
|
$resource = new FractalCollection($accounts, $transformer, 'accounts');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
|
@@ -46,27 +46,27 @@ class TransactionController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function search(Request $request, SearchInterface $searcher): JsonResponse
|
public function search(Request $request, SearchInterface $searcher): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$fullQuery = (string)$request->get('query');
|
$fullQuery = (string)$request->get('query');
|
||||||
$page = 0 === (int)$request->get('page') ? 1 : (int)$request->get('page');
|
$page = 0 === (int)$request->get('page') ? 1 : (int)$request->get('page');
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$searcher->parseQuery($fullQuery);
|
$searcher->parseQuery($fullQuery);
|
||||||
$searcher->setPage($page);
|
$searcher->setPage($page);
|
||||||
$searcher->setLimit($pageSize);
|
$searcher->setLimit($pageSize);
|
||||||
$groups = $searcher->searchTransactions();
|
$groups = $searcher->searchTransactions();
|
||||||
$parameters = ['search' => $fullQuery];
|
$parameters = ['search' => $fullQuery];
|
||||||
$url = route('api.v1.search.transactions').'?'.http_build_query($parameters);
|
$url = route('api.v1.search.transactions').'?'.http_build_query($parameters);
|
||||||
$groups->setPath($url);
|
$groups->setPath($url);
|
||||||
$transactions = $groups->getCollection();
|
$transactions = $groups->getCollection();
|
||||||
|
|
||||||
/** @var TransactionGroupTransformer $transformer */
|
/** @var TransactionGroupTransformer $transformer */
|
||||||
$transformer = app(TransactionGroupTransformer::class);
|
$transformer = app(TransactionGroupTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Collection($transactions, $transformer, 'transactions');
|
$resource = new Collection($transactions, $transformer, 'transactions');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($groups));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($groups));
|
||||||
|
|
||||||
$array = $manager->createData($resource)->toArray();
|
$array = $manager->createData($resource)->toArray();
|
||||||
|
|
||||||
return response()->json($array)->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($array)->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -91,10 +91,10 @@ class BasicController extends Controller
|
|||||||
public function basic(DateRequest $request): JsonResponse
|
public function basic(DateRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
// parameters for boxes:
|
// parameters for boxes:
|
||||||
$dates = $request->getAll();
|
$dates = $request->getAll();
|
||||||
$start = $dates['start'];
|
$start = $dates['start'];
|
||||||
$end = $dates['end'];
|
$end = $dates['end'];
|
||||||
$code = $request->get('currency_code');
|
$code = $request->get('currency_code');
|
||||||
|
|
||||||
// balance information:
|
// balance information:
|
||||||
$balanceData = $this->getBalanceInformation($start, $end);
|
$balanceData = $this->getBalanceInformation($start, $end);
|
||||||
@@ -105,10 +105,10 @@ class BasicController extends Controller
|
|||||||
// $billData = [];
|
// $billData = [];
|
||||||
// $spentData = [];
|
// $spentData = [];
|
||||||
// $netWorthData = [];
|
// $netWorthData = [];
|
||||||
$total = array_merge($balanceData, $billData, $spentData, $netWorthData);
|
$total = array_merge($balanceData, $billData, $spentData, $netWorthData);
|
||||||
|
|
||||||
// give new keys
|
// give new keys
|
||||||
$return = [];
|
$return = [];
|
||||||
foreach ($total as $entry) {
|
foreach ($total as $entry) {
|
||||||
if (null === $code || ($code === $entry['currency_code'])) {
|
if (null === $code || ($code === $entry['currency_code'])) {
|
||||||
$return[$entry['key']] = $entry;
|
$return[$entry['key']] = $entry;
|
||||||
@@ -138,17 +138,17 @@ class BasicController extends Controller
|
|||||||
private function getBalanceInformation(Carbon $start, Carbon $end): array
|
private function getBalanceInformation(Carbon $start, Carbon $end): array
|
||||||
{
|
{
|
||||||
// prep some arrays:
|
// prep some arrays:
|
||||||
$incomes = [];
|
$incomes = [];
|
||||||
$expenses = [];
|
$expenses = [];
|
||||||
$sums = [];
|
$sums = [];
|
||||||
$return = [];
|
$return = [];
|
||||||
|
|
||||||
// collect income of user using the new group collector.
|
// collect income of user using the new group collector.
|
||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setRange($start, $end)->setPage($this->parameters->get('page'))->setTypes([TransactionType::DEPOSIT]);
|
$collector->setRange($start, $end)->setPage($this->parameters->get('page'))->setTypes([TransactionType::DEPOSIT]);
|
||||||
|
|
||||||
$set = $collector->getExtractedJournals();
|
$set = $collector->getExtractedJournals();
|
||||||
|
|
||||||
/** @var array $transactionJournal */
|
/** @var array $transactionJournal */
|
||||||
foreach ($set as $transactionJournal) {
|
foreach ($set as $transactionJournal) {
|
||||||
@@ -166,7 +166,7 @@ class BasicController extends Controller
|
|||||||
/** @var GroupCollectorInterface $collector */
|
/** @var GroupCollectorInterface $collector */
|
||||||
$collector = app(GroupCollectorInterface::class);
|
$collector = app(GroupCollectorInterface::class);
|
||||||
$collector->setRange($start, $end)->setPage($this->parameters->get('page'))->setTypes([TransactionType::WITHDRAWAL]);
|
$collector->setRange($start, $end)->setPage($this->parameters->get('page'))->setTypes([TransactionType::WITHDRAWAL]);
|
||||||
$set = $collector->getExtractedJournals();
|
$set = $collector->getExtractedJournals();
|
||||||
|
|
||||||
/** @var array $transactionJournal */
|
/** @var array $transactionJournal */
|
||||||
foreach ($set as $transactionJournal) {
|
foreach ($set as $transactionJournal) {
|
||||||
@@ -178,7 +178,7 @@ class BasicController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// format amounts:
|
// format amounts:
|
||||||
$keys = array_keys($sums);
|
$keys = array_keys($sums);
|
||||||
foreach ($keys as $currencyId) {
|
foreach ($keys as $currencyId) {
|
||||||
$currency = $this->currencyRepos->find($currencyId);
|
$currency = $this->currencyRepos->find($currencyId);
|
||||||
if (null === $currency) {
|
if (null === $currency) {
|
||||||
@@ -237,7 +237,7 @@ class BasicController extends Controller
|
|||||||
$paidAmount = $this->billRepository->sumPaidInRange($start, $end);
|
$paidAmount = $this->billRepository->sumPaidInRange($start, $end);
|
||||||
$unpaidAmount = $this->billRepository->sumUnpaidInRange($start, $end);
|
$unpaidAmount = $this->billRepository->sumUnpaidInRange($start, $end);
|
||||||
|
|
||||||
$return = [];
|
$return = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array $info
|
* @var array $info
|
||||||
@@ -298,13 +298,13 @@ class BasicController extends Controller
|
|||||||
$spentInCurrency = $row['sum'];
|
$spentInCurrency = $row['sum'];
|
||||||
$leftToSpend = bcadd($amount, $spentInCurrency);
|
$leftToSpend = bcadd($amount, $spentInCurrency);
|
||||||
|
|
||||||
$days = $today->diffInDays($end) + 1;
|
$days = $today->diffInDays($end) + 1;
|
||||||
$perDay = '0';
|
$perDay = '0';
|
||||||
if (0 !== $days && bccomp($leftToSpend, '0') > -1) {
|
if (0 !== $days && bccomp($leftToSpend, '0') > -1) {
|
||||||
$perDay = bcdiv($leftToSpend, (string) $days);
|
$perDay = bcdiv($leftToSpend, (string) $days);
|
||||||
}
|
}
|
||||||
|
|
||||||
$return[] = [
|
$return[] = [
|
||||||
'key' => sprintf('left-to-spend-in-%s', $row['currency_code']),
|
'key' => sprintf('left-to-spend-in-%s', $row['currency_code']),
|
||||||
'title' => trans('firefly.box_left_to_spend_in_currency', ['currency' => $row['currency_symbol']]),
|
'title' => trans('firefly.box_left_to_spend_in_currency', ['currency' => $row['currency_symbol']]),
|
||||||
'monetary_value' => $leftToSpend,
|
'monetary_value' => $leftToSpend,
|
||||||
@@ -329,8 +329,8 @@ class BasicController extends Controller
|
|||||||
private function getNetWorthInfo(Carbon $start, Carbon $end): array
|
private function getNetWorthInfo(Carbon $start, Carbon $end): array
|
||||||
{
|
{
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$date = today(config('app.timezone'))->startOfDay();
|
$date = today(config('app.timezone'))->startOfDay();
|
||||||
// start and end in the future? use $end
|
// start and end in the future? use $end
|
||||||
if ($this->notInDateRange($date, $start, $end)) {
|
if ($this->notInDateRange($date, $start, $end)) {
|
||||||
/** @var Carbon $date */
|
/** @var Carbon $date */
|
||||||
@@ -340,12 +340,12 @@ class BasicController extends Controller
|
|||||||
/** @var NetWorthInterface $netWorthHelper */
|
/** @var NetWorthInterface $netWorthHelper */
|
||||||
$netWorthHelper = app(NetWorthInterface::class);
|
$netWorthHelper = app(NetWorthInterface::class);
|
||||||
$netWorthHelper->setUser($user);
|
$netWorthHelper->setUser($user);
|
||||||
$allAccounts = $this->accountRepository->getActiveAccountsByType(
|
$allAccounts = $this->accountRepository->getActiveAccountsByType(
|
||||||
[AccountType::ASSET, AccountType::DEFAULT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::DEBT]
|
[AccountType::ASSET, AccountType::DEFAULT, AccountType::LOAN, AccountType::MORTGAGE, AccountType::DEBT]
|
||||||
);
|
);
|
||||||
|
|
||||||
// filter list on preference of being included.
|
// filter list on preference of being included.
|
||||||
$filtered = $allAccounts->filter(
|
$filtered = $allAccounts->filter(
|
||||||
function (Account $account) {
|
function (Account $account) {
|
||||||
$includeNetWorth = $this->accountRepository->getMetaValue($account, 'include_net_worth');
|
$includeNetWorth = $this->accountRepository->getMetaValue($account, 'include_net_worth');
|
||||||
|
|
||||||
@@ -353,13 +353,13 @@ class BasicController extends Controller
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$netWorthSet = $netWorthHelper->byAccounts($filtered, $date);
|
$netWorthSet = $netWorthHelper->byAccounts($filtered, $date);
|
||||||
$return = [];
|
$return = [];
|
||||||
foreach ($netWorthSet as $key => $data) {
|
foreach ($netWorthSet as $key => $data) {
|
||||||
if ('native' === $key) {
|
if ('native' === $key) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$amount = $data['balance'];
|
$amount = $data['balance'];
|
||||||
if (0 === bccomp($amount, '0')) {
|
if (0 === bccomp($amount, '0')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@@ -69,13 +69,13 @@ class AboutController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function user(): JsonResponse
|
public function user(): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var UserTransformer $transformer */
|
/** @var UserTransformer $transformer */
|
||||||
$transformer = app(UserTransformer::class);
|
$transformer = app(UserTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item(auth()->user(), $transformer, 'users');
|
$resource = new Item(auth()->user(), $transformer, 'users');
|
||||||
|
|
||||||
return response()->api($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->api($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ class ConfigurationController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, string $name): JsonResponse
|
public function update(UpdateRequest $request, string $name): JsonResponse
|
||||||
{
|
{
|
||||||
$rules = ['value' => 'required'];
|
$rules = ['value' => 'required'];
|
||||||
if (!$this->repository->hasRole(auth()->user(), 'owner')) {
|
if (!$this->repository->hasRole(auth()->user(), 'owner')) {
|
||||||
$messages = ['value' => '200005: You need the "owner" role to do this.'];
|
$messages = ['value' => '200005: You need the "owner" role to do this.'];
|
||||||
\Validator::make([], $rules, $messages)->validate();
|
\Validator::make([], $rules, $messages)->validate();
|
||||||
|
@@ -41,7 +41,7 @@ class CronController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function cron(CronRequest $request): JsonResponse
|
public function cron(CronRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$config = $request->getAll();
|
$config = $request->getAll();
|
||||||
|
|
||||||
app('log')->debug(sprintf('Now in %s', __METHOD__));
|
app('log')->debug(sprintf('Now in %s', __METHOD__));
|
||||||
app('log')->debug(sprintf('Date is %s', $config['date']->toIsoString()));
|
app('log')->debug(sprintf('Date is %s', $config['date']->toIsoString()));
|
||||||
@@ -51,7 +51,7 @@ class CronController extends Controller
|
|||||||
if (true === config('cer.download_enabled')) {
|
if (true === config('cer.download_enabled')) {
|
||||||
$return['exchange_rates'] = $this->exchangeRatesCronJob($config['force'], $config['date']);
|
$return['exchange_rates'] = $this->exchangeRatesCronJob($config['force'], $config['date']);
|
||||||
}
|
}
|
||||||
$return['bill_warnings'] = $this->billWarningCronJob($config['force'], $config['date']);
|
$return['bill_warnings'] = $this->billWarningCronJob($config['force'], $config['date']);
|
||||||
|
|
||||||
return response()->json($return);
|
return response()->json($return);
|
||||||
}
|
}
|
||||||
|
@@ -95,16 +95,16 @@ class UserController extends Controller
|
|||||||
public function index(): JsonResponse
|
public function index(): JsonResponse
|
||||||
{
|
{
|
||||||
// user preferences
|
// user preferences
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// build collection
|
// build collection
|
||||||
$collection = $this->repository->all();
|
$collection = $this->repository->all();
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$users = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$users = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($users, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($users, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.users.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.users.index').$this->buildParams());
|
||||||
|
|
||||||
// make resource
|
// make resource
|
||||||
@@ -112,7 +112,7 @@ class UserController extends Controller
|
|||||||
$transformer = app(UserTransformer::class);
|
$transformer = app(UserTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($users, $transformer, 'users');
|
$resource = new FractalCollection($users, $transformer, 'users');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -127,14 +127,14 @@ class UserController extends Controller
|
|||||||
public function show(User $user): JsonResponse
|
public function show(User $user): JsonResponse
|
||||||
{
|
{
|
||||||
// make manager
|
// make manager
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// make resource
|
// make resource
|
||||||
/** @var UserTransformer $transformer */
|
/** @var UserTransformer $transformer */
|
||||||
$transformer = app(UserTransformer::class);
|
$transformer = app(UserTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($user, $transformer, 'users');
|
$resource = new Item($user, $transformer, 'users');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -147,9 +147,9 @@ class UserController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(UserStoreRequest $request): JsonResponse
|
public function store(UserStoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$user = $this->repository->store($data);
|
$user = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// make resource
|
// make resource
|
||||||
|
|
||||||
@@ -157,7 +157,7 @@ class UserController extends Controller
|
|||||||
$transformer = app(UserTransformer::class);
|
$transformer = app(UserTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($user, $transformer, 'users');
|
$resource = new Item($user, $transformer, 'users');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -170,7 +170,7 @@ class UserController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UserUpdateRequest $request, User $user): JsonResponse
|
public function update(UserUpdateRequest $request, User $user): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
|
|
||||||
// can only update 'blocked' when user is admin.
|
// can only update 'blocked' when user is admin.
|
||||||
if (!$this->repository->hasRole(auth()->user(), 'owner')) {
|
if (!$this->repository->hasRole(auth()->user(), 'owner')) {
|
||||||
@@ -178,15 +178,15 @@ class UserController extends Controller
|
|||||||
unset($data['blocked'], $data['blocked_code']);
|
unset($data['blocked'], $data['blocked_code']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = $this->repository->update($user, $data);
|
$user = $this->repository->update($user, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
// make resource
|
// make resource
|
||||||
/** @var UserTransformer $transformer */
|
/** @var UserTransformer $transformer */
|
||||||
$transformer = app(UserTransformer::class);
|
$transformer = app(UserTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($user, $transformer, 'users');
|
$resource = new Item($user, $transformer, 'users');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -61,14 +61,14 @@ class PreferencesController extends Controller
|
|||||||
$preferences = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$preferences = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($preferences, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($preferences, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.preferences.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.preferences.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var PreferenceTransformer $transformer */
|
/** @var PreferenceTransformer $transformer */
|
||||||
$transformer = app(PreferenceTransformer::class);
|
$transformer = app(PreferenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($preferences, $transformer, self::RESOURCE_KEY);
|
$resource = new FractalCollection($preferences, $transformer, self::RESOURCE_KEY);
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -82,13 +82,13 @@ class PreferencesController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Preference $preference): JsonResponse
|
public function show(Preference $preference): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var PreferenceTransformer $transformer */
|
/** @var PreferenceTransformer $transformer */
|
||||||
$transformer = app(PreferenceTransformer::class);
|
$transformer = app(PreferenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($preference, $transformer, 'preferences');
|
$resource = new Item($preference, $transformer, 'preferences');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -101,15 +101,15 @@ class PreferencesController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(PreferenceStoreRequest $request): JsonResponse
|
public function store(PreferenceStoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$pref = app('preferences')->set($data['name'], $data['data']);
|
$pref = app('preferences')->set($data['name'], $data['data']);
|
||||||
|
|
||||||
/** @var PreferenceTransformer $transformer */
|
/** @var PreferenceTransformer $transformer */
|
||||||
$transformer = app(PreferenceTransformer::class);
|
$transformer = app(PreferenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($pref, $transformer, 'preferences');
|
$resource = new Item($pref, $transformer, 'preferences');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
@@ -122,15 +122,15 @@ class PreferencesController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(PreferenceUpdateRequest $request, Preference $preference): JsonResponse
|
public function update(PreferenceUpdateRequest $request, Preference $preference): JsonResponse
|
||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$data = $request->getAll();
|
$data = $request->getAll();
|
||||||
$pref = app('preferences')->set($preference->name, $data['data']);
|
$pref = app('preferences')->set($preference->name, $data['data']);
|
||||||
|
|
||||||
/** @var PreferenceTransformer $transformer */
|
/** @var PreferenceTransformer $transformer */
|
||||||
$transformer = app(PreferenceTransformer::class);
|
$transformer = app(PreferenceTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($pref, $transformer, 'preferences');
|
$resource = new Item($pref, $transformer, 'preferences');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -77,21 +77,21 @@ class AttemptController extends Controller
|
|||||||
}
|
}
|
||||||
Log::channel('audit')->info(sprintf('User lists webhook attempts of webhook #%d and message #%d.', $webhook->id, $message->id));
|
Log::channel('audit')->info(sprintf('User lists webhook attempts of webhook #%d and message #%d.', $webhook->id, $message->id));
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getAttempts($message);
|
$collection = $this->repository->getAttempts($message);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$attempts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$attempts = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($attempts, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($attempts, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.webhooks.attempts.index', [$webhook->id, $message->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.webhooks.attempts.index', [$webhook->id, $message->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var WebhookAttemptTransformer $transformer */
|
/** @var WebhookAttemptTransformer $transformer */
|
||||||
$transformer = app(WebhookAttemptTransformer::class);
|
$transformer = app(WebhookAttemptTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($attempts, $transformer, 'webhook_attempts');
|
$resource = new FractalCollection($attempts, $transformer, 'webhook_attempts');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -122,12 +122,12 @@ class AttemptController extends Controller
|
|||||||
|
|
||||||
Log::channel('audit')->info(sprintf('User views single webhook attempt #%d of webhook #%d and message #%d.', $attempt->id, $webhook->id, $message->id));
|
Log::channel('audit')->info(sprintf('User views single webhook attempt #%d of webhook #%d and message #%d.', $attempt->id, $webhook->id, $message->id));
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var WebhookAttemptTransformer $transformer */
|
/** @var WebhookAttemptTransformer $transformer */
|
||||||
$transformer = app(WebhookAttemptTransformer::class);
|
$transformer = app(WebhookAttemptTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($attempt, $transformer, self::RESOURCE_KEY);
|
$resource = new Item($attempt, $transformer, self::RESOURCE_KEY);
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -72,22 +72,22 @@ class MessageController extends Controller
|
|||||||
throw new NotFoundHttpException('Webhooks are not enabled.');
|
throw new NotFoundHttpException('Webhooks are not enabled.');
|
||||||
}
|
}
|
||||||
Log::channel('audit')->info(sprintf('User views messages of webhook #%d.', $webhook->id));
|
Log::channel('audit')->info(sprintf('User views messages of webhook #%d.', $webhook->id));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$collection = $this->repository->getMessages($webhook);
|
$collection = $this->repository->getMessages($webhook);
|
||||||
|
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$messages = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$messages = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($messages, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($messages, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.webhooks.messages.index', [$webhook->id]).$this->buildParams());
|
$paginator->setPath(route('api.v1.webhooks.messages.index', [$webhook->id]).$this->buildParams());
|
||||||
|
|
||||||
/** @var WebhookMessageTransformer $transformer */
|
/** @var WebhookMessageTransformer $transformer */
|
||||||
$transformer = app(WebhookMessageTransformer::class);
|
$transformer = app(WebhookMessageTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($messages, $transformer, 'webhook_messages');
|
$resource = new FractalCollection($messages, $transformer, 'webhook_messages');
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -114,12 +114,12 @@ class MessageController extends Controller
|
|||||||
|
|
||||||
Log::channel('audit')->info(sprintf('User views message #%d of webhook #%d.', $message->id, $webhook->id));
|
Log::channel('audit')->info(sprintf('User views message #%d of webhook #%d.', $message->id, $webhook->id));
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var WebhookMessageTransformer $transformer */
|
/** @var WebhookMessageTransformer $transformer */
|
||||||
$transformer = app(WebhookMessageTransformer::class);
|
$transformer = app(WebhookMessageTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($message, $transformer, self::RESOURCE_KEY);
|
$resource = new Item($message, $transformer, self::RESOURCE_KEY);
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -78,21 +78,21 @@ class ShowController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
Log::channel('audit')->info('User views all webhooks.');
|
Log::channel('audit')->info('User views all webhooks.');
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
$collection = $this->repository->all();
|
$collection = $this->repository->all();
|
||||||
$pageSize = $this->parameters->get('limit');
|
$pageSize = $this->parameters->get('limit');
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$webhooks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$webhooks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
|
|
||||||
// make paginator:
|
// make paginator:
|
||||||
$paginator = new LengthAwarePaginator($webhooks, $count, $pageSize, $this->parameters->get('page'));
|
$paginator = new LengthAwarePaginator($webhooks, $count, $pageSize, $this->parameters->get('page'));
|
||||||
$paginator->setPath(route('api.v1.webhooks.index').$this->buildParams());
|
$paginator->setPath(route('api.v1.webhooks.index').$this->buildParams());
|
||||||
|
|
||||||
/** @var WebhookTransformer $transformer */
|
/** @var WebhookTransformer $transformer */
|
||||||
$transformer = app(WebhookTransformer::class);
|
$transformer = app(WebhookTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new FractalCollection($webhooks, $transformer, self::RESOURCE_KEY);
|
$resource = new FractalCollection($webhooks, $transformer, self::RESOURCE_KEY);
|
||||||
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
@@ -113,12 +113,12 @@ class ShowController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
Log::channel('audit')->info(sprintf('User views webhook #%d.', $webhook->id));
|
Log::channel('audit')->info(sprintf('User views webhook #%d.', $webhook->id));
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var WebhookTransformer $transformer */
|
/** @var WebhookTransformer $transformer */
|
||||||
$transformer = app(WebhookTransformer::class);
|
$transformer = app(WebhookTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
$resource = new Item($webhook, $transformer, self::RESOURCE_KEY);
|
$resource = new Item($webhook, $transformer, self::RESOURCE_KEY);
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -59,15 +59,15 @@ class StoreController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(CreateRequest $request): JsonResponse
|
public function store(CreateRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getData();
|
$data = $request->getData();
|
||||||
if(false === config('firefly.allow_webhooks')) {
|
if(false === config('firefly.allow_webhooks')) {
|
||||||
Log::channel('audit')->info('User tries to store new webhook, but webhooks are DISABLED.', $data);
|
Log::channel('audit')->info('User tries to store new webhook, but webhooks are DISABLED.', $data);
|
||||||
|
|
||||||
throw new NotFoundHttpException('Webhooks are not enabled.');
|
throw new NotFoundHttpException('Webhooks are not enabled.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$webhook = $this->repository->store($data);
|
$webhook = $this->repository->store($data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
Log::channel('audit')->info('User stores new webhook', $data);
|
Log::channel('audit')->info('User stores new webhook', $data);
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ class StoreController extends Controller
|
|||||||
$transformer = app(WebhookTransformer::class);
|
$transformer = app(WebhookTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($webhook, $transformer, 'webhooks');
|
$resource = new Item($webhook, $transformer, 'webhooks');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -59,15 +59,15 @@ class UpdateController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(Webhook $webhook, UpdateRequest $request): JsonResponse
|
public function update(Webhook $webhook, UpdateRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$data = $request->getData();
|
$data = $request->getData();
|
||||||
if(false === config('firefly.allow_webhooks')) {
|
if(false === config('firefly.allow_webhooks')) {
|
||||||
Log::channel('audit')->info(sprintf('User tries to update webhook #%d, but webhooks are DISABLED.', $webhook->id), $data);
|
Log::channel('audit')->info(sprintf('User tries to update webhook #%d, but webhooks are DISABLED.', $webhook->id), $data);
|
||||||
|
|
||||||
throw new NotFoundHttpException('Webhooks are not enabled.');
|
throw new NotFoundHttpException('Webhooks are not enabled.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$webhook = $this->repository->update($webhook, $data);
|
$webhook = $this->repository->update($webhook, $data);
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
Log::channel('audit')->info(sprintf('User updates webhook #%d', $webhook->id), $data);
|
Log::channel('audit')->info(sprintf('User updates webhook #%d', $webhook->id), $data);
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ class UpdateController extends Controller
|
|||||||
$transformer = app(WebhookTransformer::class);
|
$transformer = app(WebhookTransformer::class);
|
||||||
$transformer->setParameters($this->parameters);
|
$transformer->setParameters($this->parameters);
|
||||||
|
|
||||||
$resource = new Item($webhook, $transformer, 'webhooks');
|
$resource = new Item($webhook, $transformer, 'webhooks');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
|
||||||
}
|
}
|
||||||
|
@@ -78,11 +78,11 @@ class MoveTransactionsRequest extends FormRequest
|
|||||||
|
|
||||||
private function validateMove(Validator $validator): void
|
private function validateMove(Validator $validator): void
|
||||||
{
|
{
|
||||||
$data = $validator->getData();
|
$data = $validator->getData();
|
||||||
$repository = app(AccountRepositoryInterface::class);
|
$repository = app(AccountRepositoryInterface::class);
|
||||||
$repository->setUser(auth()->user());
|
$repository->setUser(auth()->user());
|
||||||
$original = $repository->find((int)$data['original_account']);
|
$original = $repository->find((int)$data['original_account']);
|
||||||
$destination = $repository->find((int)$data['destination_account']);
|
$destination = $repository->find((int)$data['destination_account']);
|
||||||
|
|
||||||
// not the same type:
|
// not the same type:
|
||||||
if ($original->accountType->type !== $destination->accountType->type) {
|
if ($original->accountType->type !== $destination->accountType->type) {
|
||||||
|
@@ -45,7 +45,7 @@ class DateRequest extends FormRequest
|
|||||||
public function getAll(): array
|
public function getAll(): array
|
||||||
{
|
{
|
||||||
$start = $this->getCarbonDate('start');
|
$start = $this->getCarbonDate('start');
|
||||||
$end = $this->getCarbonDate('end');
|
$end = $this->getCarbonDate('end');
|
||||||
if($start->diffInYears($end) > 5) {
|
if($start->diffInYears($end) > 5) {
|
||||||
throw new FireflyException('Date range out of range.');
|
throw new FireflyException('Date range out of range.');
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user