controller refactoring part 24

This commit is contained in:
Peter Papp
2021-07-21 18:46:55 +02:00
parent 54f1f4c9a8
commit 6d8a7a429c
29 changed files with 561 additions and 209 deletions
@@ -0,0 +1,33 @@
<?php
namespace Domain\Sharing\Actions;
use Domain\Files\Models\File;
use Domain\Sharing\Models\Share;
class VerifyAccessToItemWithinAction
{
public function __construct(
private VerifyAccessToItemAction $verifyAccessToItem,
) {
}
/**
* Check user file access
*/
public function __invoke(
Share $shared,
File $file
): void {
// Check by parent folder permission
if ($shared->type === 'folder') {
($this->verifyAccessToItem)($file->folder_id, $shared);
}
// Check by single file permission
if ($shared->type === 'file') {
if ($shared->item_id !== $file->id) {
abort(403);
}
}
}
}