Edit File: AddressController.php
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\User; use App\Models\Address; use App\Traits\ApiTrait; use App\Http\Resources\AddressesResource; use Illuminate\Http\Request; use App\Http\Requests\Api\Address\StoreRequest; use App\Http\Requests\Api\Address\UpdateRequest; use App\Http\Requests\Api\Address\DeleteRequest; use Illuminate\Support\Facades\Validator; 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