user()->addresses; $data = $addresses->map(fn ($address) => UserAddressResponseDTO::fromModel($address)); return AddressResource::collection($data); } /** * Store a newly created resource in storage. */ public function store(AddUserAddressRequest $request, SaveUserAddressAction $action) { sleep(5); return new AddressResource($action->execute(AddUserAddressRequestDTO::fromRequest($request), $request->user())); } /** * Display the specified resource. */ public function show(Address $address) { return new AddressResource(UserAddressResponseDTO::fromModel($address)); } /** * Update the specified resource in storage. */ public function update(UpdateUserAddressRequest $request, Address $address, UpdateUserAddressAction $action) { sleep(5); return new AddressResource($action->execute(UpdateUserAddressRequestDTO::fromRequest($request), $address)); } /** * Remove the specified resource from storage. */ public function destroy(Address $address, DeleteUserAddressAction $action) { return $action->execute($address); } }