Edit File: AddressController.php
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Http\Requests\Api\Address\DeleteRequest; use App\Http\Requests\Api\Address\StoreRequest; use App\Http\Requests\Api\Address\UpdateRequest; use App\Http\Resources\AddressesResource; use App\Models\Address; use App\Models\User; use App\Traits\ApiTrait; class AddressController extends Controller { use ApiTrait; public function addAddress(StoreRequest $request) { $user = auth('api')->user(); Address::create($request->validated() + ['user_id' => $user->id]); $msg = trans('address.successfully_added'); return $this->successMsg($msg); } public function editAddress(UpdateRequest $request) { $user = auth('api')->user(); $address = $user->addresses()->where('id', $request['address_id'])->first(); if (!$address) { $msg = trans('address.not_available'); return $this->failMsg($msg); } $address->update($request->validated()); $msg = trans('address.successfully_updated'); return $this->successMsg($msg); } public function deleteAddress(DeleteRequest $request) { $user = auth('api')->user(); $address = $user->addresses()->where('id', $request['address_id'])->first(); if (!$address) { $msg = trans('address.not_available'); return $this->failMsg($msg); } $address->delete(); $msg = trans('address.successfully_deleted'); return $this->successMsg($msg); } public function addressBook() { $user = auth('api')->user(); $addresses = $user->addresses()->orderBy('created_at', 'desc')->get(); $data['addresses'] = AddressesResource::collection($addresses); return $this->dataReturn($data); } }
Back to File Manager