- 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
@@ -23,7 +23,7 @@ class UploadFileController extends Controller
public function __invoke(
UploadRequest $request,
): Response | array {
if (is_demo_account('howdy@hi5ve.digital')) {
if (is_demo_account()) {
return ($this->fakeUploadFile)($request);
}
@@ -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);
@@ -27,7 +27,7 @@ class VisitorUploadFileController extends Controller
UploadRequest $request,
Share $shared,
): Response | array {
if (is_demo_account($shared->user->email)) {
if (is_demo_account()) {
return ($this->fakeUploadFile)($request);
}
@@ -40,7 +40,7 @@ class VisitorUploadFileController extends Controller
}
// Check access to requested directory
($this->verifyAccessToItem)($request->input('folder_id'), $shared);
($this->verifyAccessToItem)($request->input('parent_id'), $shared);
// Return new uploaded file
$new_file = ($this->uploadFile)($request, $shared);