improved email throttle

This commit is contained in:
Denis Duliçi
2022-09-14 11:53:22 +03:00
parent bf2f83981c
commit eb3b080ee8
7 changed files with 92 additions and 41 deletions

View File

@ -7,9 +7,13 @@ use App\Models\Document\Document;
use App\Notifications\Sale\Invoice as Notification;
use App\Jobs\Document\SendDocumentAsCustomMail;
use App\Http\Requests\Common\CustomMail as Request;
use Illuminate\Http\JsonResponse;
use App\Traits\Emails;
class InvoiceEmails extends Controller
{
use Emails;
/**
* Instantiate a new controller instance.
*/
@ -22,14 +26,7 @@ class InvoiceEmails extends Controller
$this->middleware('permission:delete-sales-invoices')->only('destroy');
}
/**
* Show the form for creating a new resource.
*
* @param Document $invoice
*
* @return Response
*/
public function create(Document $invoice)
public function create(Document $invoice): JsonResponse
{
$notification = new Notification($invoice, 'invoice_new_customer', true);
@ -58,16 +55,9 @@ class InvoiceEmails extends Controller
]);
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
*
* @return Response
*/
public function store(Request $request)
public function store(Request $request): JsonResponse
{
$response = $this->ajaxDispatch(new SendDocumentAsCustomMail($request, 'invoice_new_customer'));
$response = $this->sendEmail(new SendDocumentAsCustomMail($request, 'invoice_new_customer'));
if ($response['success']) {
$invoice = Document::find($request->get('document_id'));