remote upload api update

This commit is contained in:
Čarodej
2022-05-03 07:55:48 +02:00
parent 0f42704980
commit aca289b5a6
3 changed files with 32 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
<?php
namespace Domain\RemoteUpload\Controllers;
use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse;
use Domain\Sharing\Models\Share;
use Domain\Folders\Models\Folder;
use App\Http\Controllers\Controller;
@@ -15,10 +15,15 @@ class RemoteUploadFileController extends Controller
) {
}
public function __invoke(RemoteUploadRequest $request, ?Share $shared = null): Response|array
public function __invoke(RemoteUploadRequest $request, ?Share $shared = null): JsonResponse
{
$successMessage = [
'type' => 'success',
'message' => 'Files was successfully uploaded.',
];
if (is_demo_account()) {
return response('Files were successfully added to the upload queue', 201);
return response()->json($successMessage);
}
// Get user
@@ -28,15 +33,21 @@ class RemoteUploadFileController extends Controller
->user
: auth()->user();
// Get content from external sources
if (isBroadcasting()) {
($this->getContentFromExternalSource)
->onQueue()
->execute($request->all(), $user);
} else {
// If it isn't broadcasting, download files immediately in the request
if (isNotBroadcasting()) {
($this->getContentFromExternalSource)($request->all(), $user);
return response()->json($successMessage);
}
return response('Files were successfully added to the upload queue', 201);
// Add links to the upload queue
($this->getContentFromExternalSource)
->onQueue()
->execute($request->all(), $user);
return response()->json([
'type' => 'success',
'message' => 'Files were successfully added to the upload queue.',
]);
}
}

View File

@@ -23,8 +23,8 @@ class RemoteUploadRequest extends FormRequest
public function rules()
{
return [
'urls.*' => 'required|url',
'parent_id' => 'nullable|uuid',
'urls.*' => 'required|url',
];
}
}

View File

@@ -48,6 +48,16 @@ if (! function_exists('isBroadcasting')) {
}
}
if (! function_exists('isNotBroadcasting')) {
/**
* Check if cron is running
*/
function isNotBroadcasting(): bool
{
return config('broadcasting.default') === null;
}
}
if (! function_exists('isRunningCron')) {
/**
* Check if cron is running