/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $lastBackup = Backup::orderBy('created_at', 'desc')->first();
     if (!$lastBackup) {
         $this->createNewBackup();
     } else {
         $lastBackupDate = new DateTime($lastBackup->created_at);
         $nowDate = new DateTime();
         $interval = $lastBackupDate->diff($nowDate);
         if ($interval->h >= 24) {
             $this->createNewBackup;
         }
     }
     return $next($request);
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     if (!Auth::check()) {
         return response()->json($this->notLoginJson, 401);
     } else {
         $user = Auth::user();
         if (!$user->hasRole('admin')) {
             return response()->json($this->needPermissionsJson, 401);
         }
     }
     $backups = Backup::orderBy('created_at', 'desc')->get();
     foreach ($backups as $backup) {
         $backup->setPrettyName();
     }
     return response()->json($backups);
 }