RecipientController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Requests\StoreRecipientRequest;
  4. use App\Http\Resources\RecipientResource;
  5. class RecipientController extends Controller
  6. {
  7. public function index()
  8. {
  9. $recipients = user()->recipients()->with('aliases')->latest()->get();
  10. $count = $recipients->count();
  11. $recipients->each(function ($item, $key) use ($count) {
  12. $item['key'] = $count - $key;
  13. });
  14. return view('recipients.index', [
  15. 'recipients' => $recipients,
  16. 'aliasesUsingDefault' => user()->aliasesUsingDefault
  17. ]);
  18. }
  19. public function store(StoreRecipientRequest $request)
  20. {
  21. $recipient = user()->recipients()->create(['email' => strtolower($request->email)]);
  22. $recipient->sendEmailVerificationNotification();
  23. return new RecipientResource($recipient->fresh());
  24. }
  25. public function destroy($id)
  26. {
  27. if ($id === user()->default_recipient_id) {
  28. return response('', 403);
  29. }
  30. $recipient = user()->recipients()->findOrFail($id);
  31. $recipient->delete();
  32. return response('', 204);
  33. }
  34. }