From 3542e35da040eaaa4857c7450511255084541035 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 7 Sep 2022 15:09:53 +1000 Subject: [PATCH] Add bank integrations into default includes --- app/Http/Controllers/BaseController.php | 22 ++++++++++++++++++++++ app/Models/Company.php | 5 +++++ app/Transformers/CompanyTransformer.php | 10 ++++++++++ resources/views/bank/yodlee/auth.blade.php | 1 - 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 4728fdd5a3cd..4a31d53c851f 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -105,6 +105,7 @@ class BaseController extends Controller 'company.vendors.documents', 'company.webhooks', 'company.system_logs', + 'company.bank_integrations', ]; private $mini_load = [ @@ -122,6 +123,7 @@ class BaseController extends Controller 'company.designs.company', 'company.expense_categories', 'company.subscriptions', + 'company.bank_integrations', ]; public function __construct() @@ -438,6 +440,13 @@ class BaseController extends Controller $query->where('subscriptions.user_id', $user->id); } }, + 'company.bank_integrations'=> function ($query) use ($updated_at, $user) { + $query->whereNotNull('updated_at'); + + if (! $user->isAdmin()) { + $query->where('bank_integrations.user_id', $user->id); + } + }, ] ); @@ -497,6 +506,12 @@ class BaseController extends Controller $query->where('activities.user_id', $user->id); } }, + 'company.bank_integrations'=> function ($query) use ($created_at, $user) { + + if (! $user->isAdmin()) { + $query->where('bank_integrations.user_id', $user->id); + } + }, ] ); @@ -741,6 +756,13 @@ class BaseController extends Controller } }, + 'company.bank_integrations'=> function ($query) use ($created_at, $user) { + $query->where('created_at', '>=', $created_at); + + if (! $user->isAdmin()) { + $query->where('bank_integrations.user_id', $user->id); + } + }, ] ); diff --git a/app/Models/Company.php b/app/Models/Company.php index b485e14b4024..6cc051b398e4 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -176,6 +176,11 @@ class Company extends BaseModel return $this->hasMany(CompanyLedger::class); } + public function bank_integrations() + { + return $this->hasMany(BankIntegration::class); + } + public function getCompanyIdAttribute() { return $this->encodePrimaryKey($this->id); diff --git a/app/Transformers/CompanyTransformer.php b/app/Transformers/CompanyTransformer.php index 81c5ac018edf..0544d683b7b9 100644 --- a/app/Transformers/CompanyTransformer.php +++ b/app/Transformers/CompanyTransformer.php @@ -13,6 +13,7 @@ namespace App\Transformers; use App\Models\Account; use App\Models\Activity; +use App\Models\BankIntegration; use App\Models\Client; use App\Models\Company; use App\Models\CompanyGateway; @@ -40,6 +41,7 @@ use App\Models\TaskStatus; use App\Models\TaxRate; use App\Models\User; use App\Models\Webhook; +use App\Transformers\BankIntegrationTransformer; use App\Transformers\PurchaseOrderTransformer; use App\Transformers\RecurringExpenseTransformer; use App\Utils\Traits\MakesHash; @@ -98,6 +100,7 @@ class CompanyTransformer extends EntityTransformer 'subscriptions', 'recurring_expenses', 'purchase_orders', + 'bank_integrations', ]; /** @@ -217,6 +220,13 @@ class CompanyTransformer extends EntityTransformer return $this->includeCollection($company->tokens, $transformer, CompanyToken::class); } + public function includeBankIntegrations(Company $company) + { + $transformer = new BankIntegrationTransformer($this->serializer); + + return $this->includeCollection($company->bank_integrations, $transformer, BankIntegration::class); + } + public function includeTokensHashed(Company $company) { $transformer = new CompanyTokenHashedTransformer($this->serializer); diff --git a/resources/views/bank/yodlee/auth.blade.php b/resources/views/bank/yodlee/auth.blade.php index f0adbf33558f..e2a6b5c87876 100644 --- a/resources/views/bank/yodlee/auth.blade.php +++ b/resources/views/bank/yodlee/auth.blade.php @@ -79,7 +79,6 @@ @endsection - @push('footer')