Transfer Content Ownership To Team Folder Owner after member was deleted by author of team folder

This commit is contained in:
Čarodej
2021-11-05 07:01:44 +01:00
parent 02582f2ae3
commit 8b5e5fecfb
3 changed files with 39 additions and 8 deletions

View File

@@ -6,7 +6,10 @@ use Domain\Folders\Models\Folder;
class UpdateMembersAction
{
// TODO: after removing user from team folder from administrator, set file owner
public function __construct(
public TransferContentOwnershipToTeamFolderOwnerAction $transferContentOwnership,
) {}
public function __invoke(Folder $folder, $members): void
{
$existingMembers = $folder
@@ -24,6 +27,9 @@ class UpdateMembersAction
->where('parent_id', $folder->id)
->whereIn('user_id', $deletedMembers->toArray())
->delete();
// Transfer files/folders ownership to team folder owner
$deletedMembers->each(fn ($memberId) => ($this->transferContentOwnership)($folder, $memberId));
}
// Update privileges