user() ->addresses() ->where('address_type','customer') ->get(); return response([ 'data' => AddressResource::collection($addresses), ]); } public function recipients(Request $request){ $addresses = $request->user() ->addresses() ->where('address_type','recipient') ->get(); return response([ 'data' => AddressResource::collection($addresses), ]); } public function createAddress(AddressRequest $request) { $data = $request->all(); $data['address1'] = implode(PHP_EOL, array_filter($data['address1'])); $data['customer_id'] = $request->user()->id; // $data['country'] = 'Turkmenistan'; // $data['postcode'] = '0000'; $data['first_name'] = $request->user()->first_name; $data['last_name'] = $request->user()->last_name; $data['company_name'] = $request->get('note'); $data['address_type'] = 'customer'; $customerAddress = $this->customerAddressRepository->create($data); return response([ 'data' => new AddressResource($customerAddress), 'message' => 'Your address has been created successfully.', ]); } public function createRecipient(RecipientRequest $request){ $data = $request->all(); $data['address_type'] = 'recipient'; $data['customer_id'] = $request->user()->id; $data['address1'] = 'recipient'; $data['city'] = 'recipient'; $customerAddress = $this->customerAddressRepository->create($data); return response([ 'data' => new AddressResource($customerAddress), 'message' => 'Your recipient has been created successfully.', ]); } public function updateAddress(AddressRequest $request, int $id) { $data = $request->all(); $data['address1'] = implode(PHP_EOL, array_filter($data['address1'])); $data['company_name'] = $request->get('note'); $customerAddress = $this->customerAddressRepository->update($data, $id); return response([ 'data' => new AddressResource($customerAddress), 'message' => 'Your address has been updated successfully.', ]); } public function updateRecipient(RecipientRequest $request, int $id) { $recipient = $this->customerAddressRepository->update($request->all(), $id); return response([ 'data' => new AddressResource($recipient), 'message' => 'Your recipient has been updated successfully.', ]); } }