Scalr\Api\Service\User\V1beta0\Controller\Farms::getDefaultCriteria PHP Метод

getDefaultCriteria() приватный Метод

Gets default search criteria according environment scope
private getDefaultCriteria ( ) : array
Результат array Returns array of the search criteria
    private function getDefaultCriteria()
    {
        $environment = $this->getEnvironment();
        $criteria = [['envId' => $environment->id]];
        if (!$this->hasPermissions(Acl::RESOURCE_FARMS)) {
            $where = [];
            $farm = new Farm();
            $farmTeam = new FarmTeam();
            if ($this->hasPermissions(Acl::RESOURCE_OWN_FARMS)) {
                $where[] = "{$farm->columnOwnerId()} = " . $farm->qstr('ownerId', $this->getUser()->id);
            }
            if ($this->hasPermissions(Acl::RESOURCE_TEAM_FARMS)) {
                $join[] = "\n                    LEFT JOIN {$farmTeam->table('ft')} ON {$farmTeam->columnFarmId('ft')} = {$farm->columnId()}\n                    LEFT JOIN `account_team_users` `atu` ON `atu`.`team_id` = {$farmTeam->columnTeamId('ft')}\n                    LEFT JOIN `account_team_envs` `ate` ON `ate`.`team_id` = {$farmTeam->columnTeamId('ft')} AND `ate`.`env_id` = {$farm->columnEnvId()}\n                ";
                $where[] = "`atu`.`user_id` = " . $farmTeam->db()->qstr($this->getUser()->id) . " AND `ate`.`team_id` IS NOT NULL";
            }
            if (!empty($where)) {
                $criteria[Farm::STMT_WHERE] = '(' . join(' OR ', $where) . ')';
            }
            if (!empty($join)) {
                if (empty($criteria[Farm::STMT_FROM])) {
                    $criteria[Farm::STMT_FROM] = $farm->table();
                }
                $criteria[Farm::STMT_FROM] .= implode(' ', $join);
            }
        }
        return $criteria;
    }