mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-25 02:10:39 +00:00
- send notification to native user when file request was sent via email
- updated mysql dump
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
namespace Domain\UploadRequest\Controllers;
|
||||
|
||||
use Auth;
|
||||
use App\Users\Models\User;
|
||||
use Gate;
|
||||
use Notification;
|
||||
use Domain\Folders\Models\Folder;
|
||||
@@ -28,7 +28,7 @@ class CreateUploadRequestController extends Controller
|
||||
}
|
||||
|
||||
// Create upload request
|
||||
$uploadRequest = Auth::user()->uploadRequest()->create([
|
||||
$uploadRequest = auth()->user()->uploadRequest()->create([
|
||||
'folder_id' => $request->input('folder_id'),
|
||||
'email' => $request->input('email'),
|
||||
'notes' => $request->input('notes'),
|
||||
@@ -37,8 +37,16 @@ class CreateUploadRequestController extends Controller
|
||||
|
||||
// If user type email, notify by email
|
||||
if ($request->has('email')) {
|
||||
Notification::route('mail', $uploadRequest->email)
|
||||
->notify(new UploadRequestNotification($uploadRequest));
|
||||
// Check if user exists
|
||||
$user = User::where('email', $uploadRequest->email)
|
||||
->first();
|
||||
|
||||
if ($user) {
|
||||
$user->notify(new UploadRequestNotification($uploadRequest));
|
||||
} else {
|
||||
Notification::route('mail', $uploadRequest->email)
|
||||
->notify(new UploadRequestNotification($uploadRequest));
|
||||
}
|
||||
}
|
||||
|
||||
return response()->json(new UploadRequestResource($uploadRequest), 201);
|
||||
|
||||
@@ -29,7 +29,7 @@ class UploadRequestNotification extends Notification implements ShouldQueue
|
||||
*/
|
||||
public function via($notifiable)
|
||||
{
|
||||
return ['mail'];
|
||||
return ['mail', 'database', 'broadcast'];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,13 +56,21 @@ class UploadRequestNotification extends Notification implements ShouldQueue
|
||||
|
||||
/**
|
||||
* Get the array representation of the notification.
|
||||
*
|
||||
* @param mixed $notifiable
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($notifiable)
|
||||
public function toArray(mixed $notifiable): array
|
||||
{
|
||||
return [
|
||||
'category' => 'file-request',
|
||||
'title' => __t('file_request_notify_title', ['name' => $this->uploadRequest->user->settings->first_name]),
|
||||
'description' => __t('file_request_notify_center_description', ['name' => $this->uploadRequest->user->settings->first_name]),
|
||||
'action' => [
|
||||
'type' => 'url',
|
||||
'params' => [
|
||||
'target' => 'blank',
|
||||
'url' => url("/request/{$this->uploadRequest->id}/upload"),
|
||||
'button' => __t('upload_files'),
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user