This commit is contained in:
Peter Papp
2021-07-22 17:26:22 +02:00
parent 093c9451ec
commit fffede1c10
12 changed files with 53 additions and 44 deletions
@@ -1,7 +1,6 @@
<?php
namespace Domain\Sharing\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Domain\Zip\Models\Zip;
use Domain\Sharing\Models\Share;
@@ -18,9 +17,9 @@ class ShareController extends Controller
* Get shared record
*/
public function show(
Share $shared,
Share $share,
): ShareResource {
return new ShareResource($shared);
return new ShareResource($share);
}
/**
@@ -57,20 +56,21 @@ class ShareController extends Controller
*/
public function update(
UpdateShareRequest $request,
Share $shared,
Share $share,
): ShareResource {
// Update sharing record
$shared->update([
$share->update([
'permission' => $request->input('permission'),
'is_protected' => $request->input('protected'),
'expire_in' => $request->input('expiration'),
'password' => $request->input('password')
? bcrypt($request->input('password'))
: $shared->password,
: $share->password,
]);
// Return shared record
return new ShareResource($shared);
return new ShareResource($share);
}
/**
@@ -20,18 +20,18 @@ class SharePublicIndexController extends Controller
}
public function __invoke(
Share $shared,
Share $share,
): View | StreamedResponse {
// Delete share_session if exist
if ($shared->is_protected) {
if ($share->is_protected) {
cookie()->queue('share_session', '', -1);
}
// Check if shared is image file and then show it
if ($shared->type === 'file' && ! $shared->is_protected) {
$image = File::whereUserId($shared->user_id)
if ($share->type === 'file' && ! $share->is_protected) {
$image = File::whereUserId($share->user_id)
->whereType('image')
->whereId($shared->item_id)
->whereId($share->item_id)
->first();
if ($image) {
@@ -39,9 +39,9 @@ class SharePublicIndexController extends Controller
$fileSize = (int) $image->getRawOriginal('filesize');
// Store user download size
($this->recordDownload)($fileSize, $shared->user->id);
($this->recordDownload)($fileSize, $share->user->id);
return $this->get_single_image($image, $shared->user_id);
return $this->get_single_image($image, $share->user_id);
}
}
@@ -11,30 +11,30 @@ class WebCrawlerOpenGraphController extends Controller
* Get og site for web crawlers
*/
public function __invoke(
Share $shared
Share $share
): View {
$namespace = match ($shared->type) {
$namespace = match ($share->type) {
'folder' => 'Domain\\Folders\\Models\\Folder',
'file' => 'Domain\\Files\\Models\\File',
};
// Get file/folder record
$item = ($namespace)::where('user_id', $shared->user->id)
->where('id', $shared->item_id)
$item = ($namespace)::where('user_id', $share->user->id)
->where('id', $share->item_id)
->first();
if ($item->thumbnail) {
$item->setPublicUrl($shared->token);
$item->setPublicUrl($share->token);
}
return view('vuefilemanager.crawler.og-view')
->with('settings', get_settings_in_json())
->with('metadata', [
'url' => url('/share', ['token' => $shared->token]),
'is_protected' => $shared->is_protected,
'user' => $shared->user->settings->name,
'url' => url('/share', ['token' => $share->token]),
'is_protected' => $share->is_protected,
'user' => $share->user->settings->name,
'name' => $item->name,
'size' => $shared->type === 'folder'
'size' => $share->type === 'folder'
? $item->items
: $item->filesize,
'thumbnail' => $item->thumbnail ?? null,