controller refactoring part 15

This commit is contained in:
Peter Papp
2021-07-21 09:42:39 +02:00
parent 1534696e0d
commit 58d8724cea
47 changed files with 516 additions and 522 deletions
@@ -0,0 +1,34 @@
<?php
namespace Domain\Admin\Actions;
use App\Users\Models\User;
use DB;
use Illuminate\Support\Facades\Storage;
class DeleteUserDataAction
{
/**
* Delete all user data including files, folders, avatar etc.
*/
public function __invoke(User $user)
{
// Delete user avatar if exists
if ($user->settings->getRawOriginal('avatar')) {
Storage::delete($user->settings->getRawOriginal('avatar'));
}
// Delete all user files
Storage::deleteDirectory("files/$user->id");
// Delete all user records in database
collect(['folders', 'files', 'user_settings', 'shares', 'favourite_folder', 'zips', 'traffic'])
->each(function ($table) use ($user) {
DB::table($table)
->whereUserId($user->id)
->delete();
});
}
}