public function post(\Request $request) { $factory = new Factory(); $view = new \View\JsonView(array('success' => true)); if (!$request->isVar('command')) { throw new \Exception('Bad command'); } switch ($request->getVar('command')) { case 'ban': $factory->ban($request->getVar('id'), $request->getVar('reason')); break; case 'unban': $factory->unban($request->getVar('id')); break; case 'ineligible': $factory->ineligible($request->getVar('id'), $request->getVar('reason')); break; case 'eligible': $factory->eligible($request->getVar('id')); break; case 'delete': $factory->delete($request->getVar('id')); break; case 'assign': if (!$this->assign()) { $view = new \View\JsonView(array('success' => false)); } break; default: throw new \Exception('Bad command:' . $request->getVar('command')); } $response = new \Response($view); return $response; }