public function newQueue(Request $request, Response $response, array $args) { global $database; $err = new \Malmanger\Mpmq\Util\ErrorHandler(); $data = $request->getParsedBody(); $this->log->debug("newQueue data=" . print_r($data, true)); // Check for mandatory parameters and set defaults $id = null; $name = null; $timeout = null; $description = ''; $key = "id"; if (!array_key_exists($key, $data)) { $err->addMissing($key); } else { $id = $data["id"]; } $key = "name"; if (!array_key_exists($key, $data)) { $err->addMissing($key); } else { $name = $data["name"]; } $key = "description"; if (array_key_exists($key, $data)) { $description = $data[$key]; } $key = "timeout"; if (array_key_exists($key, $data)) { $timeout = $data[$key]; } $queue = new DbQueue($id, $name, $description, $timeout); if ($queue->queueExists()) { $err->addExists($id); } if ($err->getLevel() > 0) { return $err->getErrorResponse($response); } if (!$queue->save()) { $err->addDbUpdate("newQueue"); } if ($err->getLevel() > 0) { return $err->getErrorResponse($response); } else { $data = array(); $data['id'] = $queue->getId(); $data['name'] = $queue->getName(); $data['description'] = $queue->getDescription(); $data['timeout'] = $queue->getTimeout(); $resp = new \Malmanger\Mpmq\Util\ResponseHandler($data); return $resp->getResponse($response); } }