aliases()->with('recipients')->latest()->get()); } public function show($id) { $alias = user()->aliases()->findOrFail($id); return new AliasResource($alias->load('recipients')); } public function store(StoreAliasRequest $request) { if (user()->hasExceededNewAliasLimit()) { return response('', 429); } $uuid = Uuid::uuid4(); $alias = user()->aliases()->create([ 'id' => $uuid, 'email' => $uuid . '@' . $request->domain, 'local_part' => $uuid, 'domain' => $request->domain, 'description' => $request->description ]); return new AliasResource($alias->refresh()->load('recipients')); } public function update(UpdateAliasRequest $request, $id) { $alias = user()->aliases()->findOrFail($id); $alias->update(['description' => $request->description]); return new AliasResource($alias->refresh()->load('recipients')); } public function destroy($id) { $alias = user()->aliases()->findOrFail($id); $alias->recipients()->detach(); $alias->delete(); return response('', 204); } }