mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
file request api update
This commit is contained in:
@@ -50,8 +50,16 @@ class Handler extends ExceptionHandler
|
||||
public function render($request, Throwable $exception)
|
||||
{
|
||||
if ($exception instanceof ModelNotFoundException) {
|
||||
if (in_array('application/json', $request->getAcceptableContentTypes())) {
|
||||
return response()->json([
|
||||
'type' => 'error',
|
||||
'message' => "We couldn't find your requested item.",
|
||||
], 404);
|
||||
}
|
||||
|
||||
return response()
|
||||
->redirectTo('/not-found')->setStatusCode(404);
|
||||
->redirectTo('/not-found')
|
||||
->setStatusCode(404);
|
||||
}
|
||||
|
||||
return parent::render($request, $exception);
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
namespace Domain\UploadRequest\Controllers;
|
||||
|
||||
use Auth;
|
||||
use Gate;
|
||||
use Illuminate\Auth\Access\AuthorizationException;
|
||||
use Notification;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\UploadRequest\Requests\StoreUploadRequest;
|
||||
use Domain\UploadRequest\Resources\UploadRequestResource;
|
||||
@@ -10,8 +14,19 @@ use Domain\UploadRequest\Notifications\UploadRequestNotification;
|
||||
|
||||
class CreateUploadRequestController extends Controller
|
||||
{
|
||||
public function __invoke(StoreUploadRequest $request)
|
||||
/**
|
||||
* @throws AuthorizationException
|
||||
*/
|
||||
public function __invoke(StoreUploadRequest $request): JsonResponse
|
||||
{
|
||||
// Check if user is owner of the file
|
||||
if ($request->has('folder_id')) {
|
||||
$folder = Folder::findOrFail($request->input('folder_id'));
|
||||
|
||||
Gate::authorize('owner', [$folder]);
|
||||
}
|
||||
|
||||
// Create upload request
|
||||
$uploadRequest = Auth::user()->uploadRequest()->create([
|
||||
'folder_id' => $request->input('folder_id'),
|
||||
'email' => $request->input('email'),
|
||||
@@ -20,11 +35,11 @@ class CreateUploadRequestController extends Controller
|
||||
]);
|
||||
|
||||
// If user type email, notify by email
|
||||
if ($uploadRequest->email) {
|
||||
if ($request->has('email')) {
|
||||
Notification::route('mail', $uploadRequest->email)
|
||||
->notify(new UploadRequestNotification($uploadRequest));
|
||||
}
|
||||
|
||||
return response(new UploadRequestResource($uploadRequest), 201);
|
||||
return response()->json(new UploadRequestResource($uploadRequest), 201);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,10 @@ class StoreUploadRequest extends FormRequest
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'email' => 'sometimes|string|nullable',
|
||||
'notes' => 'sometimes|string|nullable',
|
||||
'folder_id' => 'sometimes|string',
|
||||
'name' => 'sometimes|string|nullable',
|
||||
'email' => 'sometimes|email',
|
||||
'notes' => 'sometimes|string',
|
||||
'folder_id' => 'sometimes|uuid',
|
||||
'name' => 'sometimes|string',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user