mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-21 09:12:14 +00:00
create/get upload request backend
This commit is contained in:
@@ -5,13 +5,13 @@ namespace Domain\UploadRequest\Controllers;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Auth;
|
||||
use Domain\UploadRequest\Notifications\UploadRequestNotification;
|
||||
use Domain\UploadRequest\Requests\StoreUploadRequest;
|
||||
use Domain\UploadRequest\Resources\UploadRequestResource;
|
||||
use Illuminate\Http\Request;
|
||||
use Notification;
|
||||
|
||||
class CreateUploadRequestController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request)
|
||||
public function __invoke(StoreUploadRequest $request)
|
||||
{
|
||||
$uploadRequest = Auth::user()->uploadRequest()->create([
|
||||
'folder_id' => $request->input('folder_id'),
|
||||
@@ -19,8 +19,11 @@ class CreateUploadRequestController extends Controller
|
||||
'notes' => $request->input('notes'),
|
||||
]);
|
||||
|
||||
Notification::route('mail', $uploadRequest->email)
|
||||
->notify(new UploadRequestNotification($uploadRequest));
|
||||
// If user type email, notify by email
|
||||
if ($uploadRequest->email) {
|
||||
Notification::route('mail', $uploadRequest->email)
|
||||
->notify(new UploadRequestNotification($uploadRequest));
|
||||
}
|
||||
|
||||
return response(new UploadRequestResource($uploadRequest), 201);
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ class UploadRequestNotification extends Notification implements ShouldQueue
|
||||
->subject("{$this->uploadRequest->user->settings->first_name} Request You for File Upload")
|
||||
->greeting('Hello')
|
||||
->line("We are emailing you because {$this->uploadRequest->user->settings->first_name} needs files from you. Please click on the link below and upload your files for {$this->uploadRequest->user->settings->first_name}.")
|
||||
->action('Upload Files', url('/'))
|
||||
->action('Upload Files', url("/request/{$this->uploadRequest->id}/upload"))
|
||||
->line('Thank you for using our application!');
|
||||
}
|
||||
|
||||
|
||||
32
src/Domain/UploadRequest/Requests/StoreUploadRequest.php
Normal file
32
src/Domain/UploadRequest/Requests/StoreUploadRequest.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Domain\UploadRequest\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class StoreUploadRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'email' => 'sometimes|string',
|
||||
'notes' => 'sometimes|string',
|
||||
'folder_id' => 'required|string',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Domain\UploadRequest\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
@@ -12,16 +13,17 @@ class UploadRequestResource extends JsonResource
|
||||
'id' => $this->id,
|
||||
'type' => 'upload-request',
|
||||
'attributes' => [
|
||||
'folder_id' => $this->folder_id,
|
||||
'status' => $this->status,
|
||||
'email' => $this->email,
|
||||
'notes' => $this->notes,
|
||||
'folder_id' => $this->folder_id,
|
||||
'status' => $this->status,
|
||||
'email' => $this->email,
|
||||
'notes' => $this->notes,
|
||||
'url' => url("/request/$this->id/upload"),
|
||||
],
|
||||
'relationships' => [
|
||||
'user' => [
|
||||
'data' => [
|
||||
'id' => $this->user->id,
|
||||
'type' => 'user',
|
||||
'id' => $this->user->id,
|
||||
'type' => 'user',
|
||||
'attributes' => [
|
||||
'name' => $this->user->settings->name,
|
||||
'avatar' => $this->user->settings->avatar,
|
||||
|
||||
Reference in New Issue
Block a user