diff --git a/app/Api/V1/Controllers/AboutController.php b/app/Api/V1/Controllers/AboutController.php index 7c5e034bb3..fa5dca3bbc 100644 --- a/app/Api/V1/Controllers/AboutController.php +++ b/app/Api/V1/Controllers/AboutController.php @@ -75,7 +75,12 @@ class AboutController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item(auth()->user(), new UserTransformer($this->parameters), 'users'); + + /** @var UserTransformer $transformer */ + $transformer = app(UserTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item(auth()->user(), $transformer, 'users'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } diff --git a/app/Api/V1/Controllers/AttachmentController.php b/app/Api/V1/Controllers/AttachmentController.php index 6b1159a4b3..6956758f57 100644 --- a/app/Api/V1/Controllers/AttachmentController.php +++ b/app/Api/V1/Controllers/AttachmentController.php @@ -144,7 +144,12 @@ class AttachmentController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($attachments, new AttachmentTransformer($this->parameters), 'attachments'); + + /** @var AttachmentTransformer $transformer */ + $transformer = app(AttachmentTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($attachments, $transformer, 'attachments'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -163,7 +168,12 @@ class AttachmentController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($attachment, new AttachmentTransformer($this->parameters), 'attachments'); + + /** @var AttachmentTransformer $transformer */ + $transformer = app(AttachmentTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($attachment, $transformer, 'attachments'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -183,7 +193,12 @@ class AttachmentController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($attachment, new AttachmentTransformer($this->parameters), 'attachments'); + + /** @var AttachmentTransformer $transformer */ + $transformer = app(AttachmentTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($attachment, $transformer, 'attachments'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -204,7 +219,11 @@ class AttachmentController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($attachment, new AttachmentTransformer($this->parameters), 'attachments'); + /** @var AttachmentTransformer $transformer */ + $transformer = app(AttachmentTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($attachment, $transformer, 'attachments'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } diff --git a/app/Api/V1/Controllers/AvailableBudgetController.php b/app/Api/V1/Controllers/AvailableBudgetController.php index 49d2fed969..8a53bded82 100644 --- a/app/Api/V1/Controllers/AvailableBudgetController.php +++ b/app/Api/V1/Controllers/AvailableBudgetController.php @@ -111,7 +111,12 @@ class AvailableBudgetController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($availableBudgets, new AvailableBudgetTransformer($this->parameters), 'available_budgets'); + + /** @var AvailableBudgetTransformer $transformer */ + $transformer = app(AvailableBudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($availableBudgets, $transformer, 'available_budgets'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -130,7 +135,12 @@ class AvailableBudgetController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($availableBudget, new AvailableBudgetTransformer($this->parameters), 'available_budgets'); + + /** @var AvailableBudgetTransformer $transformer */ + $transformer = app(AvailableBudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($availableBudget, $transformer, 'available_budgets'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -151,14 +161,18 @@ class AvailableBudgetController extends Controller $currency = $this->currencyRepository->findByCodeNull($data['currency_code']); } if (null === $currency) { - throw new FireflyException('Could not find the indicated currency.'); + $currency = app('amount')->getDefaultCurrency(); } - $availableBudget = $this->repository->setAvailableBudget($currency, $data['start_date'], $data['end_date'], $data['amount']); + $availableBudget = $this->repository->setAvailableBudget($currency, $data['start'], $data['end'], $data['amount']); $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($availableBudget, new AvailableBudgetTransformer($this->parameters), 'available_budgets'); + /** @var AvailableBudgetTransformer $transformer */ + $transformer = app(AvailableBudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($availableBudget, $transformer, 'available_budgets'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -181,7 +195,11 @@ class AvailableBudgetController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($availableBudget, new AvailableBudgetTransformer($this->parameters), 'available_budgets'); + /** @var AvailableBudgetTransformer $transformer */ + $transformer = app(AvailableBudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($availableBudget, $transformer, 'available_budgets'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/BillController.php b/app/Api/V1/Controllers/BillController.php index a7ffec5b0f..b656aca581 100644 --- a/app/Api/V1/Controllers/BillController.php +++ b/app/Api/V1/Controllers/BillController.php @@ -101,7 +101,12 @@ class BillController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($attachments, new AttachmentTransformer($this->parameters), 'attachments'); + + /** @var AttachmentTransformer $transformer */ + $transformer = app(AttachmentTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($attachments, $transformer, 'attachments'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -139,7 +144,11 @@ class BillController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($bills, new BillTransformer($this->parameters), 'bills'); + /** @var BillTransformer $transformer */ + $transformer = app(BillTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($bills, $transformer, 'bills'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -173,7 +182,13 @@ class BillController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($rules, new RuleTransformer($this->parameters), 'rules'); + + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + + $resource = new FractalCollection($rules, $transformer, 'rules'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -194,7 +209,11 @@ class BillController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($bill, new BillTransformer($this->parameters), 'bills'); + /** @var BillTransformer $transformer */ + $transformer = app(BillTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($bill, $transformer, 'bills'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -215,7 +234,11 @@ class BillController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($bill, new BillTransformer($this->parameters), 'bills'); + /** @var BillTransformer $transformer */ + $transformer = app(BillTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($bill, $transformer, 'bills'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -260,7 +283,12 @@ class BillController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.bills.transactions', [$bill->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -282,7 +310,11 @@ class BillController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($bill, new BillTransformer($this->parameters), 'bills'); + /** @var BillTransformer $transformer */ + $transformer = app(BillTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($bill, $transformer, 'bills'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/BudgetController.php b/app/Api/V1/Controllers/BudgetController.php index 45def0dbdb..f49619cff9 100644 --- a/app/Api/V1/Controllers/BudgetController.php +++ b/app/Api/V1/Controllers/BudgetController.php @@ -98,7 +98,13 @@ class BudgetController extends Controller $paginator->setPath(route('api.v1.budgets.budget_limits', [$budget->id]) . $this->buildParams()); $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($budgetLimits, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + + $resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -145,7 +151,12 @@ class BudgetController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($budgets, new BudgetTransformer($this->parameters), 'budgets'); + + /** @var BudgetTransformer $transformer */ + $transformer = app(BudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($budgets, $transformer, 'budgets'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -165,7 +176,11 @@ class BudgetController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budget, new BudgetTransformer($this->parameters), 'budgets'); + /** @var BudgetTransformer $transformer */ + $transformer = app(BudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budget, $transformer, 'budgets'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -186,7 +201,11 @@ class BudgetController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budget, new BudgetTransformer($this->parameters), 'budgets'); + /** @var BudgetTransformer $transformer */ + $transformer = app(BudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budget, $transformer, 'budgets'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -210,7 +229,11 @@ class BudgetController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budgetLimit, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budgetLimit, $transformer, 'budget_limits'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -253,7 +276,13 @@ class BudgetController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.budgets.transactions', [$budget->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -275,7 +304,11 @@ class BudgetController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budget, new BudgetTransformer($this->parameters), 'budgets'); + /** @var BudgetTransformer $transformer */ + $transformer = app(BudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budget, $transformer, 'budgets'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/BudgetLimitController.php b/app/Api/V1/Controllers/BudgetLimitController.php index 520bca9c15..64691b18a1 100644 --- a/app/Api/V1/Controllers/BudgetLimitController.php +++ b/app/Api/V1/Controllers/BudgetLimitController.php @@ -117,7 +117,12 @@ class BudgetLimitController extends Controller $paginator->setPath(route('api.v1.budget_limits.index') . $this->buildParams()); $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($budgetLimits, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -136,7 +141,12 @@ class BudgetLimitController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budgetLimit, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budgetLimit, $transformer, 'budget_limits'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -162,7 +172,11 @@ class BudgetLimitController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budgetLimit, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budgetLimit, $transformer, 'budget_limits'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -200,7 +214,12 @@ class BudgetLimitController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.budget_limits.transactions', [$budgetLimit->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -223,7 +242,11 @@ class BudgetLimitController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($budgetLimit, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($budgetLimit, $transformer, 'budget_limits'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/CategoryController.php b/app/Api/V1/Controllers/CategoryController.php index c8fb61a2b3..d9dddc1933 100644 --- a/app/Api/V1/Controllers/CategoryController.php +++ b/app/Api/V1/Controllers/CategoryController.php @@ -116,7 +116,13 @@ class CategoryController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($categories, new CategoryTransformer($this->parameters), 'categories'); + + /** @var CategoryTransformer $transformer */ + $transformer = app(CategoryTransformer::class); + $transformer->setParameters($this->parameters); + + + $resource = new FractalCollection($categories, $transformer, 'categories'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -137,7 +143,11 @@ class CategoryController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($category, new CategoryTransformer($this->parameters), 'categories'); + /** @var CategoryTransformer $transformer */ + $transformer = app(CategoryTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($category, $transformer, 'categories'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -158,7 +168,11 @@ class CategoryController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($category, new CategoryTransformer($this->parameters), 'categories'); + /** @var CategoryTransformer $transformer */ + $transformer = app(CategoryTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($category, $transformer, 'categories'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -206,7 +220,12 @@ class CategoryController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.categories.transactions', [$category->id]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -228,7 +247,11 @@ class CategoryController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($category, new CategoryTransformer($this->parameters), 'categories'); + /** @var CategoryTransformer $transformer */ + $transformer = app(CategoryTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($category, $transformer, 'categories'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/CurrencyController.php b/app/Api/V1/Controllers/CurrencyController.php index f0e0e2e4d5..672dff7746 100644 --- a/app/Api/V1/Controllers/CurrencyController.php +++ b/app/Api/V1/Controllers/CurrencyController.php @@ -146,7 +146,13 @@ class CurrencyController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($accounts, new AccountTransformer($this->parameters), 'accounts'); + + /** @var AccountTransformer $transformer */ + $transformer = app(AccountTransformer::class); + $transformer->setParameters($this->parameters); + + + $resource = new FractalCollection($accounts, $transformer, 'accounts'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -196,7 +202,12 @@ class CurrencyController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($availableBudgets, new AvailableBudgetTransformer($this->parameters), 'available_budgets'); + + /** @var AvailableBudgetTransformer $transformer */ + $transformer = app(AvailableBudgetTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($availableBudgets, $transformer, 'available_budgets'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -238,7 +249,12 @@ class CurrencyController extends Controller $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($bills, new BillTransformer($this->parameters), 'bills'); + + /** @var BillTransformer $transformer */ + $transformer = app(BillTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($bills, $transformer, 'bills'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -273,7 +289,12 @@ class CurrencyController extends Controller $paginator->setPath(route('api.v1.currencies.budget_limits', [$currency->code]) . $this->buildParams()); $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($budgetLimits, new BudgetLimitTransformer($this->parameters), 'budget_limits'); + + /** @var BudgetLimitTransformer $transformer */ + $transformer = app(BudgetLimitTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($budgetLimits, $transformer, 'budget_limits'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -303,7 +324,12 @@ class CurrencyController extends Controller $paginator->setPath(route('api.v1.currencies.cer', [$currency->code]) . $this->buildParams()); $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($exchangeRates, new CurrencyExchangeRateTransformer($this->parameters), 'currency_exchange_rates'); + + /** @var CurrencyExchangeRateTransformer $transformer */ + $transformer = app(CurrencyExchangeRateTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($exchangeRates, $transformer, 'currency_exchange_rates'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -349,14 +375,18 @@ class CurrencyController extends Controller return response()->json([], 409); } $this->repository->disable($currency); - $manager = new Manager(); - $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; + $manager = new Manager(); + $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); $defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user()); $this->parameters->set('defaultCurrency', $defaultCurrency); - $resource = new Item($currency, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($currency, $transformer, 'currencies'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -373,14 +403,18 @@ class CurrencyController extends Controller public function enable(Request $request, TransactionCurrency $currency): JsonResponse { $this->repository->enable($currency); - $manager = new Manager(); - $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; + $manager = new Manager(); + $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); $defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user()); $this->parameters->set('defaultCurrency', $defaultCurrency); - $resource = new Item($currency, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($currency, $transformer, 'currencies'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -410,7 +444,11 @@ class CurrencyController extends Controller $defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user()); $this->parameters->set('defaultCurrency', $defaultCurrency); - $resource = new FractalCollection($currencies, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($currencies, $transformer, 'currencies'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -431,13 +469,17 @@ class CurrencyController extends Controller app('preferences')->set('currencyPreference', $currency->code); app('preferences')->mark(); - $manager = new Manager(); - $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; + $manager = new Manager(); + $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); $this->parameters->set('defaultCurrency', $currency); - $resource = new Item($currency, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($currency, $transformer, 'currencies'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -488,7 +530,12 @@ class CurrencyController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($piggyBanks, new RecurrenceTransformer($this->parameters), 'recurrences'); + + /** @var RecurrenceTransformer $transformer */ + $transformer = app(RecurrenceTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($piggyBanks, $transformer, 'recurrences'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -536,7 +583,12 @@ class CurrencyController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($rules, new RuleTransformer($this->parameters), 'rules'); + + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($rules, $transformer, 'rules'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -559,7 +611,11 @@ class CurrencyController extends Controller $defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user()); $this->parameters->set('defaultCurrency', $defaultCurrency); - $resource = new Item($currency, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($currency, $transformer, 'currencies'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -587,7 +643,11 @@ class CurrencyController extends Controller $defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user()); $this->parameters->set('defaultCurrency', $defaultCurrency); - $resource = new Item($currency, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($currency, $transformer, 'currencies'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -637,7 +697,11 @@ class CurrencyController extends Controller $paginator->setPath(route('api.v1.currencies.transactions', [$currency->code]) . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -668,7 +732,11 @@ class CurrencyController extends Controller $defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user()); $this->parameters->set('defaultCurrency', $defaultCurrency); - $resource = new Item($currency, new CurrencyTransformer($this->parameters), 'currencies'); + /** @var CurrencyTransformer $transformer */ + $transformer = app(CurrencyTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($currency, $transformer, 'currencies'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/CurrencyExchangeRateController.php b/app/Api/V1/Controllers/CurrencyExchangeRateController.php index c828f2f7be..0308285e70 100644 --- a/app/Api/V1/Controllers/CurrencyExchangeRateController.php +++ b/app/Api/V1/Controllers/CurrencyExchangeRateController.php @@ -104,8 +104,10 @@ class CurrencyExchangeRateController extends Controller $service->setUser($admin); $rate = $service->getRate($fromCurrency, $toCurrency, $dateObj); } - - $resource = new Item($rate, new CurrencyExchangeRateTransformer($this->parameters), 'currency_exchange_rates'); + /** @var CurrencyExchangeRateTransformer $transformer */ + $transformer = app(CurrencyExchangeRateTransformer::class); + $transformer->setParameters($this->parameters); + $resource = new Item($rate, $transformer, 'currency_exchange_rates'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } diff --git a/app/Api/V1/Controllers/ImportController.php b/app/Api/V1/Controllers/ImportController.php index aa2c4423f2..fd376ca199 100644 --- a/app/Api/V1/Controllers/ImportController.php +++ b/app/Api/V1/Controllers/ImportController.php @@ -93,7 +93,12 @@ class ImportController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($importJobs, new ImportJobTransformer($this->parameters), 'import_jobs'); + + /** @var ImportJobTransformer $transformer */ + $transformer = app(ImportJobTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($importJobs, $transformer, 'import_jobs'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -110,7 +115,12 @@ class ImportController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($importJob, new ImportJobTransformer($this->parameters), 'import_jobs'); + + /** @var ImportJobTransformer $transformer */ + $transformer = app(ImportJobTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($importJob, $transformer, 'import_jobs'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -162,8 +172,11 @@ class ImportController extends Controller $transactions = $paginator->getCollection(); } + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/LinkTypeController.php b/app/Api/V1/Controllers/LinkTypeController.php index 0bd9e09a16..8d95bcf068 100644 --- a/app/Api/V1/Controllers/LinkTypeController.php +++ b/app/Api/V1/Controllers/LinkTypeController.php @@ -29,7 +29,6 @@ use FireflyIII\Helpers\Collector\TransactionCollectorInterface; use FireflyIII\Helpers\Filter\InternalTransferFilter; use FireflyIII\Models\LinkType; use FireflyIII\Models\TransactionType; -use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\Support\Http\Api\TransactionFilter; @@ -121,7 +120,12 @@ class LinkTypeController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($linkTypes, new LinkTypeTransformer($this->parameters), 'link_types'); + + /** @var LinkTypeTransformer $transformer */ + $transformer = app(LinkTypeTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($linkTypes, $transformer, 'link_types'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -141,7 +145,11 @@ class LinkTypeController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($linkType, new LinkTypeTransformer($this->parameters), 'link_types'); + /** @var LinkTypeTransformer $transformer */ + $transformer = app(LinkTypeTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($linkType, $transformer, 'link_types'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -170,7 +178,10 @@ class LinkTypeController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($linkType, new LinkTypeTransformer($this->parameters), 'link_types'); + /** @var LinkTypeTransformer $transformer */ + $transformer = app(LinkTypeTransformer::class); + $transformer->setParameters($this->parameters); + $resource = new Item($linkType, $transformer, 'link_types'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -218,14 +229,18 @@ class LinkTypeController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } - /** * Update object. * @@ -254,7 +269,11 @@ class LinkTypeController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($linkType, new LinkTypeTransformer($this->parameters), 'link_types'); + /** @var LinkTypeTransformer $transformer */ + $transformer = app(LinkTypeTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($linkType, $transformer, 'link_types'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/PiggyBankController.php b/app/Api/V1/Controllers/PiggyBankController.php index ca34b13104..650c8c7732 100644 --- a/app/Api/V1/Controllers/PiggyBankController.php +++ b/app/Api/V1/Controllers/PiggyBankController.php @@ -111,7 +111,12 @@ class PiggyBankController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($piggyBanks, new PiggyBankTransformer($this->parameters), 'piggy_banks'); + + /** @var PiggyBankTransformer $transformer */ + $transformer = app(PiggyBankTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($piggyBanks, $transformer, 'piggy_banks'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -142,8 +147,11 @@ class PiggyBankController extends Controller $paginator = new LengthAwarePaginator($events, $count, $pageSize, $this->parameters->get('page')); $paginator->setPath(route('api.v1.piggy_banks.events', [$piggyBank->id]) . $this->buildParams()); + /** @var PiggyBankEventTransformer $transformer */ + $transformer = app(PiggyBankEventTransformer::class); + $transformer->setParameters($this->parameters); - $resource = new FractalCollection($events, new PiggyBankEventTransformer($this->parameters), 'piggy_bank_events'); + $resource = new FractalCollection($events, $transformer, 'piggy_bank_events'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -164,7 +172,11 @@ class PiggyBankController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($piggyBank, new PiggyBankTransformer($this->parameters), 'piggy_banks'); + /** @var PiggyBankTransformer $transformer */ + $transformer = app(PiggyBankTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($piggyBank, $transformer, 'piggy_banks'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -186,7 +198,11 @@ class PiggyBankController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($piggyBank, new PiggyBankTransformer($this->parameters), 'piggy_banks'); + /** @var PiggyBankTransformer $transformer */ + $transformer = app(PiggyBankTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($piggyBank, $transformer, 'piggy_banks'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -209,7 +225,11 @@ class PiggyBankController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($piggyBank, new PiggyBankTransformer($this->parameters), 'piggy_banks'); + /** @var PiggyBankTransformer $transformer */ + $transformer = app(PiggyBankTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($piggyBank, $transformer, 'piggy_banks'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/PreferenceController.php b/app/Api/V1/Controllers/PreferenceController.php index 8d23b02904..643c264a07 100644 --- a/app/Api/V1/Controllers/PreferenceController.php +++ b/app/Api/V1/Controllers/PreferenceController.php @@ -71,7 +71,12 @@ class PreferenceController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($preferences, new PreferenceTransformer($this->parameters), 'preferences'); + + /** @var PreferenceTransformer $transformer */ + $transformer = app(PreferenceTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($preferences, $transformer, 'preferences'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -115,7 +120,11 @@ class PreferenceController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($result, new PreferenceTransformer($this->parameters), 'preferences'); + /** @var PreferenceTransformer $transformer */ + $transformer = app(PreferenceTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($result, $transformer, 'preferences'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/RecurrenceController.php b/app/Api/V1/Controllers/RecurrenceController.php index 8fbcb98c85..2e3d36b82c 100644 --- a/app/Api/V1/Controllers/RecurrenceController.php +++ b/app/Api/V1/Controllers/RecurrenceController.php @@ -115,7 +115,12 @@ class RecurrenceController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($piggyBanks, new RecurrenceTransformer($this->parameters), 'recurrences'); + + /** @var RecurrenceTransformer $transformer */ + $transformer = app(RecurrenceTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($piggyBanks, $transformer, 'recurrences'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -136,7 +141,11 @@ class RecurrenceController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($recurrence, new RecurrenceTransformer($this->parameters), 'recurrences'); + /** @var RecurrenceTransformer $transformer */ + $transformer = app(RecurrenceTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($recurrence, $transformer, 'recurrences'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -156,7 +165,12 @@ class RecurrenceController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($recurrence, new RecurrenceTransformer($this->parameters), 'recurrences'); + + /** @var RecurrenceTransformer $transformer */ + $transformer = app(RecurrenceTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($recurrence, $transformer, 'recurrences'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -204,7 +218,12 @@ class RecurrenceController extends Controller $paginator = $collector->getPaginatedTransactions(); $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -230,6 +249,7 @@ class RecurrenceController extends Controller if (true === $result) { return response()->json([], 200); } + return response()->json([], 418); // @codeCoverageIgnore } @@ -248,8 +268,11 @@ class RecurrenceController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); + /** @var RecurrenceTransformer $transformer */ + $transformer = app(RecurrenceTransformer::class); + $transformer->setParameters($this->parameters); - $resource = new Item($category, new RecurrenceTransformer($this->parameters), 'recurrences'); + $resource = new Item($category, $transformer, 'recurrences'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/RuleController.php b/app/Api/V1/Controllers/RuleController.php index 10eb4456df..af68938173 100644 --- a/app/Api/V1/Controllers/RuleController.php +++ b/app/Api/V1/Controllers/RuleController.php @@ -120,7 +120,12 @@ class RuleController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($rules, new RuleTransformer($this->parameters), 'rules'); + + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($rules, $transformer, 'rules'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -141,7 +146,11 @@ class RuleController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($rule, new RuleTransformer($this->parameters), 'rules'); + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($rule, $transformer, 'rules'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -161,7 +170,11 @@ class RuleController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($rule, new RuleTransformer($this->parameters), 'rules'); + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($rule, $transformer, 'rules'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -222,7 +235,12 @@ class RuleController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($matchingTransactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($matchingTransactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -288,7 +306,11 @@ class RuleController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($rule, new RuleTransformer($this->parameters), 'rules'); + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($rule, $transformer, 'rules'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/RuleGroupController.php b/app/Api/V1/Controllers/RuleGroupController.php index 6000a29cd6..d612d1566f 100644 --- a/app/Api/V1/Controllers/RuleGroupController.php +++ b/app/Api/V1/Controllers/RuleGroupController.php @@ -31,7 +31,6 @@ use FireflyIII\Models\AccountType; use FireflyIII\Models\Rule; use FireflyIII\Models\RuleGroup; use FireflyIII\Repositories\Account\AccountRepositoryInterface; -use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; use FireflyIII\TransactionRules\TransactionMatcher; use FireflyIII\Transformers\RuleGroupTransformer; @@ -123,7 +122,12 @@ class RuleGroupController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($ruleGroups, new RuleGroupTransformer($this->parameters), 'rule_groups'); + + /** @var RuleGroupTransformer $transformer */ + $transformer = app(RuleGroupTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($ruleGroups, $transformer, 'rule_groups'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -155,7 +159,12 @@ class RuleGroupController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($rules, new RuleTransformer($this->parameters), 'rules'); + + /** @var RuleTransformer $transformer */ + $transformer = app(RuleTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($rules, $transformer, 'rules'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -176,7 +185,11 @@ class RuleGroupController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($ruleGroup, new RuleGroupTransformer($this->parameters), 'rule_groups'); + /** @var RuleGroupTransformer $transformer */ + $transformer = app(RuleGroupTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($ruleGroup, $transformer, 'rule_groups'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -196,7 +209,11 @@ class RuleGroupController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($ruleGroup, new RuleGroupTransformer($this->parameters), 'rule_groups'); + /** @var RuleGroupTransformer $transformer */ + $transformer = app(RuleGroupTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($ruleGroup, $transformer, 'rule_groups'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -269,7 +286,12 @@ class RuleGroupController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($matchingTransactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($matchingTransactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -340,7 +362,11 @@ class RuleGroupController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($ruleGroup, new RuleGroupTransformer($this->parameters), 'rule_groups'); + /** @var RuleGroupTransformer $transformer */ + $transformer = app(RuleGroupTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($ruleGroup, $transformer, 'rule_groups'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/TagController.php b/app/Api/V1/Controllers/TagController.php index 353d978fa5..407024a9ba 100644 --- a/app/Api/V1/Controllers/TagController.php +++ b/app/Api/V1/Controllers/TagController.php @@ -112,7 +112,12 @@ class TagController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($rules, new TagTransformer($this->parameters), 'tags'); + + /** @var TagTransformer $transformer */ + $transformer = app(TagTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($rules, $transformer, 'tags'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -133,7 +138,11 @@ class TagController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($tag, new TagTransformer($this->parameters), 'tags'); + /** @var TagTransformer $transformer */ + $transformer = app(TagTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($tag, $transformer, 'tags'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -153,7 +162,11 @@ class TagController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($rule, new TagTransformer($this->parameters), 'tags'); + /** @var TagTransformer $transformer */ + $transformer = app(TagTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($rule, $transformer, 'tags'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -199,7 +212,11 @@ class TagController extends Controller $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -219,8 +236,11 @@ class TagController extends Controller $manager = new Manager(); $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); + /** @var TagTransformer $transformer */ + $transformer = app(TagTransformer::class); + $transformer->setParameters($this->parameters); - $resource = new Item($rule, new TagTransformer($this->parameters), 'tags'); + $resource = new Item($rule, $transformer, 'tags'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/TransactionController.php b/app/Api/V1/Controllers/TransactionController.php index 3de1237088..e442947c13 100644 --- a/app/Api/V1/Controllers/TransactionController.php +++ b/app/Api/V1/Controllers/TransactionController.php @@ -92,7 +92,12 @@ class TransactionController extends Controller $manager->setSerializer(new JsonApiSerializer($baseUrl)); $attachments = $this->repository->getAttachmentsByTr($transaction); - $resource = new FractalCollection($attachments, new AttachmentTransformer($this->parameters), 'attachments'); + + /** @var AttachmentTransformer $transformer */ + $transformer = app(AttachmentTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($attachments, $transformer, 'attachments'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -152,7 +157,11 @@ class TransactionController extends Controller $paginator->setPath(route('api.v1.transactions.index') . $this->buildParams()); $transactions = $paginator->getCollection(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -170,8 +179,13 @@ class TransactionController extends Controller $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $events = $this->repository->getPiggyBankEventsByTr($transaction); - $resource = new FractalCollection($events, new PiggyBankEventTransformer($this->parameters), 'piggy_bank_events'); + $events = $this->repository->getPiggyBankEventsByTr($transaction); + + /** @var PiggyBankEventTransformer $transformer */ + $transformer = app(PiggyBankEventTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($events, $transformer, 'piggy_bank_events'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -208,7 +222,10 @@ class TransactionController extends Controller } $transactions = $collector->getTransactions(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + $resource = new FractalCollection($transactions, $transformer, 'transactions'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -252,7 +269,12 @@ class TransactionController extends Controller } $transactions = $collector->getTransactions(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -296,7 +318,12 @@ class TransactionController extends Controller } $transactions = $collector->getTransactions(); - $resource = new FractalCollection($transactions, new TransactionTransformer($this->parameters), 'transactions'); + + /** @var TransactionTransformer $transformer */ + $transformer = app(TransactionTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($transactions, $transformer, 'transactions'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/TransactionLinkController.php b/app/Api/V1/Controllers/TransactionLinkController.php index 08e311ccf8..1c58a560e1 100644 --- a/app/Api/V1/Controllers/TransactionLinkController.php +++ b/app/Api/V1/Controllers/TransactionLinkController.php @@ -30,6 +30,7 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use FireflyIII\Support\Http\Api\TransactionFilter; use FireflyIII\Transformers\JournalLinkTransformer; +use FireflyIII\Transformers\TransactionLinkTransformer; use FireflyIII\User; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -119,7 +120,12 @@ class TransactionLinkController extends Controller // present to user. $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new FractalCollection($journalLinks, new JournalLinkTransformer($this->parameters), 'transaction_links'); + + /** @var TransactionLinkTransformer $transformer */ + $transformer = app(TransactionLinkTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($journalLinks, $transformer, 'transaction_links'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -139,7 +145,12 @@ class TransactionLinkController extends Controller $manager = new Manager; $baseUrl = $request->getSchemeAndHttpHost() . '/api/v1'; $manager->setSerializer(new JsonApiSerializer($baseUrl)); - $resource = new Item($journalLink, new JournalLinkTransformer($this->parameters), 'transaction_links'); + + /** @var TransactionLinkTransformer $transformer */ + $transformer = app(TransactionLinkTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($journalLink, $transformer, 'transaction_links'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -165,7 +176,12 @@ class TransactionLinkController extends Controller $data['direction'] = 'inward'; $journalLink = $this->repository->storeLink($data, $inward, $outward); - $resource = new Item($journalLink, new JournalLinkTransformer($this->parameters), 'transaction_links'); + + /** @var TransactionLinkTransformer $transformer */ + $transformer = app(TransactionLinkTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($journalLink, $transformer, 'transaction_links'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -174,7 +190,7 @@ class TransactionLinkController extends Controller /** * Update object. * - * @param TransactionLinkRequest $request + * @param TransactionLinkRequest $request * @param TransactionJournalLink $journalLink * * @return JsonResponse @@ -182,7 +198,7 @@ class TransactionLinkController extends Controller */ public function update(TransactionLinkRequest $request, TransactionJournalLink $journalLink): JsonResponse { - $manager = new Manager; + $manager = new Manager; $data = $request->getAll(); $data['inward'] = $this->journalRepository->findNull($data['inward_id'] ?? 0); $data['outward'] = $this->journalRepository->findNull($data['outward_id'] ?? 0); @@ -192,7 +208,11 @@ class TransactionLinkController extends Controller $data['direction'] = 'inward'; $journalLink = $this->repository->updateLink($journalLink, $data); - $resource = new Item($journalLink, new JournalLinkTransformer($this->parameters), 'transaction_links'); + /** @var TransactionLinkTransformer $transformer */ + $transformer = app(TransactionLinkTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($journalLink, $transformer, 'transaction_links'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Api/V1/Controllers/UserController.php b/app/Api/V1/Controllers/UserController.php index 9624fc04e6..f19961f8ca 100644 --- a/app/Api/V1/Controllers/UserController.php +++ b/app/Api/V1/Controllers/UserController.php @@ -113,7 +113,11 @@ class UserController extends Controller $paginator->setPath(route('api.v1.users.index') . $this->buildParams()); // make resource - $resource = new FractalCollection($users, new UserTransformer($this->parameters), 'users'); + /** @var UserTransformer $transformer */ + $transformer = app(UserTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new FractalCollection($users, $transformer, 'users'); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); @@ -135,7 +139,11 @@ class UserController extends Controller $manager->setSerializer(new JsonApiSerializer($baseUrl)); // make resource - $resource = new Item($user, new UserTransformer($this->parameters), 'users'); + /** @var UserTransformer $transformer */ + $transformer = app(UserTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($user, $transformer, 'users'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -158,7 +166,12 @@ class UserController extends Controller $manager->setSerializer(new JsonApiSerializer($baseUrl)); // make resource - $resource = new Item($user, new UserTransformer($this->parameters), 'users'); + + /** @var UserTransformer $transformer */ + $transformer = app(UserTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($user, $transformer, 'users'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); } @@ -182,7 +195,11 @@ class UserController extends Controller $manager->setSerializer(new JsonApiSerializer($baseUrl)); // make resource - $resource = new Item($user, new UserTransformer($this->parameters), 'users'); + /** @var UserTransformer $transformer */ + $transformer = app(UserTransformer::class); + $transformer->setParameters($this->parameters); + + $resource = new Item($user, $transformer, 'users'); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json'); diff --git a/app/Transformers/JournalLinkTransformer.php b/app/Transformers/TransactionLinkTransformer.php similarity index 100% rename from app/Transformers/JournalLinkTransformer.php rename to app/Transformers/TransactionLinkTransformer.php