/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     session_start();
     if (!isset($_SESSION['AUTH']) || $_SESSION['AUTH'] == false) {
         \App::abort(500, 'User not authenticated');
     }
     $post = file_get_contents('php://input');
     $data = json_decode($post, true);
     if ($data['name'] != null && $data['password'] != null && $data['instanceId'] != null) {
         //check if user with same name exists in that instance
         if (instanceUser::where('name', $data['name'])->where('instanceId', $data['instanceId'])->exists()) {
             \App::abort(500, 'Username already exists');
         }
         //create a new instance user, expects name and instanceId
         $i = new instanceUser();
         $i->id = \Uuid::generate(4);
         $i->name = $data['name'];
         $i->instanceId = $data['instanceId'];
         try {
             $inst = Instance::find($i->instanceId);
             //emit request to make db
             $redis = \Redis::connection();
             // Using the Redis extension provided client
             $redis->publish('demeter', json_encode(array('command' => 'createInstanceUser', 'vm' => $inst->vmId, 'instanceId' => $inst->id, 'instanceName' => $inst->name, 'username' => $i->name, 'password' => $data['password'], 'netId' => $_SESSION['AUTH_USER'])));
             if ($i->save()) {
                 echo "success";
             } else {
                 \App::abort(500, 'User could not be created, please contact an Administrator');
             }
         } catch (Exception $e) {
             \App::abort(500, 'User could not be created, please contact an Administrator');
         }
     } else {
         \App::abort(500, 'User could not be created, please contact an Administrator');
     }
 }