%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/common/Workspaces/Actions/ |
Current File : /home/graphicd/public_html/vebto/common/Workspaces/Actions/RemoveMemberFromWorkspace.php |
<?php namespace Common\Workspaces\Actions; use Common\Workspaces\Workspace; use Common\Workspaces\WorkspaceMember; use const App\Providers\WORKSPACED_RESOURCES; class RemoveMemberFromWorkspace { public function execute(Workspace $workspace, int $userToBeRemoved) { // transfer workspace resources to owner if ($workspace->owner_id !== $userToBeRemoved) { foreach (WORKSPACED_RESOURCES as $model) { $baseName = class_basename($model); $namespace = "App\Workspaces\Transfer{$baseName}"; if (class_exists($namespace)) { app($namespace)->execute($workspace->id, $workspace->owner_id, $userToBeRemoved); } else { app($model) ->where('workspace_id', $workspace->id) ->where('user_id', $userToBeRemoved) ->update(['user_id' => $workspace->owner_id]); } } } app(WorkspaceMember::class) ->where('workspace_id', $workspace->id) ->where('user_id', $userToBeRemoved) ->delete(); } }