From 7bbf2dcc6f817d7d9c2b7c853ac301486cfdc032 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 6 Aug 2025 09:18:29 +0200 Subject: [PATCH] Add enrichment. --- app/Api/V1/Controllers/Models/Account/ListController.php | 8 ++++++++ .../V1/Controllers/Models/ObjectGroup/ListController.php | 8 ++++++++ .../V1/Controllers/Models/PiggyBank/ShowController.php | 9 +++++++++ .../V1/Controllers/Models/PiggyBank/StoreController.php | 9 +++++++++ .../V1/Controllers/Models/PiggyBank/UpdateController.php | 9 +++++++++ app/Http/Controllers/PiggyBank/IndexController.php | 9 +++++++++ app/Http/Controllers/PiggyBank/ShowController.php | 9 +++++++++ 7 files changed, 61 insertions(+) diff --git a/app/Api/V1/Controllers/Models/Account/ListController.php b/app/Api/V1/Controllers/Models/Account/ListController.php index aca662f3e6..e29a063aa4 100644 --- a/app/Api/V1/Controllers/Models/Account/ListController.php +++ b/app/Api/V1/Controllers/Models/Account/ListController.php @@ -30,6 +30,7 @@ use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Support\Http\Api\TransactionFilter; +use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Support\JsonApi\Enrichments\TransactionGroupEnrichment; use FireflyIII\Transformers\AttachmentTransformer; use FireflyIII\Transformers\PiggyBankTransformer; @@ -117,6 +118,13 @@ class ListController extends Controller $count = $collection->count(); $piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $piggyBanks = $enrichment->enrich($piggyBanks); + // make paginator: $paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page')); $paginator->setPath(route('api.v1.accounts.piggy-banks', [$account->id]).$this->buildParams()); diff --git a/app/Api/V1/Controllers/Models/ObjectGroup/ListController.php b/app/Api/V1/Controllers/Models/ObjectGroup/ListController.php index 73cd0ab303..18d76b9f31 100644 --- a/app/Api/V1/Controllers/Models/ObjectGroup/ListController.php +++ b/app/Api/V1/Controllers/Models/ObjectGroup/ListController.php @@ -28,6 +28,7 @@ use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\ObjectGroup; use FireflyIII\Repositories\ObjectGroup\ObjectGroupRepositoryInterface; +use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Support\JsonApi\Enrichments\SubscriptionEnrichment; use FireflyIII\Transformers\BillTransformer; use FireflyIII\Transformers\PiggyBankTransformer; @@ -124,6 +125,13 @@ class ListController extends Controller $count = $collection->count(); $piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $piggyBanks = $enrichment->enrich($piggyBanks); + // make paginator: $paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page')); $paginator->setPath(route('api.v1.object-groups.piggy-banks', [$objectGroup->id]).$this->buildParams()); diff --git a/app/Api/V1/Controllers/Models/PiggyBank/ShowController.php b/app/Api/V1/Controllers/Models/PiggyBank/ShowController.php index b156b6c5db..12e85af106 100644 --- a/app/Api/V1/Controllers/Models/PiggyBank/ShowController.php +++ b/app/Api/V1/Controllers/Models/PiggyBank/ShowController.php @@ -30,6 +30,7 @@ use FireflyIII\Models\PiggyBank; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Transformers\PiggyBankTransformer; +use FireflyIII\User; use Illuminate\Http\JsonResponse; use Illuminate\Pagination\LengthAwarePaginator; use League\Fractal\Pagination\IlluminatePaginatorAdapter; @@ -78,6 +79,13 @@ class ShowController extends Controller $count = $collection->count(); $piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $piggyBanks = $enrichment->enrich($piggyBanks); + // make paginator: $paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page')); $paginator->setPath(route('api.v1.piggy-banks.index').$this->buildParams()); @@ -109,6 +117,7 @@ class ShowController extends Controller $enrichment->setUser($admin); $piggyBank = $enrichment->enrichSingle($piggyBank); + /** @var PiggyBankTransformer $transformer */ $transformer = app(PiggyBankTransformer::class); $transformer->setParameters($this->parameters); diff --git a/app/Api/V1/Controllers/Models/PiggyBank/StoreController.php b/app/Api/V1/Controllers/Models/PiggyBank/StoreController.php index fe8b7b7eb9..c5281ce75d 100644 --- a/app/Api/V1/Controllers/Models/PiggyBank/StoreController.php +++ b/app/Api/V1/Controllers/Models/PiggyBank/StoreController.php @@ -28,7 +28,9 @@ use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Models\PiggyBank\StoreRequest; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; +use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Transformers\PiggyBankTransformer; +use FireflyIII\User; use Illuminate\Http\JsonResponse; use League\Fractal\Resource\Item; @@ -68,6 +70,13 @@ class StoreController extends Controller $piggyBank = $this->repository->store($request->getAll()); $manager = $this->getManager(); + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $piggyBank = $enrichment->enrichSingle($piggyBank); + /** @var PiggyBankTransformer $transformer */ $transformer = app(PiggyBankTransformer::class); $transformer->setParameters($this->parameters); diff --git a/app/Api/V1/Controllers/Models/PiggyBank/UpdateController.php b/app/Api/V1/Controllers/Models/PiggyBank/UpdateController.php index 09f4defad1..6f37d4fe92 100644 --- a/app/Api/V1/Controllers/Models/PiggyBank/UpdateController.php +++ b/app/Api/V1/Controllers/Models/PiggyBank/UpdateController.php @@ -28,7 +28,9 @@ use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Models\PiggyBank\UpdateRequest; use FireflyIII\Models\PiggyBank; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; +use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Transformers\PiggyBankTransformer; +use FireflyIII\User; use Illuminate\Http\JsonResponse; use League\Fractal\Resource\Item; @@ -70,6 +72,13 @@ class UpdateController extends Controller $this->repository->setCurrentAmount($piggyBank, $data['current_amount']); } + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $piggyBank = $enrichment->enrichSingle($piggyBank); + $manager = $this->getManager(); /** @var PiggyBankTransformer $transformer */ diff --git a/app/Http/Controllers/PiggyBank/IndexController.php b/app/Http/Controllers/PiggyBank/IndexController.php index 9a07387545..822018a044 100644 --- a/app/Http/Controllers/PiggyBank/IndexController.php +++ b/app/Http/Controllers/PiggyBank/IndexController.php @@ -32,8 +32,10 @@ use FireflyIII\Models\PiggyBank; use FireflyIII\Repositories\ObjectGroup\OrganisesObjectGroups; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; use FireflyIII\Support\JsonApi\Enrichments\AccountEnrichment; +use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Transformers\AccountTransformer; use FireflyIII\Transformers\PiggyBankTransformer; +use FireflyIII\User; use Illuminate\Contracts\View\Factory; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -114,6 +116,13 @@ class IndexController extends Controller $transformer->setParameters(new ParameterBag()); $piggyBanks = []; + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $collection = $enrichment->enrich($collection); + /** @var PiggyBank $piggy */ foreach ($collection as $piggy) { $array = $transformer->transform($piggy); diff --git a/app/Http/Controllers/PiggyBank/ShowController.php b/app/Http/Controllers/PiggyBank/ShowController.php index d1a69a6c1c..e9a2148072 100644 --- a/app/Http/Controllers/PiggyBank/ShowController.php +++ b/app/Http/Controllers/PiggyBank/ShowController.php @@ -29,7 +29,9 @@ use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\PiggyBank; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; +use FireflyIII\Support\JsonApi\Enrichments\PiggyBankEnrichment; use FireflyIII\Transformers\PiggyBankTransformer; +use FireflyIII\User; use Illuminate\Contracts\View\Factory; use Illuminate\View\View; use Symfony\Component\HttpFoundation\ParameterBag; @@ -75,6 +77,13 @@ class ShowController extends Controller $parameters = new ParameterBag(); $parameters->set('end', $end); + // enrich + /** @var User $admin */ + $admin = auth()->user(); + $enrichment = new PiggyBankEnrichment(); + $enrichment->setUser($admin); + $piggyBank = $enrichment->enrichSingle($piggyBank); + /** @var PiggyBankTransformer $transformer */ $transformer = app(PiggyBankTransformer::class); $transformer->setParameters($parameters);