Scalr\Api\Service\Account\V1beta0\Controller\Environments::createAction PHP Метод

createAction() публичный Метод

Create a new Environment in this Account
public createAction ( )
    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));
    }