RecipientController.php 1.1 KB

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