mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 18:54:58 +00:00 
			
		
		
		
	
		
			
	
	
		
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /* | ||
|  |  * AccountObserver.php | ||
|  |  * Copyright (c) 2023 james@firefly-iii.org | ||
|  |  * | ||
|  |  * This file is part of Firefly III (https://github.com/firefly-iii). | ||
|  |  * | ||
|  |  * This program is free software: you can redistribute it and/or modify | ||
|  |  * it under the terms of the GNU Affero General Public License as | ||
|  |  * published by the Free Software Foundation, either version 3 of the | ||
|  |  * License, or (at your option) any later version. | ||
|  |  * | ||
|  |  * This program is distributed in the hope that it will be useful, | ||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||
|  |  * GNU Affero General Public License for more details. | ||
|  |  * | ||
|  |  * You should have received a copy of the GNU Affero General Public License | ||
|  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||
|  |  */ | ||
|  | 
 | ||
|  | declare(strict_types=1); | ||
|  | 
 | ||
|  | namespace FireflyIII\Handlers\Observer; | ||
|  | 
 | ||
|  | use FireflyIII\Models\Account; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Class AccountObserver | ||
|  |  */ | ||
|  | class AccountObserver | ||
|  | { | ||
|  |     /** | ||
|  |      * Also delete related objects. | ||
|  |      * | ||
|  |      * @param Account $account | ||
|  |      * | ||
|  |      * @return void | ||
|  |      */ | ||
|  |     public function deleting(Account $account): void | ||
|  |     { | ||
|  |         app('log')->debug('Observe "deleting" of an account.'); | ||
|  |         $account->accountMeta()->delete(); | ||
|  |         foreach ($account->piggyBanks()->get() as $piggy) { | ||
|  |             $piggy->delete(); | ||
|  |         } | ||
|  |         foreach ($account->attachments()->get() as $attachment) { | ||
|  |             $attachment->delete(); | ||
|  |         } | ||
|  |         foreach ($account->transactions()->get() as $transaction) { | ||
|  |             $transaction->delete(); | ||
|  |         } | ||
|  |         $account->notes()->delete(); | ||
|  |         $account->locations()->delete(); | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  | } |