%PDF- %PDF-
Direktori : /var/www/html/geotechnics/api/app/Http/Controllers/Api/v1/ |
Current File : /var/www/html/geotechnics/api/app/Http/Controllers/Api/v1/ContactRequestsController.php |
<?php namespace App\Http\Controllers\Api\v1; use App\Http\Controllers\Api\ApiController; use App\Http\Requests\Api\v1\ContactRequest\ContactRequestRequest; use App\Models\ContactRequest; use App\Transformers\ContactRequestTransformer; use Illuminate\Http\Request; use Illuminate\Pagination\LengthAwarePaginator; class ContactRequestsController extends ApiController { public function index(Request $request) { /** @var LengthAwarePaginator $result */ $result = ContactRequest::query(); if ($search = $request->get('search')) { $result = $result->where('email', 'like', "%$search%") ->orWhere('name', 'like', "%$search%") ->orWhere('enquiry', 'like', "%$search%"); } $result = $result->orderBy('created_at', 'desc') ->paginate($request->get('perPage')); return $this->withPaginated($result, new ContactRequestTransformer()); } public function store(ContactRequestRequest $request) { /** @var ContactRequest $contactRequest */ $contactRequest = ContactRequest::query() ->create($request->only([ 'name', 'email', 'enquiry', ])); return $this->item($contactRequest, new ContactRequestTransformer()); } public function destroy(ContactRequest $contactRequest) { try { $contactRequest->delete(); return response()->json([], 204); } catch (\Exception $exception) { return $this->wrongArguments([ 'message' => $exception->getMessage(), ]); } } }