public function createAction()
{
if (!$this->getUser()->isAccountSuperAdmin() && !$this->getUser()->isAccountOwner()) {
throw new ApiErrorException(403, ErrorMessage::ERR_PERMISSION_VIOLATION, "Insufficient Permissions");
}
$object = $this->request->getJsonBody();
/* @var $envAdapter EnvironmentAdapter */
$envAdapter = $this->adapter('environment');
//Pre validates the request object
$envAdapter->validateObject($object, Request::METHOD_POST);
$env = $envAdapter->toEntity($object);
$env->id = null;
$env->accountId = $this->getUser()->getAccountId();
if (!isset($env->status)) {
$env->status = Account\Environment::STATUS_ACTIVE;
}
$envAdapter->validateEntity($env);
//Saves entity
$env->save();
//Responds with 201 Created status
$this->response->setStatus(201);
return $this->result($envAdapter->toData($env));
}