File: /mnt/data/ghayatcom/ghayatcom-api/app/Http/Controllers/Controller.php
<?php
namespace App\Http\Controllers;
use App\{AppointmentLogs};
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller as BaseController;
use Validator;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function __construct()
{
}
public static function appointmentLogsSave($arrLogs)
{
AppointmentLogs::create($arrLogs);
}
public static function customValidation($request, $rules, $common = null)
{
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
$common_data = ($common) ? $common : '';
return self::sentResponse(422, [], $validator->errors()->all());
}
}
public static function sentResponse($code, $data, $message = null)
{
$response_array = [
'code' => $code,
'message' => [$message],
'data' => (! empty($data)) ? $data : (object) [],
];
return response()->json(self::convertNullsAsEmpty($response_array), $code);
}
public static function errorResponse($code, $message = null)
{
$response_array = [
'code' => $code,
'data' => null,
'message' => $message,
];
return response()->json($response_array, $code);
}
public static function convertNullsAsEmpty($response_array)
{
array_walk_recursive($response_array, function (&$value, $key) {
$value = is_int($value) ? (string) $value : $value;
$value = $value === null ? '' : $value;
});
return $response_array;
}
/**
* @param $validation_error_message
* @return \Illuminate\Http\JsonResponse
*/
public static function send_bad_request_response($error_message, $common = NULL)
{
$response_array = [
"code" => 400,
"message" => $error_message,
"data" => [
'error' =>
[
'user_message' => 'Required parameters need to be filled and it must be valid.',
'internal_message' => $error_message,
'code' => '1002',
],
],
"common" => ($common) ? $common : '',
];
return response()->json(self::convertNullsAsEmpty($response_array), 400);
}
}