DefaultRecipientController.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Requests\EditDefaultRecipientRequest;
  4. use App\Http\Requests\UpdateDefaultRecipientRequest;
  5. use App\Notifications\DefaultRecipientUpdated;
  6. class DefaultRecipientController extends Controller
  7. {
  8. /**
  9. * Create a new controller instance.
  10. *
  11. * @return void
  12. */
  13. public function __construct()
  14. {
  15. $this->middleware('throttle:1,1')->only('edit');
  16. $this->middleware('throttle:3,1')->only('update');
  17. }
  18. public function update(UpdateDefaultRecipientRequest $request)
  19. {
  20. $recipient = user()->verifiedRecipients()->findOrFail($request->default_recipient);
  21. $currentDefaultRecipient = user()->defaultRecipient;
  22. user()->default_recipient = $recipient;
  23. user()->save();
  24. if ($currentDefaultRecipient->id !== $recipient->id) {
  25. $currentDefaultRecipient->notify(new DefaultRecipientUpdated($recipient->email));
  26. }
  27. return back()->with(['status' => 'Default Recipient Updated Successfully']);
  28. }
  29. public function edit(EditDefaultRecipientRequest $request)
  30. {
  31. $recipient = user()->defaultRecipient;
  32. $recipient->email = $request->email;
  33. $recipient->save();
  34. user()->sendEmailVerificationNotification();
  35. return back()->with(['status' => 'Email Updated Successfully, Please Check Your Inbox For The Verification Email']);
  36. }
  37. }