Viewing File: /home/ubuntu/vedadeals-backend-base/app/Http/Middleware/UserApiValidation.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Validator, DB, Setting, Log, Cache, Carbon\Carbon;
use App\Helpers\Helper;
use App\Models\User;
class UserApiValidation
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
$basic_rules = [
'token' => 'required|min:5',
'id' => 'required|integer|exists:users,id'
];
$custom_errors = [
'id' => api_error(1005),
'exists' => api_error(1002)
];
$validator = Validator::make($request->all(), $basic_rules, $custom_errors);
if($validator->fails()) {
$error = implode(',', $validator->messages()->all());
$response = ['success' => false, 'error' => $error, 'error_code' => 1002];
return response()->json($response, 200);
} else {
$token = $request->token; $user_id = $request->id;
if (!Helper::is_token_valid(USER, $user_id, $token, $error)) {
return response()->json($error, 200);
} else {
$user = User::find($request->id);
if(!$user) {
$response = ['success' => false, 'error' => api_error(1002), 'error_code' => 1002];
return response()->json($response, 200);
}
if($user->status == USER_DECLINED) {
$user->update(['is_logged_in' => NO]);
$response = ['success' => false, 'error' => api_error(1000), 'error_code' => 1000];
return response()->json($response, 200);
}
}
}
return $next($request);
}
}
Back to Directory
File Manager