Zendesk\API\Resources\Core\OrganizationMemberships::getRoute PHP Method

getRoute() public method

Returns a route and replaces tokenized parts of the string with the passed params
public getRoute ( $name, array $params = [] ) : mixed
$name
$params array
return mixed The default routes, or if $name is set to `findAll`, any of the following formats based on the parent chain GET /api/v2/groups.json GET /api/v2/users/{user_id}/groups.json
    public function getRoute($name, array $params = [])
    {
        $lastChained = $this->getLatestChainedParameter([self::class]);
        if (empty($lastChained) || !in_array($name, ['findAll', 'find', 'create', 'delete'])) {
            return parent::getRoute($name, $params);
        }
        $chainedResourceId = reset($lastChained);
        $chainedResourceNames = array_keys($lastChained);
        $chainedResourceName = (new $chainedResourceNames[0]($this->client))->resourceName;
        if ($name === 'findAll') {
            if (in_array($chainedResourceName, ['users', 'organizations'])) {
                return "{$chainedResourceName}/{$chainedResourceId}/{$this->resourceName}.json";
            }
            return "{$this->resourceName}.json";
        } elseif (in_array($name, ['find', 'delete'])) {
            if ($chainedResourceName === 'users') {
                return "{$chainedResourceName}/{$chainedResourceId}/{$this->resourceName}/{$params['id']}.json";
            }
            return "{$this->resourceName}/{$params['id']}.json";
        } elseif ($name === 'create') {
            if ($chainedResourceName === 'users') {
                return "{$chainedResourceName}/{$chainedResourceId}/{$this->resourceName}.json";
            }
            return "{$this->resourceName}.json";
        }
    }