From 458dd1fa4adf468eeace43432638b82ecb5c1359 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 27 Jan 2021 09:17:27 +1100 Subject: [PATCH] Soft delete/restore tokens in sync with CompanyGateway" --- app/Models/CompanyGateway.php | 5 +++++ app/Observers/CompanyGatewayObserver.php | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Models/CompanyGateway.php b/app/Models/CompanyGateway.php index 9823753544c4..0851618b6bf3 100644 --- a/app/Models/CompanyGateway.php +++ b/app/Models/CompanyGateway.php @@ -87,6 +87,11 @@ class CompanyGateway extends BaseModel return $this->belongsTo(Company::class); } + public function client_gateway_tokens() + { + return $this->hasMany(ClientGatewayToken::class); + } + public function gateway() { return $this->belongsTo(Gateway::class, 'gateway_key', 'key'); diff --git a/app/Observers/CompanyGatewayObserver.php b/app/Observers/CompanyGatewayObserver.php index 83eb246108ab..819fc021b3ad 100644 --- a/app/Observers/CompanyGatewayObserver.php +++ b/app/Observers/CompanyGatewayObserver.php @@ -2,6 +2,7 @@ namespace App\Observers; +use App\Models\ClientGatewayToken; use App\Models\CompanyGateway; class CompanyGatewayObserver @@ -41,7 +42,8 @@ class CompanyGatewayObserver */ public function deleted(CompanyGateway $company_gateway) { - // + //when we soft delete a gateway - we also soft delete the tokens + $company_gateway->client_gateway_tokens()->delete(); } /** @@ -52,7 +54,8 @@ class CompanyGatewayObserver */ public function restored(CompanyGateway $company_gateway) { - // + //When we restore the gateway, bring back the tokens! + ClientGatewayToken::where('company_gateway_id', $company_gateway->id)->withTrashed()->get()->restore(); } /**