46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
 | 
						|
namespace Modules\Admin\app\Http\Controllers;
 | 
						|
 | 
						|
use App\Http\Controllers\Controller;
 | 
						|
use App\Models\Contact;
 | 
						|
use App\Traits\HasFilterRequest;
 | 
						|
use App\Traits\HasOrderByRequest;
 | 
						|
use App\Traits\HasSearchRequest;
 | 
						|
use Illuminate\Http\Request;
 | 
						|
use Modules\Admin\app\Http\Requests\ContactRequest;
 | 
						|
 | 
						|
class ContactController extends Controller
 | 
						|
{
 | 
						|
    use HasOrderByRequest;
 | 
						|
    use HasFilterRequest;
 | 
						|
    use HasSearchRequest;
 | 
						|
 | 
						|
    public function get(ContactRequest $request)
 | 
						|
    {
 | 
						|
        $contact = new Contact;
 | 
						|
 | 
						|
        // Order by
 | 
						|
        $this->orderByRequest($contact, $request);
 | 
						|
 | 
						|
        $this->searchRequest(
 | 
						|
            builder: $contact,
 | 
						|
            value: $request->get('search'),
 | 
						|
            fields: [
 | 
						|
                'name',
 | 
						|
                'phone',
 | 
						|
                'company',
 | 
						|
                'email',
 | 
						|
 | 
						|
            ]
 | 
						|
        );
 | 
						|
 | 
						|
        $responseData = array_merge(
 | 
						|
            $contact->paginate($request->get('per_page'))->toArray(),
 | 
						|
            ['status' => true]
 | 
						|
        );
 | 
						|
 | 
						|
        return response()->json($responseData);
 | 
						|
    }
 | 
						|
}
 |