Overview
  • Namespace
  • Class

Namespaces

  • App
    • Http
      • Controllers
        • Brush
          • Admin
            • HealthCheck
          • Auth
          • ReferenceData
          • User
      • Middleware

Classes

  • App\Http\Controllers\ApiController
  • App\Http\Controllers\Brush\Admin\HealthCheck\ApiCheckController
  • App\Http\Controllers\Brush\Admin\HealthCheck\DatabaseCheckController
  • App\Http\Controllers\Brush\Admin\RolesController
  • App\Http\Controllers\Brush\Admin\UserController
  • App\Http\Controllers\Brush\Auth\LoginController
  • App\Http\Controllers\Brush\Auth\RegisterController
  • App\Http\Controllers\Brush\ReferenceData\CommonReferenceController
  • App\Http\Controllers\Brush\User\PasswordController
  • App\Http\Controllers\Brush\User\ProfileController
  • App\Http\Controllers\Controller
  • App\Http\Middleware\Authenticate
  • App\Http\Middleware\AuthenticateAdmin
  • App\Http\Middleware\ExampleMiddleware
  1 <?php namespace App\Http\Controllers;
  2 
  3 use Illuminate\Http\Response as IlluminateResponse;
  4 
  5 class ApiController extends Controller {
  6 
  7     /**
  8      * @var int
  9      */
 10     protected $statusCode = IlluminateResponse::HTTP_OK;
 11 
 12     /**
 13      * @return mixed
 14      */
 15     public function getStatusCode()
 16     {
 17         return $this->statusCode;
 18     }
 19 
 20     /**
 21      * @param mixed $statusCode
 22      * @return mixed
 23      */
 24     public function setStatusCode($statusCode)
 25     {
 26         $this->statusCode = $statusCode;
 27 
 28         return $this;
 29     }
 30 
 31     /**
 32      * @param string $message
 33      * @return mixed
 34      */
 35     public function respondNotFound($message = 'Page Not Found.')
 36     {
 37         return $this->setStatusCode(IlluminateResponse::HTTP_NOT_FOUND)->respondWithError($message);
 38     }
 39 
 40     /**
 41      * @param string $message
 42      * @return mixed
 43      */
 44     public function respondInternalError($message = 'Dogodila se greška!')
 45     {
 46         return $this->setStatusCode(IlluminateResponse::HTTP_INTERNAL_SERVER_ERROR)->respondWithError($message);
 47     }
 48 
 49     /**
 50      * @param $message
 51      * @return mixed
 52      */
 53     public function respondCreated($message)
 54     {
 55         return $this->setStatusCode(IlluminateResponse::HTTP_CREATED)->respond([
 56             'message' => $message
 57         ]);
 58     }
 59 
 60     /**
 61      * @param $message
 62      * @return \Illuminate\Http\JsonResponse
 63      */
 64     public function respondOk($message)
 65     {
 66         return $this->respond([
 67             'message' => $message
 68         ]);
 69     }
 70 
 71     /**
 72      * @param string $message
 73      * @return mixed
 74      */
 75     public function respondWithValidationError($message = 'Neuspješna validacija!')
 76     {
 77         return $this->setStatusCode(IlluminateResponse::HTTP_UNPROCESSABLE_ENTITY)->respondWithError([
 78             'message' => $message
 79         ]);
 80     }
 81 
 82     /**
 83      * @param $data
 84      * @param array $headers
 85      * @return \Illuminate\Http\JsonResponse
 86      */
 87     public function respond($data, $headers = [])
 88     {
 89         return response()->json($data, $this->getStatusCode(), $headers);
 90     }
 91 
 92     /**
 93      * @param $message
 94      * @return \Illuminate\Http\JsonResponse
 95      */
 96     public function respondWithError($message)
 97     {
 98         return $this->respond([
 99             'error' => [
100                 'message'     => $message,
101                 'status_code' => $this->getStatusCode()
102             ]
103         ]);
104     }
105 
106     public function respondWithCORS($data)
107     {
108         return $this->respond($data, $this->setCORSHeaders());
109     }
110 
111     private function setCORSHeaders()
112     {
113         $header['Access-Control-Allow-Origin'] = '*';
114         $header['Allow'] = 'GET, POST, OPTIONS';
115         $header['Access-Control-Allow-Headers'] = 'Origin, Content-Type, Accept, Authorization, X-Request-With';
116         $header['Access-Control-Allow-Credentials'] = 'true';
117 
118         return $header;
119     }
120 
121 }
API documentation generated by ApiGen