- gate implementation

- protected shared view fix
This commit is contained in:
Čarodej
2021-09-24 10:52:19 +02:00
parent d40108f6a9
commit 19cc01131b
84 changed files with 876 additions and 406 deletions
@@ -2,6 +2,7 @@
namespace Domain\Files\Controllers;
use Domain\Files\Models\File;
use Gate;
use Illuminate\Http\Response;
use Domain\Sharing\Models\Share;
use Domain\Files\Resources\FileResource;
@@ -12,22 +13,16 @@ use Domain\Sharing\Actions\ProtectShareRecordAction;
*/
class VisitorShowFileController
{
public function __construct(
private ProtectShareRecordAction $protectShareRecord,
) {
}
public function __invoke(
Share $shared
): Response {
// Check ability to access protected share files
($this->protectShareRecord)($shared);
// Get file
$file = File::whereUserId($shared->user_id)
->whereId($shared->item_id)
->firstOrFail();
Gate::authorize('can-visit', [$file, $shared]);
// Set access urls
$file->setPublicUrl($shared->token);