-
app/Jobs/DeletePipeline/DeleteRemoteProfilePipeline.php
Open in GitHubclass DeleteRemoteProfilePipeline implements ShouldQueue { // public function handle() { $profile = $this->profile; if($profile->domain == null || $profile->private_key) { return; } DB::transaction(function() use ($profile) { $profile->avatar->forceDelete(); $id = $profile->id; MediaTag::whereProfileId($id)->delete(); StatusHashtag::whereProfileId($id)->delete(); DirectMessage::whereFromId($id)->delete(); FollowRequest::whereFollowingId($id) ->orWhere('follower_id', $id) ->forceDelete(); Follower::whereProfileId($id) ->orWhere('following_id', $id) ->forceDelete(); Like::whereProfileId($id)->forceDelete(); }); DB::transaction(function() use ($profile) { $pid = $profile->id; StoryView::whereProfileId($pid)->delete(); $stories = Story::whereProfileId($pid)->get(); foreach($stories as $story) { $path = storage_path('app/'.$story->path); if(is_file($path)) { unlink($path); } $story->forceDelete(); } }); DB::transaction(function() use ($profile) { $medias = Media::whereProfileId($profile->id)->get(); foreach($medias as $media) { $path = storage_path('app/'.$media->media_path); $thumb = storage_path('app/'.$media->thumbnail_path); if(is_file($path)) { unlink($path); } if(is_file($thumb)) { unlink($thumb); } $media->forceDelete(); } }); // } }