user->id; } public function handle(): void { $user = $this->user->fresh(); if ($user === null || $user->encryption_salt === null) { return; } if ($this->hasResidualEncryptedData($user)) { return; } $user->encryptedMessage()->delete(); $user->update(['encryption_salt' => null]); } private function hasResidualEncryptedData(User $user): bool { $hasEncryptedAccounts = $user->accounts() ->whereNotNull('name_iv') ->exists(); if ($hasEncryptedAccounts) { return true; } return $user->transactions() ->where(function (Builder $query): void { $query->whereNotNull('description_iv') ->orWhereNotNull('notes_iv'); }) ->exists(); } }