46 lines
1.0 KiB
PHP
46 lines
1.0 KiB
PHP
<?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);
|
|
}
|
|
}
|