Scalr\Api\Service\User\V1beta0\Adapter\FarmAdapter::_project PHP Method

_project() public method

public _project ( $from, $to, $action )
    public function _project($from, $to, $action)
    {
        switch ($action) {
            case static::ACT_CONVERT_TO_OBJECT:
                /* @var $from Farm */
                if (\Scalr::config('scalr.analytics.enabled')) {
                    $to->project = ['id' => $from->settings[FarmSetting::PROJECT_ID]];
                }
                break;
            case static::ACT_CONVERT_TO_ENTITY:
                /* @var $to Farm */
                if (\Scalr::config('scalr.analytics.enabled')) {
                    $projectId = ApiController::getBareId($from, 'project');
                    if (!isset($projectId)) {
                        throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_STRUCTURE, "Missed project.id property");
                    }
                    $to->settings[FarmSetting::PROJECT_ID] = $projectId;
                }
                break;
            case static::ACT_GET_FILTER_CRITERIA:
                $farm = new Farm();
                $farmSetting = new FarmSetting();
                $projectId = ApiController::getBareId($from, 'project');
                return [AbstractEntity::STMT_FROM => "\n                        JOIN  {$farmSetting->table('fsp')}  ON  {$farmSetting->columnFarmId('fsp')}  =  {$farm->columnId()}\n                            AND  {$farmSetting->columnName('fsp')}  = " . $farmSetting->qstr('name', FarmSetting::PROJECT_ID) . "\n                    ", AbstractEntity::STMT_WHERE => "{$farmSetting->columnValue('fsp')}  = " . $farmSetting->qstr('value', $projectId)];
                break;
        }
    }