<?php namespace App\Abstracts\Http; use App\Traits\Jobs; use App\Traits\Permissions; use App\Traits\Relationships; use Dingo\Api\Exception\ResourceException; use Dingo\Api\Routing\Helpers; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Http\Request; use Illuminate\Routing\Controller as BaseController; abstract class ApiController extends BaseController { use AuthorizesRequests, Jobs, Helpers, Permissions, Relationships, ValidatesRequests; /** * Instantiate a new controller instance. */ public function __construct() { $this->assignPermissionsToController(); } /** * Create the response for when a request fails validation. * * @param \Illuminate\Http\Request $request * @param array $errors * @return \Symfony\Component\HttpFoundation\Response */ protected function buildFailedValidationResponse(Request $request, array $errors) { if ($request->expectsJson()) { throw new ResourceException('Validation Error', $errors); } return redirect()->to($this->getRedirectUrl())->withInput($request->input())->withErrors($errors, $this->errorBag()); } }